We are looking for a frontend-focused engineer with hands- on backend experience to build the browser SDKs and user interfaces that advertisers and publishers interact with directly. You will own technical decisions for your product area and contribute reusable patterns, components, and tooling across teams. This is a hands- on individual contributor role. You will make architectural decisions, solve performance and reliability problems, and carry initiatives from requirements through production, while mentoring engineers and aligning teams.
Responsibilities:
- Frontend architecture: Design scalable, modular applications. Define component boundaries, state ownership, rendering strategy, and client data patterns such as caching, optimistic updates, retries, and recovery from connectivity failures, with offline support where required.
- Design systems: Build and evolve component libraries, design tokens, theming, and CSS standards with accessible APIs and clear versioning and migration paths.
- Build tooling: Improve bundler configuration, monorepo workflows, and frontend CI checks. Optimise code splitting, tree shaking, and bundle size.
- Web SDKs: Design and maintain browser SDKs and embeddable components with stable public APIs, controlled host-page impact, and privacy and consent compliance. Own SDK release strategy, including versioning, progressive rollout, feature flags, and deprecation, since published SDKs cannot be force-updated.
- Performance and quality: Improve loading performance, interaction responsiveness, and memory efficiency, using Core Web Vitals and product-specific metrics. Establish testing strategy, accessibility, cross-browser compatibility, and internationalization.
- Production ownership: Operate what you ship. Instrument error tracking and real-user monitoring, define service- level objectives for your product area, and own its alerting and dashboards.
- Frontend security: Apply XSS prevention, content security policy, secure cookie handling, and dependency vulnerability management, especially for code embedded on third-party pages.
- Modernisation: Lead incremental modernisation of existing systems through phased migrations, safe rollouts, and measurable improvements.
- Backend and APIs: Define and own the API contracts between your SDKs/UIs and backend services' request/response schemas, error structures, pagination, versioning, and backward compatibility — and independently deliver well-scoped backend changes (endpoints, validation, authorisation, SQL) in partnership with backend engineers.
- Technical leadership: Lead initiatives from design to production support. Author technical specifications and architecture decision records (ADRs), drive design and code reviews, mentor engineers, and lead incident follow-up.
Requirements:
- Strong JavaScript and TypeScript fundamentals, including asynchronous execution, the event loop, and memory management.
- Deep experience building and operating complex React applications, with sound judgment on component architecture, state management, forms, and routing.
- Experience making and defending rendering decisions (server-side rendering, client-side rendering, static generation), including hydration, caching, and personalisation trade-offs.
- Strong HTML, CSS, and browser fundamentals, including rendering, storage, networking, cross-origin behaviour, and security boundaries.
- Working knowledge of frontend security, including XSS prevention, content security policy, secure cookies, and dependency vulnerability management.
- Experience building reusable component libraries and resilient client data layers, including caching, invalidation, and failure recovery.
- Experience diagnosing frontend performance issues with browser tooling and production signals; working knowledge of bundlers and of unit, component, and end-to-end testing.
- Experience operating production frontends, including error tracking, real -user monitoring, service-level objectives, feature flags, and progressive rollouts.
- Hands-on experience building and debugging backend APIs or services in Node.js or another server-side stack, and experience designing API contracts — request/response schemas, error structures, pagination, versioning, and backward compatibility — plus working with SQL.
- Ability to reason about API failure scenarios such as timeouts, retries, and duplicate submissions.
- Experience producing written technical artefacts — design specifications and architecture decision records (ADRs) — that a team can build from.
- A track record of owning complex initiatives from problem definition through production, resolving ambiguity, and aligning teams.
- Experience mentoring engineers and communicating clearly with engineering, product, design, and business stakeholders.
Preferred Qualifications:
- Experience building third-party JavaScript SDKs, embeddable widgets, or libraries with public APIs.
- Experience driving design system adoption and migration across multiple product teams.
- Experience with Node.js services or backend-for-frontend architectures.
- Familiarity with browser privacy, consent management, or content security policies.
- Familiarity with advertising technology, analytics, measurement, or campaign-management products.