How to measure technical debt and when to pay it
Technical debt is not always bad. A practical way to decide which debt to pay and when, based on business impact.
Good code review does more than catch bugs. Speed it up with small changes, clear expectations and automation.
Set up badly, code review becomes the slowest step in a team. Set up well, it raises both quality and shared knowledge.
Formatting and style belong to automated tools. Human attention belongs on these questions: does the change really solve the problem, what happens on failure, is the permission check in the right place, and will someone reading this in a year understand it?
With a large change the reviewer tires and approves. Changes with a single purpose and no more than a few hundred lines are reviewed both faster and more carefully. Feature flags make it possible to split large work.
Make it clear whether a comment is required or a suggestion. Talk about the code rather than the person, and give the reason. If a debate goes past three rounds, a short call is usually better.
Agree a response target within the team, for example first feedback the same working day. Making pending reviews the first job of the day creates more value than opening new work.
Technical debt is not always bad. A practical way to decide which debt to pay and when, based on business impact.
Calling an external service for every visitor is slow and expensive. How a simple cache layout protects your quota.
An MVP is not a half-finished product. A practical method for finding the smallest scope that solves one problem.