The Computing Series

Self-Assessment

  1. Name all 12 mental models without looking. For any you cannot recall, state the type of system problem that model is designed to surface.

  2. A service is slow at P99 but fast at P50. Which three mental models would you apply first to diagnose it? What specific question does each model ask that the others cannot?

  3. Explain the interaction between MM9 (Redundancy) and MM5 (State). Give a concrete example where adding redundancy makes state management harder, and describe how you would resolve the tension.

  4. Two engineers are designing a caching layer. One wants a larger cache with simple eviction; the other wants a smaller cache with a sophisticated eviction policy. Which mental models is each engineer primarily applying? What information would make the choice unambiguous?

  5. A new hire has spent three years writing backend services and knows algorithms well. Without seeing their code, predict which mental models they are likely to apply fluently and which they are likely to underuse. How would this show up in a code review?


Concept: F1 — The 12 Mental Models

Thread: T12 (Tradeoffs) ← Optimisation under constraints (Book 1) → Unified analytical vocabulary (Book 6, Ch 1)

Core Idea: Twelve lenses — Transformation, Search, Optimisation, Flow, State, Networks, Feedback, Concurrency, Redundancy, Layered Abstraction, Indirection, Tradeoffs — each reveal different properties of a system. Apply all twelve; no single lens sees the whole picture.

Tradeoff: Generality vs Specialisation (F4 #6) — the models are general; applying them to a specific system requires engineering judgment about which lenses are most relevant

Failure Mode: Observability Blindness (F3 #11) — engineers who default to one or two mental models will consistently miss the failure modes that only other models reveal

Signal: You are analysing an unfamiliar system; you are debugging a problem that does not have an obvious cause; you are designing a new system and want to check your blind spots

Maps to: Reference Book Ch 4 (Frameworks); Book 4 Ch 1 (system design methodology); Book 6 Ch 19 (hiring for systems thinking)

Read in the book →