At Quest Global, it’s not just what we do but how and why we do it that makes us different. With over 25 years as an engineering services provider, we believe in the power of doing things differently to make the impossible possible. Our people are driven by the desire to make the world a better place—to make a positive difference that contributes to a brighter future. We bring together technologies and industries, alongside the contributions of diverse individuals who are empowered by an intentional workplace culture, to solve problems better and faster.
Job Title: Senior Frontend Developer — React 19, TypeScript, Design-System & Web-Component Engineering
Experience: 6+ years building production web applications with React and TypeScript, including 3+ years owning architecture-level decisions (state design, module boundaries, build tooling, testing strategy).
-
Job Summary
We are seeking an experienced Senior Frontend Developer to build and scale the user experiences of our Dynamic Service Options (DSO) platform. You will work across two React 19 + TypeScript codebases:
- an authoring application — a large, feature-module SPA (Vite, Jotai, React Router 7, react-hook-form, Storybook + MSW) where dealers and teams author and manage machine parts and service data
- a delivery application — a React app that ships both as an SPA and as an embeddable Web Component published to Artifactory and consumed by other host applications.
Both apps are built entirely on the design system, consume OpenAPI-generated, fully typed API clients, authenticate through Azure Entra (MSAL) with Centralized entitlement-based authorization, and are validated by Storybook interaction tests running in real browsers with MSW-mocked APIs.
The ideal candidate is opinionated about type safety, component composition, accessible design-system usage and testable UI, is comfortable working inside strict lint/format/type gates, and can own a feature end-to-end: API contract generated client state atoms/store design-system UI stories/tests CI/CD CDN or npm release.
-
Key Responsibilities
- Build and maintain feature modules in a convention-driven structure (`atoms/`, `components/`, `hooks/`, `fakers/`, `\\\*.stories.tsx`, co-located styles), keeping cross-feature code in shared layers and respecting module boundaries.
- Develop React 19 components under strict TypeScript — no `any`, no type assertions, explicit `import type`.
- Implement lazy-loaded, code-split routes with route-level authorization guards driven by user entitlements.
- Build complex, data-dense UI: paginated and filterable tables with per-row action state, bulk selection, destructive-action queues with confirmation, toast feedback, unsaved-changes guards, and virtualization where list size demands it.
- Design state with Jotai atoms (authoring) and Zustand (delivery), including reusable factories for remote lists, bulk selection and destructive queues — and never fetch data from `useEffect`.
- Consume OpenAPI-generated API clients from versioned specs — never hand-writing request code, duplicating server models as local types, or editing generated output.
- Implement robust request handling: bearer-token injection, cancellation with `AbortSignal`, retry/backoff policies, and a single normalized API-error parser feeding user-facing messages.
- Build exclusively on the design system and its tokens and utility classes — no raw `