The Computing Series

Why This Framework Exists

Two engineers look at a slow API endpoint. The first thinks: the database query is unoptimised. The second thinks: the data this endpoint returns is recomputed on every call and never cached. Both look at the same system. They see different problems because they are using different mental models.

Mental models are not just thinking styles. They are the patterns your attention defaults to — what you notice first, what questions you ask, what solutions you reach for. An engineer who sees systems primarily through the lens of Flow will optimise for throughput. One who defaults to the State lens will look for consistency problems. Neither is wrong. Both are incomplete alone.

The twelve mental models are not a complete description of a system. They are twelve different lenses. Apply all twelve to any system and you will see things each individual lens misses.

You have been using mental models since you wrote your first program. What follows is not new material — it is naming and structuring something you are already doing, so you can do it deliberately.

Read in the book →