Level Up as a Backend Engineer
For backend engineers going deeper on distributed systems.
The distributed-systems fundamentals, then the systems that put them to work — a key-value store, a cache, a message queue, an ID generator — with tools to build the intuition.
- Reason about replication, partitioning and coordination
- Choose consistency and quorum settings deliberately
- Recognize the same primitives across very different systems
The System Design Fundamentals Handbook
Ground the vocabulary first.
Partitioning, Sharding & Replication
Scaling data across machines.
Concurrency, Locks & Isolation Levels
Correctness under contention.
Consensus, Transactions & Coordination
How nodes agree.
Design a Key-Value Store
Replication + consistency, designed.
Design a Distributed Cache
Sharding and eviction at scale.
Design a Message Queue
Durable, replayable messaging.
Design an ID Generator
Unique IDs without coordination bottlenecks.
Quorum (N/R/W) Explorer
Tune N/R/W and feel the trade-off.
Availability (Nines) Calculator
Turn nines into real downtime.
The backend engineer's core
Backend work is a small set of durable ideas applied over and over: how to store data correctly under concurrency, how to scale past one machine, how to stay fast with caching, and how to stay up when parts fail. This path threads those fundamentals through the system designs that make them concrete — a key-value store, a payment ledger, a rate limiter, a queue.
It favours understanding over trivia: once you can reason about consistency, partitioning, caching and failure, most "how would you build X" questions — in interviews and in the job — become variations on patterns you already know.