Senior QA Engineer - Mobile app, AI backend and authentication service
We are hiring a QA engineer to own quality across a consumer product and the backend services behind it. The product has three parts: the clients, today a React Native mobile app for iOS and Android and a web application built on Next.js, a set of serverless backend services that generate content, run a chat assistant on large language models and send push notifications, and a standalone authentication service that issues sessions and tokens. Each part lives in its own repository, is deployed independently, and talks to the others through written contracts. The engineering team is small, and pull requests come from both engineers and AI coding agents. You are the human gate on what reaches users.
The scope described here is the starting point. The product and the team are both growing, and we expect the role to take on more as they do: further services and clients as they are built, release management, test infrastructure, and possibly the hiring and leading of additional QA engineers. Someone who wants a role that widens over time will find one here.
Responsibilities
- The backend services. Node and Python services on AWS Lambda behind CloudFront, streaming responses over Server-Sent Events, backed by Aurora DSQL with schema migrations in two toolchains. Several of them call large language models, so their output is probabilistic and has to be judged against a behaviour baseline rather than an exact expected value.
- The authentication service. A better-auth based service issuing sessions and short-lived JWTs, with a published key set, running across several AWS Regions.
- The seams between them. Push payloads, sign-in and token exchange, and other flows are specified once and implemented on two or three sides. Drift between the sides fails silently, and finding it is a large part of this job.
What you will do
The duties below describe the shape of the work rather than a fixed list. You will have latitude to decide how quality is measured and enforced here, and we expect the approach to change as you learn the systems. Duties outside this list will be added as the product grows.
- Decide what a release has to pass before it ships, write that down, and run it. Sign off on mobile releases and backend deployments, or document why a release went out without sign-off.
- Evaluate the behaviour of the AI features. Maintain a baseline of expected behaviour, run changes against it, judge the results, and turn each miss into a reproducible report an engineer can act on.
- Test authentication and security paths: rate limits, expiry, token lifetimes, key rotation, replay and enumeration attempts, and transport requirements.
- Test data changes. Exercise schema migrations against a local database stage on existing data and from a clean install before they reach a shared environment.
- Measure what matters. Where a number bounds something a user can feel, such as latency to first response, push delivery time or cold-start time, measure it and record how.
- Report defects precisely: reproduction steps, build or commit, stage, expected and observed behaviour, and severity. Reproduce before filing.
- Review pull requests for testability and for missing or weakened tests, and push back when coverage is claimed but not present.
- Raise quality risks early, in writing, with a proposed mitigation.
How we judge quality here
- Verify the reason a check passed, not only that it passed. A status code, a content type and a matching byte count are all true of a file containing silence.
- Prove a new test fails before its fix lands. A test that cannot fail reassures without protecting.
- Treat the contract document as the source of truth and the code as a claim about it. When the two disagree, the ticket describes the disagreement, not one side of it.
Required Skills
- Four or more years testing mobile and web applications, with at least two on React Native or another cross-platform stack, on both iOS and Android.
- Hands-on API testing of REST and streaming endpoints, including authentication flows with bearer tokens and JWTs.
- Experience writing automated tests in TypeScript. You can read the code you are testing and write or repair a unit test.
- Working knowledge of SQL and of testing schema migrations against a live database.
- Comfortable with the AWS console and CLI at the level of reading CloudWatch logs, invoking a Lambda function and inspecting a CloudFront distribution.
- Git and GitHub pull-request workflow. You review test changes in PRs and keep CI green.
- Clear written English. Your reports and test plans are read by engineers and by leadership.
Preferred Skills
- Maestro, Detox or Appium against EAS-built binaries.
- Testing products that call large language models: prompt regression, output evaluation, cost and latency measurement.
- Crypto literacy: wallet addresses, tokens and on-chain transactions.
- Python at the level of running and adapting an existing evaluation script.
- Familiarity with Firebase Cloud Messaging and Apple Push Notification service.