Overview
Senior FullStack Engineer on WPP Open, WPP's AI-enabled marketing operating system. You own a component or service from design and API to tests and production health, mentor other engineers, and build the React interfaces for the features you deliver. The role is backend-heavy.
What you'll do
- Design, build, test and ship production code every sprint, test-first.
- Own a component or service end to end: its design, OpenAPI contract, data model, Playwright test suite, monitoring and runbook.
- Write design documents and architecture decision records for your component, and review other engineers' code with rigour and care.
- Choose between AWS Lambda and Kubernetes for your workloads, and build and maintain the CI/CD pipeline that ships them.
- Lead triage when your component fails, write post-incident reviews and fix the underlying causes.
- Build production AI features on the Anthropic and OpenAI APIs, and maintain your component's Claude Code configuration and MCP server.
- Explain technical trade-offs to product and delivery colleagues, including colleagues in other regions.
- Mentor less experienced engineers and help new joiners become productive quickly.
What you'll need
- Bachelor's degree or equivalent practical experience.
- 5 years of professional software development in TypeScript and Node.js or Python.
- 3 years of experience testing, maintaining or launching production software, and 1 year of experience with software design and architecture.
- Experience working in globally distributed teams across time zones, with stakeholders in other regions.
- Backend language and craft: idiomatic, strictly typed backend code in TypeScript with Node.js or in Python, with runtime validation at service boundaries using Zod or Pydantic; understanding of concurrency well enough to recognise blocking work and profile a misbehaving service; in-depth knowledge of NestJS, Fastify or FastAPI.
- React and frontend: choose and justify state-management approaches in React, keep rendering fast through memoisation, lazy loading and code splitting, meet WCAG AA accessibility on the features you build, contribute components to the design system, and build interfaces that stream responses from AI services.
- APIs and data formats: design REST APIs with OpenAPI and own the contract for your service, including versioning, backwards compatibility, idempotency keys, rate limiting and webhooks; know when to use JSON and when to use Protocol Buffers; check schema compatibility automatically in your pipeline.
- Data: design PostgreSQL schemas and change them without downtime, tune slow queries and understand transaction isolation; model data well in both DynamoDB and MongoDB; use Redis for caching; choose the right store for each workload with clear reasons.
- Asynchronous systems and reliability: design producers and consumers on queues such as SQS and BullMQ or Celery, with retries, dead-letter queues and idempotent handlers so that at-least-once delivery is safe; recognise when these safeguards are needed.
- Cloud and platform: design services on AWS Lambda with sensible function boundaries, concurrency settings, dead-letter queues and Step Functions or EventBridge where needed, all defined as code with AWS CDK or SAM; operate workloads on Kubernetes, including Helm, autoscaling, rollouts and rollbacks; choose between serverless and containers for each workload.
- Testing and quality: practise test-driven development applied to whole-component design; write integration and contract tests with Testcontainers; own your component's Playwright test suite, including test data, parallel runs and removing flaky tests.
- Observability and performance: instrument services with OpenTelemetry; own the Datadog monitors, alerts and CloudWatch alarms for your component; lead triage and post-incident reviews; set performance budgets, profile under realistic load, and find memory leaks and blocking work in production.
- Security and identity: implement OAuth 2.0 and OpenID Connect end to end, including the authorisation-code flow with PKCE and client credentials for service-to-service calls; design role based access control; rotate secrets and keys; secure the supply chain with dependency scanning and static analysis in the pipeline.
- Architecture and design: design a service from a short brief; write design documents and architecture decision records that name the trade-offs; design for backwards compatibility so changes do not break dependent services.
- Engineering practices: work trunk-based with GitHub Flow and hold others to it in code review; build and maintain CI/CD pipelines; pin and upgrade every dependency on a regular cadence; write documentation for the people who will read it.
- AI-first engineering and LLMs: build production features on the Anthropic and OpenAI APIs using tool calling, structured output and evaluations; track token usage and cost; maintain the Claude Code configuration for your component, including CLAUDE.md, skills and subagents; build an MCP server that exposes your service to AI agents.
- Communication, collaboration and initiative: communicate clearly and concisely; explain technical trade-offs to product, design and delivery colleagues in terms they can act on; understand problems quickly and confirm shared understanding before acting; collaborate well across locations and time zones, working asynchronously and handing over cleanly; proactively spot problems, propose solutions and see them through.
- Leadership and behaviours: review others' code with rigour and care; mentor less experienced engineers; disagree openly and then commit fully to the decision; say "I don't know" when you don't, and dig in until you do.
Nice to have
- B.Tech or B.E. in Computer Science, Information Technology or a related field.
- Experience with monorepo tooling such as Nx or Turborepo at scale.
- Experience with Kafka and change data capture.
- Experience with behaviour-driven development using Cucumber.
- Experience with Bigtable.
- Experience shipping an AI agent with LangGraph, Google ADK or the Anthropic Agent SDK.
- Experience configuring an identity provider such as Okta, Keycloak or Cognito.
Details
- Location: Gurugram.
- Work mode: hybrid, with teams in the office around four days a week.
- Teams build and run the product alongside colleagues in the UK and Europe.
Read the full description and apply on the company’s own careers page.