Description
Senior QA Engineer Mobile app, AI backend and authentication service
The role
We are hiring a QA engineer to own quality across a consumer product and the backend services behind it. 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. What you will test · The clients.
An Expo and React Native mobile application distributed through EAS, with localisation across several languages, push notifications with deep links, in-app audio playback, and an email one-time-password sign-in flow. js web application serving the same product in the browser, plus internal operator pages used by the team. · 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. · Plan and execute manual and exploratory testing across both mobile platforms, the web application in current browsers, and the backends, with attention to the flows that cross repository boundaries.
· Design and build automated coverage where it pays: device-level end-to-end tests for the mobile app, browser-level tests for the web application, API-level tests for the services, and checks that the cross-repository contracts still agree. Wire them into continuous integration and keep them trustworthy. · 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. What we need from you Required · 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. · Browser-level end-to-end testing with Playwright or Cypress, including responsive layouts and cross-browser checks.
· 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 · 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 existi
Employer contacts (email/phone/telegram) are hidden from the public preview —
send your CV, and we will connect you directly.