Essay
13 Engineering Laws Every Builder Should Know
Named principles that explain why software systems and organisations behave the way they do.
These laws come up repeatedly in real work. They are not theory — they are observed reality, named and documented by people who built things and paid attention to what happened.
Each law has a satire article showing what happens when it is ignored in a fictional enterprise. Follow the link in the Scenario column to read the story.
| Law | Principle | Scenario |
|---|---|---|
| Conway's Law | Architecture mirrors the communication structure of the org that builds it. | Read → |
| Brooks' Law | Adding people to a late project makes it later. | Read → |
| Gall's Law | Complex systems can only evolve from simple ones that already worked. | Read → |
| Hyrum's Law | With enough users, all observable behaviours become dependencies — regardless of the contract. | Read → |
| Postel's Law | Be conservative in what you send, liberal in what you accept. | Read → |
| Parkinson's Law | Work expands to fill the time available. | Read → |
| Goodhart's Law | When a measure becomes a target, it ceases to be a good measure. | Read → |
| Law of Leaky Abstractions | All non-trivial abstractions leak. The layer below is deferred cost, not optional knowledge. | Read → |
| Hofstadter's Law | It always takes longer than you expect — even when you account for this law. | Read → |
| Chesterton's Fence | Don't remove what you don't understand. Find out why it's there first. | Read → |
| Amdahl's Law | Speedup from parallelism is bounded by the sequential fraction. | Read → |
| Wirth's Law | Software gets slower faster than hardware gets faster. | Read → |
| Principle of Least Astonishment | A system should behave the way users expect. Surprise is almost always a bug. | Read → |