← All roadmaps

Roadmap

System design

How large systems stay fast and reliable, and how to reason about trade-offs out loud.

2 to 3 months Advanced 4 steps, all free

Who it's for

Developers with a year or more of experience, and students preparing for design rounds.

Where it leads

  • Senior software engineer
  • Backend engineer
  • Software architect

By the end you can

  • Estimate load and storage on the back of an envelope
  • Choose between SQL, NoSQL, caches and queues with reasons
  • Design a common system and defend each choice
  1. 1

    Building blocks

    Load balancers, caches, databases, queues and CDNs, and what each one is for.

  2. 2

    Data at scale

    Replication, partitioning and consistency decide what your system can promise.

  3. 3

    Learn from real systems

    How companies actually built things, written by the engineers who did it.

  4. 4

    Practise designing

    Talking through a design clearly is a skill of its own.

    Do this: Design a URL shortener, a chat app and a news feed on paper, then compare each with a published design.

Learning this with others is easier.

Ask questions when you're stuck, find people on the same path, and track your progress on DevLearn.