1.Tier 1 — the sixteen to master
Sixteen topics that appear in essentially every system you will ever build, which is what makes them tier 1: requirements, capacity estimation, APIs, data modeling, SQL, caching, queues, concurrency, transactions, consistency, availability, reliability, security, observability, scaling and trade-offs. "Master" needs a testable meaning or the tier is just an ordering. Here it means two things. First, you can use it without looking it up — not that you remember every option, but that you can produce a working design and the right vocabulary in a conversation, at a whiteboard, with no reference material. Second, and more demanding, you know the failure mode and not only the happy path. Anyone can describe a cache; mastering caching means knowing what a miss storm on a hot key does, and what a stale entry costs in the specific workflow you are caching. That second half is what separates tier 1 from having read about something. The list also has an internal order — requirements and capacity estimation come first because they produce the numbers every later decision is checked against, and trade-offs comes last because it is the skill of choosing between things you now understand well enough to compare. Getting all sixteen to that standard is a multi-year effort, and it is the difference between an engineer who can build a feature and one who can be handed a system.
Key features
- Sixteen topics that appear in essentially every system, which is the criterion for tier 1
- Master = usable without looking it up, and correct about the failure mode as well as the happy path
- The failure-mode half is the demanding one: describing a cache is easy, knowing what a hot-key miss storm does is not
- Requirements and capacity estimation come first — they produce the numbers every later decision is checked against
- Trade-offs comes last because it is the skill of comparing things you already understand well
- Reaching this standard across all sixteen is a multi-year effort, not a reading list
The sixteen, and the test that says you have it
Two levels of knowing, on the same topic
- Before you build
- Requirements
- Capacity estimation — produces the numbers everything else is checked against
- APIs
- Data modeling
- The data layer
- SQL
- Caching
- Queues
- Transactions
- Correctness under load
- Concurrency
- Consistency
- Availability
- Reliability
- Running it
- Security
- Observability
- Scaling
- Trade-offs — last, because it compares the other fifteen
Command
Tier 1, in the order they get used
BEFORE YOU BUILD
requirements -> capacity estimation
-> APIs -> data modeling
THE DATA LAYER
SQL · caching · queues · transactions
CORRECTNESS UNDER LOAD
concurrency · consistency
availability · reliability
RUNNING IT
security · observability · scaling
trade-offs
Master = usable with no reference material,
AND correct about the failure mode.Sixteen topics that appear in every system: requirements, capacity estimation, APIs, data modeling, SQL, caching, queues, concurrency, transactions, consistency, availability, reliability, security, observability, scaling, trade-offs. "Master" means two things — usable with no reference material, and correct about the failure mode, not just the happy path. The second half is the demanding one and the one designs actually depend on. Tier 1 is ranked by how often it decides a design, not by difficulty: these are where nearly every real failure comes from.