The 10-Week Study Plan

Four phases covering all 38 lessons at roughly 6–10 hours a week. Every week ends in a deliverable, because a completed reading list is not preparation and a working artefact is something you can talk about in a deep-dive round.

0 of 10 weeks complete

Tick a week when you have finished its deliverable, not just its reading.

0%

Phase 1 - Foundations

Weeks 1–2

The vocabulary, the arithmetic and the components everything else is built from.

Week 2 · Estimation

6–8 hours

Goal: Produce QPS, storage and bandwidth estimates for any prompt in under three minutes.

Deliverable: Capacity plans for three different products, each ending in a design decision the numbers forced.

Phase 2 - Building Blocks

Weeks 3–5

Databases, caching, load balancing and the network layer, in depth.

Phase 3 - Distributed Systems

Weeks 6–7

Consistency, consensus, messaging and the patterns that hold services together.

Week 7 · Consensus, messaging and architecture patterns

10–12 hours

Goal: Explain Raft and why majorities prevent split brain; design a saga with compensations and an outbox.

Deliverable: Implement an order saga with idempotent compensations, crash-tested between every step.

Phase 4 - Whole Systems

Weeks 8–10

Full case studies out loud, under time pressure, then interview polish.

Week 10 · Case studies, part two, and interview polish

10–12 hours

Goal: Handle the largest-scale prompts, then rehearse the framework until it is automatic.

Deliverable: Two mock interviews with another person, graded against the rubric, plus a written trade-off cheat sheet in your own words.

How to actually use this plan

Draw before you read

Attempt the design yourself before reading the lesson. You will remember the parts you got wrong far better than the parts you read passively - and the gap is exactly what to study.

Say it out loud, on a timer

A design you can write is not a design you can present. Set 45 minutes, talk to an empty room, and record it. The gap between your written and spoken answers is always large and always fixable.

Numbers before boxes

Force yourself to estimate before drawing, every single time. The habit is what stops you over-engineering, and it is the single clearest senior signal available in the first ten minutes.

Learn one database properly

Deep knowledge of Postgres - indexes, isolation, replication, vacuum - transfers to every other store and lets you answer follow-ups two layers down. Breadth across ten databases you have never run does not.

Collect failure stories

Read public post-mortems. They teach failure modes no textbook covers, and 'this is how it failed at scale for someone else' is the most memorable thing you can say in an interview.

Practise the boring answer

The candidate who says 'one Postgres instance handles this until 10,000 writes per second, and here is the number where it stops' beats the one who reaches for Kafka immediately. Restraint is a scoreable skill.