The cost of software is comprehension.
Code that compiles is easy; understanding it is the hard part. Every line you write is a permanent tax on everyone who reads it. The measure of good code is not elegance or brevity. It's how quickly a new person can build a mental model of what it does and why.
Reading path
Comprehension Can't Be Reduced to the Artifact
Peter Naur argued in 1985 that programming isn't about producing code. It's about building a theory of how problems map to solutions.
- engineering-fundamentals
6 min read
Constantine's Equivalence
Understanding the fundamental equivalence that shows why software costs are dominated by maintenance, not initial development
- engineering-fundamentals
- leadership-fundamentals
4 min read
Expressive Code
Why code should communicate its intent clearly to humans, not just execute correctly for computers
- engineering-fundamentals
5 min read
Locality of Behavior
Design for understanding: code behavior should be comprehensible by reading only that code, not multiple files or abstraction layers
- engineering-fundamentals
5 min read
Never Nester
How avoiding deeply nested code structures reduces cognitive load and improves code readability
- engineering-fundamentals
6 min read
Control Flow Complexity
Why decisions buried deep in functions create complexity, and how pushing them to system boundaries creates simplicity
- engineering-fundamentals
8 min read
Lines of Code is a Bad Measurement
Why measuring productivity by lines of code is counterproductive and actively rewards what good engineering tries to eliminate
- engineering-fundamentals
3 min read
The Hidden Cost of Agentic Development
Why AI code generation optimizes for the wrong variable and violates Constantine's equivalence about software economics
- AI
- engineering-fundamentals
- leadership-fundamentals
3 min read
AI and Software Engineering: Iteration Compression, Not Revolution
AI has compressed the iteration cycle, not transformed the discipline. The constraint was never writing code. It was always understanding.
- AI
- engineering-fundamentals
- leadership-fundamentals
16 min read
Shared Maps Beat Diverse Maps for Execution
Why teams with aligned mental models ship faster and how to keep that alignment from going stale
- leadership-fundamentals
- leadership-practices
7 min read
English Is Not Specific Enough for Code
We spent fifty years building languages to escape the ambiguity of English, and then we volunteered to go back.
- AI
- engineering-fundamentals
7 min read