Technical debt. It's one of those terms that we're all too familiar with. Seemingly inescapable as soon as a deadline approaches.

The problem, of course, is that you're going to have to pay it down and the interest on your debt is your project's long-term velocity.

So if we know technical debt is going to grind projects to a halt eventually - why do we keep doing it? Because it solves the immediate problem that's right there in front of you. It feels more productive to just move forward. Shortsighted, but an easy fix.

But there's an alternative.


Simplifying isn't as easy as acquiring more technical debt because it often requires clarifying the goals of the project and making uncomfortable choices in the process. But this will free up time to execute properly on the tasks that really matter.

As a developer, you can't avoid making decisions. Your entire job is writing down the decisions a computer is supposed to make over and over again on the fly.

We often get carried away by writing down those sets of decisions that we forget that it all starts with making decisions about which tasks the computers should perform.

Just say no. It's simple, but not easy.