Software Cartographers

A useful reminder that large software systems need maintained maps, not just heroic individual mental models.

Logged at IST: 2026-08-17 11:37 IST

What it is: Adam Craven's 2023 essay arguing for "software cartographers": people and processes that keep maps of working software in sync with the code.

Gist: The essay uses the village, town, and city analogy to explain why small codebases fit inside one engineer's head while large systems stop being knowable by any individual, or eventually by the whole team. Other complex human-built systems use maps to reduce complexity. Software usually has diagrams at the start, then lets them rot once code becomes the only source of truth.

The practical claim is that missing maps make systems harder to change. Product and design lose visibility, engineers spend more time reconstructing behavior from code, onboarding slows down, and the team drifts toward partial or complete rewrites when the existing system becomes too hard to reason about.

Craven's proposed direction is not more static documentation for its own sake. It is a low-friction cartography process using architecture, flow, and domain diagrams that stay synchronized with the system, so more people can reason about the codebase at a useful abstraction level.

Newsletter angle: Good software-process piece for the recurring theme that engineering leverage comes from shared, maintained context, not only faster execution or smarter individuals.

Embedded source