A cluttered workshop still works, at first. You think you know where the wrench is. You shove things aside. Then simple jobs take longer. Finding a tool becomes a dig. Eventually you spend more time navigating the mess than building anything.
That is technical debt.
It shows up three ways:
- Deliberate. We took the shortcut to hit the date and promised later.
- Accidental. We did not know better, and the design aged badly.
- Bit rot. It was fine, then the platform moved and nobody updated it.
"Later" rarely comes. The bill is a tax on everything after.
It wears people out
A brittle codebase turns builders into janitors. Every feature risks three regressions. A one-line bug becomes a week in undocumented glue. People burn out. They also hear the message: your time is cheaper than fixing this.
It eats the speed you thought you bought
Every hour spent walking around a design flaw, hand-testing a fragile path, or explaining the same tangle to a new hire is an hour not spent on the next thing. The velocity you bought with the shortcut is paid back with interest. Releases stretch. The market moves and you cannot.
It runs off the people you wanted to keep
Good engineers want hard problems and a workshop they can work in. A high-debt codebase says the company will not invest in its own future. They have options. Paying the debt down is also recruiting.
Someone has to go first
This is not about a perfect codebase. It is about whether a leader will slow down first and pay the price they ask of everyone else. Schedule the cleanup. Protect the time. Do not wait for a quarter when nothing is on fire.