System Design Roadmap 2026: Beginner to Advanced, Step by Step
The core system design roadmap every engineer starts with: fundamentals, building blocks, distributed systems and interview practice, each step linked to a free guide.
This system design roadmap is an ordered path through the concepts that system design interviews and real architecture work rely on. It starts with how interviews are run and how to estimate scale, moves through networking, storage, caching and asynchronous processing, and ends with distributed systems, reliability and full practice designs. Every step links to a free guide in the handbook, and most steps end with a design round that tests what you just read.
Tick the box on a topic once you can explain it out loud without notes. Your progress is saved in this browser. This is the core roadmap every role starts with; the role roadmaps build on it.
Step 1How interviews and estimates work
Know what is being assessed and how to size a system before drawing it.
Step 2Core properties
The vocabulary every trade-off is argued in.
Step 3Networking and APIs
How a request travels from a client to your servers and back.
Step 4Storing data
Choosing a database and growing it past one machine.
- Data modelingBeginner
- SQL vs NoSQLBeginner
- Relational databasesBeginner
- NoSQL databasesBeginner
- Indexing and storage enginesIntermediate
- Scaling databasesBeginner
- ReplicationIntermediate
- ShardingIntermediate
- Consistent hashingIntermediate
- Key-value databasesGood to know
- Document databasesGood to know
- Object storageGood to know
Step 5Caching
Serving reads fast without serving wrong data.
Step 6Asynchronous work
Decoupling producers from consumers and surviving retries.
- Message queuesBeginner
- Pub/subBeginner
- Event streaming (Kafka)Intermediate
- Delivery guaranteesIntermediate
- IdempotencyIntermediate
- Dataflow and push vs pullGood to know
Practice:Notification delivery serviceBackend · Intermediate · FreeComment system for social postsBackend · Beginner · Free
Step 7Distributed systems essentials
What changes when many machines must agree.
Step 8Reliability
Keeping the system up when parts of it fail.
Step 9Architecture and operations
Shaping services and running them in production.
Step 10Practise full designs
Put the pieces together under interview conditions.
- Interview questionsBeginner
- Design a URL shortenerBeginner
- Design PastebinIntermediate
- Design TwitterIntermediate
- Fan-outIntermediate
- Comment system (hands-on)Good to know
- Design typeaheadGood to know
- Design a webhook serviceGood to know
- Design TinderGood to know
- Video streaming (HLS, DASH)Good to know
Practice:URL shortenerBackend · Beginner · FreeChat systemBackend · IntermediateNews feedBackend · AdvancedHigh-demand ticketing platformBackend · Advanced
How to use this roadmap
Work top to bottom. The early steps are the vocabulary that the later ones assume: you can't argue about sharding until replication and indexing are second nature, and consensus makes little sense before consistency models. Solid cards are core topics that come up in almost every interview. Dashed cards are good to know: read them on a second pass or when a practice round needs them.
- Read, then explain. After each guide, close it and explain the idea in two minutes, including one trade-off and one place it's used. If you can't, re-read the section you stumbled on.
- Practise at the end of every step. The practice rounds under a step are chosen so the topics you just read are the ones the interviewer will probe.
- Don't memorise architectures. Interviewers reward reasoning about requirements and trade-offs, not a recited diagram. Use the roadmap to build the reasoning.
A realistic study plan
| Week | Steps | Goal by the end of the week |
|---|---|---|
| 1 | 1-3 | Run the interview framework, estimate QPS and storage, and explain a request's path through DNS, load balancers and a CDN. |
| 2 | 4-5 | Choose a database for a given access pattern and explain how replicas, shards and caches change it. |
| 3 | 6-7 | Decide when work should be asynchronous, and explain delivery guarantees and why consumers must be idempotent. |
| 4 | 8-9 | Add rate limits, timeouts and failover to a design, and describe how it is deployed and observed. |
| 5+ | 10 | Two or three full practice designs a week, reviewing what the interviewer pushed on each time. |
Five weeks at about an hour a day is enough for most mid-level interviews if you already write backend code. If you're newer to the field, spend twice as long on steps 3 to 5; they carry most of the weight in junior and mid-level rounds. Senior candidates should spend more time on steps 7 to 9, where the follow-up questions get harder.
Which roadmap should I follow?
This is the core roadmap: every role starts here, and it covers most of what a backend or full-stack design round tests. Each role roadmap builds on it and covers what that role’s interviews go deeper on, with core topics at most as optional review (the distributed systems roadmap is the exception: it goes deeper on the core’s own topics). Finish this one (or skip what you know), then follow yours:
| You're interviewing for | After this roadmap, follow |
|---|---|
| Backend or full-stack (SDE), including low-level design rounds | Backend roadmap: LLD, API and database depth, real-world building blocks |
| Data engineering | Data engineering roadmap: pipelines, modelling, batch and streaming |
| Machine learning, ML platform or AI engineering | ML system design roadmap: features, training, serving and evaluation |
| Platform, infrastructure, DevOps or SRE | Platform and SRE roadmap: delivery, observability and resilience |
| Storage, databases or infrastructure at the distributed-systems level | Distributed systems roadmap: replication, consensus and transactions in depth |
Interviewing for frontend or mobile? Client-side design rounds are a different interview, so the frontend system design roadmap is its own path and doesn't assume this one.
Frequently asked questions
How long does it take to learn system design?
Expect four to eight weeks of steady practice to be comfortable in an interview, longer for senior roles. The concepts themselves can be read in a couple of weeks; the time goes into practising full designs until the framework and the trade-offs come naturally.
Can a beginner or fresher learn system design?
Yes. Start at step 1 and don't skip the foundations. Junior interviews focus on a clean high-level design, sensible data storage and basic scaling (load balancing, caching, replication), which steps 1 to 5 cover. Start with the URL shortener and paste service rounds.
What is the difference between HLD and LLD?
High-level design (HLD) is the architecture of a whole system: services, data stores, queues and how requests flow. Low-level design (LLD) is the code inside one component: classes, interfaces and design patterns. See HLD vs LLD for what each round expects.
Do I need to know specific technologies like Kafka or Redis?
Know what a category of technology does and its trade-offs: a log-based broker, an in-memory cache, a wide-column store. Naming a product is fine as an example, but interviewers care that you know *why* it fits. The guides on Kafka and Redis are written that way.
Further reading
- Designing Data-Intensive ApplicationsMartin Kleppmann, O'Reilly
- The System Design PrimerDonne Martin, GitHub
- Site Reliability Engineering (free online book)Google