Skip to content

02 — The question

Experience leaves.Principles stay.

Ten years walks out the door in one resignation letter. What stays is whatever you compressed into principles.

This chapter exists to replace one belief: “Experience creates better software.” becomes “Principles create better decisions.”.
You arrive
Experience creates better software.
You leave
Principles create better decisions.

What experience can't carry

Experience remembers what happened. It goes quiet the moment the situation only rhymes.

Nothing arrives labelled. The database choice will not confess it is an organisational decision. The deadline will not admit it is a scope decision everyone is afraid to make.

A principle is years of consequence folded into a sentence you can still use when the room is loud and the clock is wrong.

Six principles that survived reality.

01

Decide at the last responsible moment — not the last possible one.

Every decision has a point after which it gets expensive, and a point before which you are only guessing. The window between them is the whole job. Deciding early buys certainty you haven't earned; deciding late buys options you can no longer use.

The tell

You keep hearing "we'll figure that out later" about the one thing everything else depends on.

02

Complexity is conserved. You only choose its address.

You can take complexity out of the code by pushing it into operations. Out of the product by pushing it onto the user. Out of this quarter by pushing it into the next one. It does not evaporate. It relocates — usually to whoever has the least power to refuse it.

The tell

Something is described as "simpler" and nobody names who it got harder for.

03

Match your deliberation to the cost of being wrong.

Some decisions are doors you can walk back through. Some weld shut behind you. Treating both the same is the most expensive habit in software — and it is expensive in both directions, because the team that agonises over reversible choices has no deliberation left for the irreversible ones.

The tell

A schema migration takes an afternoon and a button colour takes three meetings.

04

The constraint is the design.

Budget, date, team size, latency, regulation — these are not obstacles standing between you and the design. They are the design. A proposal that would work given twice the time and twice the people is not ambitious. It is fiction with a Gantt chart.

The tell

The plan only survives if nothing goes wrong.

05

Clarity compounds. Cleverness depreciates.

Clever code is a loan taken out against the attention of everyone who reads it next. The interest is paid at 3am by whoever is on call — often the author, who has forgotten. Clarity is the only property of a system that gets more valuable as the system ages.

The tell

Explaining the code reliably takes longer than writing it did.

06

Write for the second reader.

The first reader has all the context: they are you, today. The second reader is a stranger — a new hire, a contractor, or you in six months with none of today's memory. Every system is eventually maintained by strangers. Design for the stranger and you have designed for everyone.

The tell

Onboarding someone requires a person, not a document.

Every principle existsfor one reason:

to make better decisionswhen certainty is impossible.

The honest part

Principles are not rules. Rules tell you what to do. Principles tell you what you are about to trade away — and who will notice first.

Any of these can be wrong in a specific room, on a specific Tuesday. The point isn't to be right every time. It's to decide intentionally.

Everyshortcutbecomessomeone'sfutureproblem.Usuallysomeonewithlesscontextthanyouhad.

A principle that only works

on the page is decoration.

How does it survive a Tuesday?