React·2 days ago
Senior UX Engineer, Enterprise Applications
ReactTypeScriptstate handling interfaces
Project description
Charger logistics is looking for a Senior UX Engineer, who will make the application feel dependable. Users should never lose their filters, selections or half-finished work, navigation should behave the same way every time, and every screen should say clearly when it is loading, empty or has failed. You will build these behaviours in production code and the shared component library.
Responsibilities:
- Own front-end behavior for stateful UI: retaining filters, sorting, selections and drafts across navigation, refresh and session timeouts.
- Implement predictable navigation: URL-driven state, back/forward behavior, deep links, unsaved-changes handling.
- Build consistent loading, empty, partial-failure and error states with clear recovery actions.
- Turn designer specs into accessible, performant components; challenge specs that cannot be built reliably.
- Improve performance on large tables and long forms (virtualization, debounced input, optimistic updates).
- Partner with the Designer and Researcher; instrument key flows so improvements can be measured.
Experience:
- 7+ years of front-end engineering, with several complex enterprise applications shipped to real users.
- Deep, hands-on experience with React and state management patterns.
- Proven examples of fixing UX problems in code, such as lost state, janky loading or confusing errors, with before-and-after evidence.
- Strong accessibility (WCAG) and cross-browser fundamentals.
- Experience with component libraries or design systems; automated UI testing.
Nice to have
- Design or prototyping skills; able to build quick clickable prototypes in React.
- Frontend analytics and error monitoring (event tracking, session replay, error dashboards).
Technical skills (React stack)
- Languages and framework: TypeScript/JavaScript (ES6+), React with hooks, HTML5, CSS or Sass.
- Routing and URL state: React Router or Next.js; filters, sorting and selections stored in URL query parameters so views are shareable and survive refresh and back/forward.
- State and data: Redux Toolkit, Zustand or Context for client state; TanStack Query (React Query) or SWR for server data, caching and retries.
- Drafts and forms: React Hook Form or Formik, autosave, localStorage/sessionStorage, unsaved-changes warnings.
- Async states: Suspense, skeleton loaders, error boundaries, empty states, optimistic updates.
- Data-heavy UI: AG Grid or TanStack Table, virtualization, server-side pagination and sorting.
- Quality: Storybook, Jest or Vitest, React Testing Library, Cypress or Playwright, axe for accessibility.
- Monitoring: Sentry, Datadog RUM or similar to see real errors and slow screens.