Roadmaps
Your system design roadmap, step by step
Each path takes you step by step from where you are to the next level: lessons to learn from, labs and builds to practise on, curated videos to watch and reading to go deeper. Master every step to earn a badge and a grade.
Your badges
0 of 7 level badges · 0 step badges. Master every step of a path to earn its badge.
- Foundation BuilderStart here
- Scale EngineerScale up
- Distributed Systems ThinkerGo distributed
- Systems ArchitectDesign platforms
- Staff EngineerGo deep
- Clean Code DesignerWrite better code
- Interview ReadyGet hired
- 0%
01 · Start here · 9 steps
Beginner
Learn how the web works, how data is stored, and the building blocks every system shares, then design your first system end to end.
- Explain how a request travels from a browser to your data
- Package an app so it runs anywhere
- Scale one server and spread load across several
Not startedOpen - 0%
02 · Scale up · 8 steps
Intermediate
Make data fast and safe, split it across machines, decouple work with messages, and keep services reliable and secure as they grow.
- Keep data available by copying it, and know what a copy costs you
- Split data across machines when one is not enough
- Decouple parts of a system with queues and logs
Not startedOpen - 0%
03 · Go distributed · 6 steps
Advanced
Reason about consistency, time, consensus and failure, and build systems around storage engines, logs and events.
- State the consistency and availability trade-off a design is making
- Choose between consistency models, from linearizable to eventual
- Reason about time, consensus and failure in a cluster
Not startedOpen - 0%
04 · Design platforms · 5 steps
Software Architect
Run fleets of services across regions, choose the right data platform for each workload, and learn from how the big systems were built.
- Run and reason about fleets of containers
- Route traffic across regions and the edge
- Decompose a platform into services that teams can own
Not startedOpen - 0%
05 · Go deep · 5 steps
Staff Engineer
The specialist depth: search and ranking, approximate answers over huge streams, location services, real-time collaboration and the systems that run the internet.
- Build search that finds and ranks the right result, and measure it
- Answer questions over huge streams with sketches and samples
- Design location services: nearby search, geofences and routing
Not startedOpen - 0%
06 · Write better code · 6 steps
Software Design
Principles, design patterns and low-level design: model real problems as clean objects, from a parking lot to a chess game.
- Apply the SOLID principles to real code
- Choose and use creational, structural and behavioural patterns
- Shape a codebase with clean, hexagonal and domain-driven ideas
Not startedOpen - 0%
07 · Get hired · 7 steps
Interview Ready
A method for the interview, the classic designs everyone is asked, and practice under pressure.
- Walk through any design question with a repeatable method
- Design the classics: rate limiter, key-value store, feed, chat and video
- Reason about money: idempotency, ledgers and reconciliation
Not startedOpen