New engineers
You've written code but haven't had to decide how a whole system fits together. This course gives you a repeatable process to lean on.
A self-paced, interactive introduction to the technical decisions behind a single working system — not enterprise architecture, not a specific cloud vendor's certification, just the fundamentals.
System design is the practice of turning a product idea into a working technical blueprint: which components exist, how they communicate, where data lives, and how the whole thing survives real load and failure. This course walks through that process once, step by step, using a single running example — Shorty, a URL-shortening service like bit.ly — and then repeats the process on two smaller systems so the framework sticks: a rate limiter and a chat service.
By the end, you should be able to take a vague product idea and work through requirements, scale estimation, architecture, data modeling, and non-functional concerns like caching, reliability, security, and observability, in that order, and explain the trade-offs behind each decision.
You've written code but haven't had to decide how a whole system fits together. This course gives you a repeatable process to lean on.
System design interviews reward a structured approach more than memorized answers. The case studies at the end mirror common interview prompts.
If you already know a framework like TOGAF, this course works one level down: the technical shape of a single system rather than a portfolio.
No prior system design vocabulary is assumed. Networking and protocol basics are covered before anything else.
Each lesson follows the same shape: key concepts, a worked example applied to Shorty, a common beginner mistake, a diagram, a short exercise with a hint, and a quick multiple-choice check. Progress through the 19 steps is tracked in your browser as you go, and a glossary near the end is a quick reference you can return to at any time. See the full syllabus for the complete lesson list, or jump straight into the interactive course.
There's no account, sign-up, or backend — everything runs client-side in a single page, so progress is per-browser and not saved across devices.