The Software Automation / QA Engineer is responsible for building and maintaining the automated tests and build pipeline that enables the software development team to rapidly and efficiently deliver high quality software. This is a remote opportunity !
Working directly with the software development team, the Software Automation / QA Engineer is the last line of defense against implementation errors. They help ensure that all work delivered to customers meets a stringent definition of done. Their primary tool is UI, API and performance testing software, which uses scripting and recording tools to create a repeatable, reusable test process that can be run multiple times to ensure functionality does not change unexpectedly or degrade as the system is modified.
In contrast to traditional manual QA, the Software Automation / QA Engineer participates directly in the planning of work, and develops tests in parallel with the software developers writing application code. Upon code completion and functional review, the Software Automation / QA Engineer is the one who confirms that the code is bug free, and makes the decision whether the feature will be marked for release or not.
The successful candidate will have an inquisitive mind, disciplined approach and a knack for finding gaps in functionality. They will have the confidence and courage to push back when work does not meet our high standards. They will thrive on challenges and be highly motivated by their responsibility for protecting the team and product from failure.
Duties and Responsibilities
1. Demonstrate leadership and accountability at every level.
Suggest ways to improve our process and products, both during sprint retrospective and during the sprint. Refining existing approaches and suggesting new ones where appropriate.
Step up where needed with insight and guidance that will help build the skills and competence of the entire development organization. Call out problems in a constructive way that helps us find the path to success.
Take initiative and work in a self-driven way, while maintaining open lines of communication with other team members and remaining humble enough to ask for help when needed.
2. Create and update automated tests for new and changed functionality.
Develop automated UI tests in tools such as TestComplete that work through expected use cases and validate that functionality is working as expected in a simulated real world environment
Develop API tests using tools such as Postman to verify API behaviour
Test both success and failure states of the application
Gather system performance metrics and check for degradations
Evaluate system features and functionality to ensure an optimal user experience
Implement and manage mocking utilities for testing dependant systems
Run regression suites and interpret results to find unanticipated impacts from code changes
Investigate and troubleshoot test failures to help developers understand and correct issues
3. Perform manual testing of software when required.
4. Manage and maintain our build pipeline and other delivery infrastructure.
5. Participate in team Agile meetings (sprint planning, daily scrums, sprint reviews and retrospectives).
6. Perform other duties as requested.
Skills, Abilities & Expectations
Self-directed, confident and motivated. Able to work in step with (and in some cases, ahead of) the rest of the development team without micromanagement.
Excellent verbal and written communication skills. Comfortable speaking up in meetings and engaging in constructive debate on technical issues.
Works effectively in a highly collaborative team environment.
Detail oriented and patient.
Excellent problem-solving skills, including the ability to draw reasonable conclusions from incomplete information.
Demonstrates the following in their behaviours, actions and decisions:
Quality and accountability in all actions.
Fairness in all relationships.
Balance of success and lifestyle.
Promoting leadership at all levels.
Disciplined and committed focus on results.
Contributing to and sharing in prosperity.
Relationships are worth investing in.
Respect for the community and the environment.
Education & Experience
Experience in high-quality software development, especially the implementation of automated tests.
Comfortable in a Scrum/Kanban environment with emphasis on continuous delivery, automated testing, pair programming and rigorous peer review.
Job Training Apply