← Writing · Essay · 6 min · 4 April 2026

Why system maps matter more than code snippets.

The cheapest way to find a wrong assumption is to draw the system before you write it. A short defense of mapping over coding.

The first time you see a problem clearly, it’s usually on a piece of paper, not in a function body. Code is for executing decisions. Maps are for making them.

What a system map actually is

A system map is the smallest possible drawing that answers four questions: what comes in, what goes out, what transforms it, and where the assumptions live. That’s it. It’s not architecture. It’s not UML. It’s a thinking tool.

Why it’s cheaper than code

Wrong code costs a refactor. Wrong assumptions cost a feature. The earlier you find a wrong assumption, the cheaper it is — and a map exposes assumptions faster than any code can.

What I look for in a map

  • Inputs and outputs are explicit. If you can’t name them, you don’t understand the feature yet.
  • Failure paths are drawn. Happy-path-only maps lie.
  • The boundary is clear. What is in the system, what is outside it, and where the line is.

When to skip mapping

Some changes are small enough that a map is theater. A typo fix doesn’t need a diagram. The rule of thumb: if the change spans more than one boundary — UI, API, model, persistence — draw it first. If it doesn’t, just write the code.

The real benefit

The map isn’t the artifact. The act of drawing it is. By the time the picture is on the page, half the work is done — you just don’t notice, because the part you’re left with feels easy. That’s the point.

Filed under Systems · Engineering

Untangling something messy?

If your team has a system that nobody can hold in their head, that’s a sign it’s time to map.