Development & testing principles

Rules for software developers, honed over 40 years.

These are rules to follow which were garnered by 40 years of software development experience. The rules themselves are succinct and condense deep truths. Click through on any rule to find the reasoning behind it — the rationale is rarely obvious at first glance.

Professional practice

The rules are deliberately opinionated

They reflect a personal software development philosophy, honed often through painful experience. The rules are language agnostic — applying them is always important, but becomes even more important as your development language becomes less constrained. Consistently following them leads to good professional practice: over time it becomes ingrained, like muscle memory, and becomes "the way you roll". You lose the temptation to cut corners, because the way you normally roll is faster and better than corner cutting.

Your colleagues and your future self will thank you for following the rules.

The eight rules

Start here

Each rule links through to a full explanation of the reasoning behind it, and a practical summary of how to apply it.