system-design

Study Roadmap

Pick one track and commit to it. Switching tracks mid-way is how people end up six months in with fifty half-read chapters and no ability to actually run a design round.

Every week has the same shape:

LEARN  (read the chapters)
   ↓
BUILD  (small hands-on task — code, config, or a diagram)
   ↓
EXPLAIN (say it out loud, unaided, in 3 minutes)
   ↓
APPLY  (a design problem that uses this week's material)

If you cannot do the EXPLAIN step without notes, you have not finished the week. Reading is not learning. Retrieval is learning.


🎯 Standard Track — 12 Weeks

Assumes: ~8–10 hours/week. Fresh grad or early-career. Outcome: You can confidently run a 45-minute design round for junior and mid-level roles.

Week 1 — Orientation & the Physics of Computing

Day Do
1 What Is System Design?, How to Use This Guide, Prerequisites
2 Computer Fundamentals
3 Latency Numbers — memorize the table
4–5 Back-of-the-Envelope Estimation
6 Estimation Drills — do 15 of them
7 Review + explain “why is a disk seek 100,000× slower than RAM” out loud

BUILD: Write a script that measures, on your own machine, the time for: 1M in-memory array reads, 1000 random disk reads, 100 HTTP requests to a public API. Compare to the latency table.

Week 2 — Networking

Day Do
1 Networking 101
2 TCP, UDP, IP
3 DNS
4 HTTP, HTTPS, TLS
5 HTTP versions
6 Realtime: WebSockets, SSE, Polling
7 Review — trace a request from browser to server and back, every hop, from memory

BUILD: dig a domain and follow the resolution chain. Then curl -v an HTTPS endpoint and annotate every line of the TLS handshake output.

Week 3 — Performance, Scalability, Availability

Day Do
1 Performance Metrics — p50/p95/p99
2 Scalability
3 Availability & Reliability
4 Consistency Models
5 CAP & PACELC
6–7 Scaling Story: 1 → 1 billion users

EXPLAIN: “Why does adding a server sometimes make a system slower?”

Week 4 — First Building Blocks

Day Do
1 Load Balancers
2 Proxies, API Gateway
3 CDN
4–6 Caching — the complete guide
7 Thundering Herd, Hot Keys

BUILD: Put Nginx in front of two toy HTTP servers. Round-robin them. Kill one. Watch what happens. Add health checks. Watch what changes.

APPLY: Design a URL Shortener — first full case study.

Week 5 — Databases I

Day Do
1 SQL vs NoSQL
2 Indexing
3 Storage Engines: B-Tree vs LSM
4 Transactions & ACID
5 Isolation Levels
6 Relational Modeling
7 Review

BUILD: Take a table with 1M rows. Run a query without an index, EXPLAIN it. Add the index. EXPLAIN again. Understand every line of both plans.

Week 6 — Databases II: Scaling Data

Day Do
1–2 Replication
3–4 Sharding & Partitioning
5 Consistent Hashing
6 NoSQL Modeling, Choosing a Database
7 Review

APPLY: Design a Key-Value Store

Week 7 — Asynchrony

Day Do
1–2 Message Queues & Pub/Sub
3–4 Kafka Deep Dive
5 Background Jobs & Schedulers
6 Idempotency
7 Retries, Timeouts, Jitter

APPLY: Design a Notification System

Week 8 — Distributed Systems Core

Day Do
1 The 8 Fallacies, Failure Modes
2 Time & Clocks
3 Leader Election, Consensus
4 Quorums
5 Conflict Resolution
6 Saga Pattern, 2PC
7 Resilience Patterns

Week 9 — Architecture & APIs

Day Do
1 Monolith vs Microservices
2 Service Decomposition
3 Event-Driven Architecture
4 REST, Principles
5 gRPC, GraphQL
6 Pagination, Versioning
7 Anti-Patterns

Week 10 — Security, Observability, Deployment

Day Do
1 AuthN vs AuthZ, Sessions/JWT/OAuth
2 Encryption, OWASP Top 10
3 Three Pillars of Observability
4 SLI/SLO/SLA
5 Containers, Kubernetes
6 Deployment Strategies
7 Multi-Region & DR

Week 11 — Interview Technique

Day Do
1 The Framework
2 Requirements Gathering
3 Drawing Diagrams, Deep Dives
4 Trade-off Vocabulary, Rubrics
5 Common Mistakes
6–7 2 timed mock interviews using Mock Scripts

Week 12 — Case Study Blitz

One full case study per day, timed at 45 minutes, no notes. Then read the writeup and grade yourself with the Self-Grading Checklist.

  1. Twitter
  2. Chat System
  3. Video Streaming
  4. Ride Hailing
  5. E-Commerce
  6. Typeahead
  7. Your weakest one, again.

🔥 Sprint Track — 4 Weeks

For engineers with real experience who need to convert it into interview performance.


🧱 Deep Track — 24 Weeks

The Standard track at half speed, plus:


Progress tracker

Copy this into an issue or a local file and tick as you go.

Part 0  Getting Started        [ ]
Part 1  Foundations            [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
Part 2  Building Blocks        [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
Part 3  Data & Storage         [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
Part 4  Distributed Systems    [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
Part 5  Architecture Patterns  [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
Part 6  API Design             [ ][ ][ ][ ][ ][ ][ ][ ]
Part 7  Security               [ ][ ][ ][ ][ ][ ][ ]
Part 8  Observability          [ ][ ][ ][ ][ ][ ]
Part 9  Deployment & Infra     [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
Part 10 Performance            [ ][ ][ ][ ][ ][ ][ ]
Part 11 Interview Framework    [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]
Part 12 Case Studies           [ ] × 35
Part 13 Practice               [ ][ ][ ][ ][ ][ ][ ]
Part 14 Company Guides         [ ][ ][ ][ ][ ][ ][ ]