The Computing Series

Self-Assessment

  1. List all 15 principles from memory. For any you cannot recall, state the failure mode that its absence creates.

  2. A service is processing payments. An engineer says: “We check the database before processing to prevent duplicate charges — that is idempotency.” What is wrong with this description? What would true idempotency look like in this system?

  3. A post-mortem reveals that a bug went undetected for six hours because alerts were firing but nobody could correlate them with the affected service. Which two or three principles were absent? Write one sentence explaining what each absent principle would have provided.

  4. P7 (Immutability) and P11 (Consistency) can be in tension. Describe a scenario where immutability makes consistency harder to achieve and explain how you would resolve it.

  5. You are reviewing a codebase for the first time. You have 30 minutes. Using the 15 principles as a checklist, name the five principles you would test first — and explain what you would look at to check each one.


Concept: F2 — The 15 Engineering Principles

Thread: T11 (Feedback) ← Error signals in algorithms (Book 1) → Observability and fault tolerance as feedback design (Book 6, Ch 14)

Core Idea: Fifteen properties — from Abstraction to Measure & Adapt — that a healthy system must have. Each absent principle predicts a specific failure mode. The principles are not aspirations; they are requirements whose absence creates incidents.

Tradeoff: Correctness vs Performance (F4 #9) — principles like Immutability and Consistency improve correctness at the cost of performance; Fail Fast and Fault Tolerance improve safety at the cost of availability; the tradeoff is named, not avoided

Failure Mode: Every failure mode in F3 maps to one or more absent principles — Cascading Failure (F3 #2) maps to absent Fault Tolerance; Silent Data Corruption (F3 #9) maps to absent Idempotency and Fail Fast

Signal: A post-mortem where you need to identify root cause; a design review where you want to check what the system is missing; a code review where something feels wrong but you cannot name it

Maps to: Reference Book Ch 7 (F3 Failure Modes); Book 5 Ch 1–5 (code-level principles); Book 6 Ch 14 (culture), Ch 16 (governance)

Read in the book →