Back to system design notes

Learning roadmap

Building Blocks

Choose a goal, then follow each stage as an ordered, explained outline.

Learning goal

Learn deeply

Build a durable mental model, then transfer it into a working application.

Foundation

Stage purpose: Establish the vocabulary and first working mental model.

Required background: Complete the linked prerequisites below or bring equivalent experience.

Expected outcome: Explain the core idea and use it in a small example.

Estimated time: 70 minutes

  1. Lesson · Estimated time: 35 minutes

    Networking Essentials

    Outcomes
    • Explain the core idea in Networking Essentials
    • Apply Networking Essentials in a representative design

    Prerequisites: No prerequisite topics

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: API Gateway & Load Balancer — Carry the Networking Essentials model into the next design step and make the trade-off explicit.

  2. Lesson · Estimated time: 35 minutes

    API Gateway & Load Balancer

    Outcomes
    • Explain the core idea in API Gateway & Load Balancer
    • Apply API Gateway & Load Balancer in a representative design

    Prerequisites: Networking Essentials

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: CAP Theorem & Caching — Carry the API Gateway & Load Balancer model into the next design step and make the trade-off explicit.

Core concepts

Stage purpose: Connect the concepts into a repeatable problem-solving model.

Required background: Complete the linked prerequisites below or bring equivalent experience.

Expected outcome: Apply the model to a representative exercise without copying a recipe.

Estimated time: 70 minutes

  1. Lesson · Estimated time: 35 minutes

    CAP Theorem & Caching

    Outcomes
    • Explain the core idea in CAP Theorem & Caching
    • Apply CAP Theorem & Caching in a representative design

    Prerequisites: API Gateway & Load Balancer

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: Message Queues & Database Locking — Carry the CAP Theorem & Caching model into the next design step and make the trade-off explicit.

  2. Lesson · Estimated time: 35 minutes

    Message Queues & Database Locking

    Outcomes
    • Explain the core idea in Message Queues & Database Locking
    • Apply Message Queues & Database Locking in a representative design

    Prerequisites: CAP Theorem & Caching

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: Databases — SQL vs NoSQL, Partitioning & Indexing — Carry the Message Queues & Database Locking model into the next design step and make the trade-off explicit.

Applied design

Stage purpose: Transfer the concepts into a realistic implementation task.

Required background: Complete the linked prerequisites below or bring equivalent experience.

Expected outcome: Produce a small artifact that proves the decision works.

Estimated time: 70 minutes

  1. Lesson · Estimated time: 35 minutes

    Databases — SQL vs NoSQL, Partitioning & Indexing

    Outcomes
    • Explain the core idea in Databases — SQL vs NoSQL, Partitioning & Indexing
    • Apply Databases — SQL vs NoSQL, Partitioning & Indexing in a representative design

    Prerequisites: Message Queues & Database Locking

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: API Design — REST, gRPC & GraphQL — Carry the Databases — SQL vs NoSQL, Partitioning & Indexing model into the next design step and make the trade-off explicit.

  2. Lesson · Estimated time: 35 minutes

    API Design — REST, gRPC & GraphQL

    Outcomes
    • Explain the core idea in API Design — REST, gRPC & GraphQL
    • Apply API Design — REST, gRPC & GraphQL in a representative design

    Prerequisites: Databases — SQL vs NoSQL, Partitioning & Indexing

    Evidence: Practise the outcome in code and record what you learned.

    Current status: Not started

    Recommended next: Complete this path by applying these outcomes in your own project.