QA Automation Engineer

Job description

Our QA Automation role (like most at Phase) is quite a bit more challenging than QA roles in most software companies. Our product has far more complexity, edge cases, and integration challenges than most software. So it’s a role for QA Engineers who like a challenge!

Our QA Engineers are hands-on in the BDD process alongside designers, engineers, and product management. They’re implementing tests in JavaScript, and occasionally getting their hands (a little bit) dirty inside CI/CD pipelines as well.


Here's some of what we might expect of a new hire:

  • Capable to debug and modify the CI pipeline yourself (for testing purposes), and explain the product architecture, within 6-weeks.

  • Provide useful code review (consistent with our company’s standards) on other QA’s Merge Requests within 3-weeks.

  • Proactive participation in group planning, meetings, and other discussions within 1-week.

  • Capable of communicating a detailed explanation of our product vision (broken into specific features) within 4-weeks.

  • Complete a full BDD-process (alongside designers, product, and QA) correctly completing the QA role’s responsibilities in BDD, within 4-weeks.


This role is for highly-independent, proactive, user-centric engineers. Engineers who will work cross-functionally, think from the users’ perspective, and will take real ownership.

We’re looking for Engineers who step outside their comfort zone.


  • User-centric: considers their task “done” only when working code is in a user’s hands, and this user is having a great experience.

  • Collaborative: proactively gives/asks-for help and feedback, as early as possible. Works well both within team boundaries, and also across them.

  • Systems-Thinker: does the work required to plan work which fits into the larger architectural picture, and long-term product vision.

  • Proactive: speaks up, takes the initiative, and accepts personal responsibility for great user-centric outcomes. Believes nothing is ‘someone else’s problem.’

  • Positive Influence: outlook and behavior bring the team’s spirits up, not down. Positively contributes to the team’s energy and mood.

  • Responsible: thrives on a high level of autonomy and responsibility. Embraces accountability for outcomes.

  • Growth-Oriented: a constant and proactive learner. Allergic to “good enough” (差不多), always proactively, energetically improving.

  • Business-Thinker: takes responsibility to understand our market, strategy, roadmap, users, etc. Does not stop at just understanding today’s specification.

  • Clear Communicator: easily understands (and can be understood by) others in English. Good grammar is not required, the only requirement is that someone’s ideas can be clearly understood.

  • Cross-Functional Mindset: Collaborates hands-on with designers, product managers, other engineers, and even users. Does not restrict responsibility to implementing a specification which must be provided by others.

  • Sense of Urgency: Fights against an organization’s natural state: inertia. Knows that to build something great we all need to move mountains, now!

  • Adversity & Ambiguity: we’re tackling enormous, complex, important problems. We want to work with ambitious people who are not afraid to aim extremely high.

Job requirements

  • 3+ years experience in test automation using two or more of the following: webdriverio, selenium, puppeteer, cypress, robotjs

  • Experience testing with leading browsers (chrome, safari, edge).

  • 2+ years testing react-based front end applications using chai, mocha, jest

  • 2+ years compiling, testing and deploying nodejs based applications

  • 2+ years API testing experience

  • 2+ years behavior driven development (BDD) testing experience

  • 2+ yrs of CI/CD experience (Travis, Github Actions, Gitlab CI)

  • Proficient in Linux

We believe in fair Shared Ownership.