Code Quality

Articles, guides and tutorials on code quality, covering review practices, static analysis, testing and maintaining clean, maintainable codebases.

Postmortems That Actually Change Something

A postmortem is easy to hold and hard to make useful. The meeting happens, a document is written, four action items are recorded, and six months later the same failure occurs and somebody finds the old document while searching for something else. The word “blameless” gets most of the attention in discussions of this,...

API Versioning: When to Break and How Not To

API versioning arguments usually start at the wrong end, with where the version number goes. That is the least consequential decision in the whole subject. What matters is which changes require a new version at all, and most teams get that wrong in the direction of complacency: they ship something they believe is...

Technical Due Diligence: What Buyers Actually Look For

Technical due diligence is not a code quality competition, and teams preparing for one usually spend their time on the wrong thing. Nobody buying a company is grading your abstractions. They are trying to work out what it will cost to own this system, and how badly it can go wrong after the money changes hands. That...

Database Performance: Finding the Query That Is Killing You

Database performance work usually begins with someone proposing a bigger instance, and it usually ends with the discovery that one query was doing a sequential scan over four million rows on every page load. The hardware was never the constraint. The plan was. That pattern is consistent enough to be worth stating as a...

What is Technical Debt - A Guide for UK Engineering Teams

Searches for “technical debt” have grown by over 35% in the past two years, driven in large part by UK engineering teams inheriting legacy systems built under deadline pressure and now struggling to maintain or extend them. The term gets used loosely in Jira backlogs and sprint retrospectives, but most developers have...