How to Become a Frontend Engineer
The user-facing half of every product. JavaScript/TypeScript, React (or Vue/Svelte), browser APIs, accessibility, performance, and design system fluency.
1. Web Fundamentals
coreSemantic HTML
Beyond div soup. Landmarks, headings hierarchy, forms, tables — semantic HTML is the foundation of accessibility.
- docs free MDN — HTML →
- course free web.dev — Learn HTML →
CSS: Layout, Cascade, Modern Features
Flexbox, Grid, custom properties, container queries, cascade layers. The layer that eats up most PR discussion.
- docs free CSS-Tricks — Flexbox Guide →
- docs free CSS-Tricks — Grid Guide →
- course free web.dev — Learn CSS →
- course paid CSS for JS Developers (Josh Comeau) →
HTTP & the Browser
How the network tab tells you everything. Cache-control, CORS, cookies, service workers.
- docs free MDN — HTTP →
- book free High Performance Browser Networking →
2. JavaScript & TypeScript
coreModern JavaScript
Closures, prototypes, async/await, modules, iterators. Understand the language, not just the framework.
- tutorial free The Modern JavaScript Tutorial →
- book free You Don't Know JS (Kyle Simpson) →
- book free Exploring JS (Rauschmayer) →
TypeScript
Types as design, generics, conditional types. The professional default for frontend teams.
- docs free TypeScript Handbook →
- course mixed Type-Level TypeScript →
- course mixed Total TypeScript (Matt Pocock) →
3. React (or alternative)
coreReact Core
Components, props, state, effects, refs, context. Learn how re-renders actually work.
- docs free React Docs →
- docs free Thinking in React →
- blog free Kent C. Dodds' Blog →
State Management
useState, useReducer, Zustand, Redux Toolkit, Jotai, Recoil. Match the tool to the shape of your state.
- docs free Redux Toolkit →
- docs free Zustand →
- docs free TanStack Query →
Alternative Frameworks
Vue, Svelte, Solid, Qwik. Worth being conversant even if you write React daily.
- docs free Vue.js Docs →
- tutorial free Svelte Tutorial →
4. Meta-Frameworks
coreNext.js
App router, server components, streaming. The industry-default React meta-framework.
- course free Next.js Learn →
- docs free Next.js Docs →
Remix, Nuxt, SvelteKit
The other production meta-frameworks. Same problem space, different opinions.
- docs free Remix Docs →
- docs free SvelteKit Docs →
- docs free Nuxt Docs →
5. Styling Systems
coreTailwind CSS
The utility-first default. Learn the design tokens, not just the class names.
- docs free Tailwind Docs →
CSS-in-JS & Zero-Runtime
styled-components, Emotion, vanilla-extract, PandaCSS. Know when the DX cost pays off.
- docs free vanilla-extract →
- docs free Panda CSS Docs →
Design Systems
Tokens, primitives, patterns. Radix, shadcn/ui, MUI, Chakra as reference implementations.
- docs free shadcn/ui →
- docs free Radix UI →
6. Accessibility
coreWCAG & ARIA
The web is universal or it's broken. WCAG 2.2 AA is the standard bar; ARIA fills semantic gaps.
- docs free WCAG 2.2 Quick Reference →
- docs free WebAIM →
- blog free Smashing — Accessible Components Guide →
Automated A11y Testing
axe-core, Lighthouse, jest-axe. Catch regressions in CI, not user reports.
- docs free Deque axe-core →
7. Performance
coreCore Web Vitals
LCP, INP, CLS. Google's canonical performance metrics — measurable, monitored, and now SEO signals.
- docs free web.dev — Core Web Vitals →
- course free web.dev — Learn Performance →
Bundle Hygiene
Code splitting, tree shaking, dynamic imports, bundle analysis. Ship less JavaScript.
- blog free web.dev — Code Splitting →
- docs free Bundlephobia →
8. Testing
coreUnit & Integration
Vitest, Jest, Testing Library. Test behaviour, not implementation.
- docs free Vitest Docs →
- docs free Testing Library Docs →
End-to-End
Playwright, Cypress. Cover the critical user journeys, not everything.
- docs free Playwright →
- docs free Cypress Docs →
9. Build Tooling
recommendedVite, esbuild, Rollup
The modern build-tool triangle. Fast dev servers, fast prod builds, understandable configs.
- docs free Vite Docs →
- docs free esbuild →
Monorepos
pnpm workspaces, Turborepo, Nx. When you have >1 app or shared UI packages.
- docs free Turborepo Docs →
- docs free pnpm Workspaces →
10. Browser APIs
recommendedModern Web APIs
IntersectionObserver, ResizeObserver, requestIdleCallback, Web Workers, Service Workers, IndexedDB. Reach for these before third-party libraries.
- docs free MDN — Web APIs →
Progressive Web Apps
Service workers, Web App Manifest, offline-first. Turn the browser into an app runtime.
- course free web.dev — Learn PWA →
11. Design Collaboration
recommendedReading Figma
Frontend engineers spec-read designs daily. Auto-layout, constraints, design tokens, component variants.
- docs free Figma Help — Design Basics →
12. Career & Craft
optionalShip a Personal Site
Nothing signals frontend seniority like a fast, accessible, tastefully-designed personal site with real content on it.
- docs free Astro (great for personal sites) →
- blog free Josh W. Comeau (reference) →