Skip to content

System Design

Patterns and case studies for designing systems that have to keep running. Sharding, replication, queues, caches — and the tradeoffs between them.

By experience level

  • Junior


    Foundations: building blocks of distributed systems, scalability basics, and common architectural patterns every developer should know.

    Read 01 — Junior level

  • Middle


    Mid-level depth: production patterns, caching strategies, message queues, database scaling, and observability fundamentals.

    Read 02 — Middle level

  • Senior


    Senior mastery: high-availability patterns, consistency tradeoffs, distributed transactions, and complex system tradeoff analysis.

    Read 03 — Senior level

  • Professional


    Production-grade: multi-region architectures, capacity planning, disaster recovery, and the hard parts of operating at scale.

    Read 04 — Professional level

Practice & references

  • Design problems


    Worked-through interview-style design problems with explicit tradeoff analysis.

    06 — Design problems

  • Sources


    Curated reading list — books, papers, and engineering blogs worth re-reading.

    05 — Sources