About the role
Your primary responsibility will be the ownership of our automated testing suites for our web application (Django backend with React frontend on AWS).
This work is currently being shared by every engineer at the company, but they need guidance from a QA expert. Our automated tests are critical in our development process; deployments to production need passing automated tests in addition to help us deploy safely, and therefore frequently. Our engineers rely on our test suites to produce new features quickly with confidence that our codebase has minimal defects.
You will be working with the team at all stages of the feature development lifecycle, including:
- Discussing new features before development begins with Product, Design, and the rest of Engineering. Call out any uncertainties regarding expected behavior and how the feature will be tested
- Developing plans for automated testing, both for the “happy paths” and the tricky bits (we especially need help in the latter!)
- Work alongside the frontend and backend engineers during the development of the feature to write tests using Cypress, jest, react-testing-library, postman, etc or some other tool
- Assist with manual testing of a feature to identify any test cases missing from our automated plan before the feature's initial release
- During biweekly retrospectives or incident postmortems, brainstorm improvements to the app or our development processes to ensure our automated tests are high quality, achieve high coverage, and have minimal flakiness
- Review automated test changes made by other engineers to ensure best practices are being followed and instruct the engineers if necessary
- When other engineers are unsure why tests are failing, fix failures caused by flakiness and identify failures caused by actual bugs.
Other points relevant to this role:
- We are venture-backed with comfortable funding for our next stage of growth
- We are focused around NYC, but most of our employees are fully remote
- We offer a 401(k), unlimited PTO, and affordable dental, life, disability, and vision insurance
About you
- You have experience with (at least one, but preferably multiple) popular front end automated testing systems like Cypress, Selenium, Puppeteer, WebdriverIO, etc. You are able to make decisions on which testing tools the team should use and justify them. Experience with unit testing frameworks like Jest is a plus but not required
- You have experience with Git
- You strive to get flakiness as close to zero as possible. Test failures should be a canary in a coal mine for bugs in our app, and there can’t be trust if the tests fail for no reason.
- You understand when a feature needs to be tested end-to-end in a browser and when it needs to be tested with a unit test (or both)