The Opportunity Do you love building software that thrills your customers? Do you obsess over the quality of your software? Do you insist on the highest standards for the software your team develops? Are you an advocate of measurable quality? Can you dive deep and still maintain the big picture of your solution’s components and the customer experience? Well if this is you, then come join an energetic team of engineers building future of PDI software solutions. As a Test Automation Engineer (a Software Engineer In Test) you will be part of an Agile team and involved in all aspects of our projects’ lifecycle from inception through release working closely with the team’s product owner, architects and engineers. Your mandate on the team will be to: (a) maximize the quality, measurability and supportability of the production features being developed, (b) maximize the testability of the software by finding and closing gaps in test coverage (c) minimize the team’s overall internal defect escapes by shifting the balance of how we manage quality from end-of-cycle defect detection & containment (bug-finding & fix cycles) to up-front defect prevention (automation backed coverage of all our application features). You will not be writing production code. You will however be writing a lot of code in the form of tools, emulators, mocks, fakes, stubs, unit, component and integration tests. You will also be working closely with the Engineering DevOps teams helping enhance our integration with our continuous integration (CI) systems, our virtual labs and helping build out fully automated reporting of all the various project quality metrics with a vision of achieving “push-button” reporting of a project’s software quality and trending (code coverage, static analysis, test surface coverage). About PDI PDI helps convenience store retailers and petroleum wholesale marketers worldwide thrive in a digital economy with enterprise management software. Over 1,500 customers operating more than 200,000 locations trust PDI to optimize their operations, whether they are a single site, multi-site, dealer or a franchise operator. PDI’s enterprise software, wholesale and logistics management software solutions and retail back office systems have been designed around the evolving needs of customers for more than 35 years. We re-imagine enterprise management to help our customers transform their business and deliver exceptional experiences. Backed by the investment of TA Associates, Genstar and Insight Venture Partners, PDI is embarking upon an aggressive expansion strategy through internal investment in development as well as intensive M&A activity. The result will be a broader, more powerful, international company that serves customers across the entire supply chain, from wholesalers, to retailers, and every stop in between. Responsibilities Setting up test environments as required including client and web applications, services and databases Preparing Automation Test Plans for Service Level Tests, Integration Tests and UI tests as needed Be part of an Agile team, participate in all Agile ceremonies & activities and be accountable for the sprint deliverable Participate in Release/Iteration planning, smoke, feature and regression test planning Design & build automation smoke, feature & regression tests Review code with your peers for testability, supportability and look for full unit test coverage Write feature use cases in BDD to drive the creation of automated and/or manual test cases Build mocks, emulators, fakes, stubs and test case libraries driving towards 100% acceptance test coverage of stories Knowledge, Skills and Abilities Experience in software development and software automation Experience with : C# Experience with SQL based RDBMS, DML & DDL (e.g. MySQL, PostgreSQL, Microsoft SQL Server, MariaDB) Experience with: Selenium Experience working with CI/CD, scripting & DevOps tools Experience with BDD, gherkin language (SpecFlow, Cucumber) Highly motivated self-starter with a desire to help others and take action Requires strong written and verbal communication skills with the ability to translate technical concepts into non-technical terms Ability to independently work as a contributing member in a high-paced and focused team Ability to multi-task and prioritize tasks with competing deadlines Strong problem-solving and analytical skills with the ability to work under pressure Ability to socialize ideas and influence decisions without direct authority Collaborative in nature with a strong desire to dig in and learn independently and as well as through asking questions Considers ‘best-practice’ standards, as well as departmental policies and procedures Experience writing functional E2E automation tests Aware of CI, CD & DevOps tools & scripting (i.e. Jenkins, Bash, PowerShell, Chef, Puppet, Ansible, SaltStack Artifactory) Strong computer science fundamentals: OOP, design patters, data structures & algorithms Preferred: Fuel Retail, Wholesale or Logistics domain experience