Deliver production-grade web and mobile applications at high velocity by pairing solid engineering fundamentals with heavy, disciplined use of AI coding tools. The engineer builds features end to end UI, API, data layer, deployment inside an architecture that is designed to scale horizontally, and is accountable for the correctness, security, and maintainability of everything they ship, including code an AI assistant generated. This is not a prompt-only role. The expectation is an engineer who ships 2–3× the normal output because they use AI well, and who can still read, debug, and rewrite the code by hand when the tool gets it wrong.
3. Mandatory requirements
3.1 Experience
- Minimum 2 years of professional development experience (internships and academic
projects excluded).
- At least one web application and one mobile application shipped to real users — live URL, App Store, or Play Store listing required as evidence.
- Demonstrable experience working on a system with real load: concurrent users,
background jobs, or a database beyond a few thousand rows.
3.2 Web application development
- Frontend: React (or Vue/Angular) with TypeScript. Component architecture, state management, client-side routing, responsive layout. -
- Meta-framework: Next.js, Remix, or Nuxt — server-side rendering, static generation,
and route-level data loading.
- Styling: Tailwind CSS or an equivalent utility/design-token system.
3.3 Mobile application development
- Cross-platform: React Native (Expo) or Flutter. Native iOS/Android experience is an
acceptable substitute if paired with web skills. -
- Platform essentials: navigation, offline/local storage, push notifications, deep linking,
permissions handling.
-Release mechanics: build signing, store submission, review-rejection handling,
OTA/CodePush-style updates.
3.4 Backend & data
- Node.js (NestJS, Express, or Fastify) or Python (FastAPI/Django) or Go. - - -
- REST API design; GraphQL exposure is an advantage.
- Relational database work in PostgreSQL or MySQL: schema design, normalisation,
migrations, indexing, and reading a query plan.
- Redis or equivalent for caching and session/rate-limit storage.
- Authentication and authorisation: OAuth 2.0 / OIDC, JWT handling, refresh-token
rotation, role-based access control.
3.5 Scalable architecture
The candidate must be able to explain and implement, not just name:
- Stateless service design that permits horizontal scaling behind a load balancer.
- Caching strategy across layers (CDN, application, database) and cache invalidation.
- Asynchronous processing with queues and workers (SQS, RabbitMQ, BullMQ, Celery,
Kafka).
- Database scaling basics: connection pooling, read replicas, pagination that doesn't
degrade, N+1 query avoidance.
- When a modular monolith is the right answer and when to split out a service — and the
cost of splitting too early.
- Idempotency, retries, timeouts, and graceful degradation on third-party failures.
- API versioning and backward compatibility, which matters more on mobile because old
app versions stay in the wild.
3.6 Cloud, delivery & operations
- One major cloud provider at working depth: AWS, GCP, or Azure. - - - -
- Docker; container deployment via ECS, Cloud Run, Kubernetes, or a managed PaaS.
- CI/CD pipelines (GitHub Actions, GitLab CI) including automated test and build gates.
- Infrastructure as code — Terraform, Pulumi, or CDK.
- Observability: structured logging, error tracking (Sentry), metrics and alerting; ability to
diagnose a production incident from telemetry.
- Git at a team level: trunk-based or GitFlow, meaningful commits, code review
participation.
3.7 AI-assisted development capability
This is the differentiating requirement and must be assessed directly, not taken on trust. - - Daily working fluency with at least two of: Claude Code, Cursor, GitHub Copilot,
Windsurf, Codex, or a comparable agentic coding tool.
- Specification skill: can decompose a feature into small, independently verifiable units
of work and write the context, constraints, and acceptance criteria an AI agent needs to
get it right on the first or second attempt.
- Context management: maintains project-level instruction files (AGENTS.md /
CLAUDE.md / rules files), curates what the model sees, and keeps the codebase legible
so generated code stays consistent with existing patterns.
- Critical review of generated output: reads every line before it merges. Specifically
checks for hallucinated APIs, non-existent packages, missing error handling,
unparameterised queries, exposed secrets, unsafe defaults, and quietly quadratic
algorithms.
- Knows when to stop prompting. Recognises the point at which re-prompting is slower
than writing the code manually, and switches.
- Test-first discipline with agents: uses tests and type checks as the verification loop
rather than relying on visual inspection of AI output.
- Dependency and licence hygiene: does not accept AI-suggested packages without
checking maintenance status, install size, and licence.
- Debugging without assistance: can find and fix a bug in unfamiliar code using a
debugger, logs, and reasoning, with AI tools switched off.
3.8 Non-technical requirements
- Written communication strong enough to specify work clearly — this correlates directly
with AI-assisted output quality. - -
- Comfortable with ambiguity and short feedback cycles; asks before building the wrong
thing.
- Takes ownership of defects reaching production; no deflection onto the tooling.
- Professional English, spoken and written.
4. Desirable (not disqualifying)
- Real-time features: WebSockets, SSE, presence, collaborative editing.
- Payments (Stripe, PayPal, local gateways) and PCI-adjacent handling.
- Multi-tenant SaaS data isolation patterns.
- Analytics and product instrumentation; A/B testing infrastructure.
- Accessibility to WCAG 2.1 AA.
- Performance work: Core Web Vitals, bundle budgets, mobile cold-start time.
- Open-source contributions or a public portfolio of AI-assisted builds.
- Exposure to LLM feature work inside products (RAG, embeddings, evals) as distinct
from AI-assisted coding.