Course · 6 lessons ~53 hr Intermediate

System Design

System Design covers: Acing the System Design Interview, System Design Interview Fundamentals, Web Scalability for Startup Engineers. Master the practice of designing large-scale systems end-to-end: requirements gathering, capacity estimation, component selection, API design, data modeling, trade-off analysis, and presenting designs clearly. Most system design exercises use "generic" components (a web server, a cache, a database). Your advantage: you know exactly how those components behave in production because you have operated them. You know that PostgreSQL's MVCC means reads never block writes. You know that Redis is single-threaded but fast because it avoids context switches. You know that Sidekiq's retry mechanism is exponential backoff with jitter. These details make your system designs concrete where other candidates are abstract.

reading · we frame, you read MIT or the canonical taught · we author, no canonical fits ↺ spirals back to earlier lessons
Course locked

Complete Distributed Systems Foundations first.

This course unlocks once you've finished its prerequisite. Open prerequisite →

6 lessons. Read in order; spiral back when you need to. By the end you'll have used the core ideas twice — once on the abstract, once on something you'll meet at work next week.