Michael Rispoli

Writing

Misunderstanding Technical Debt

April 18, 2026

Technical debt is not automatically bad. The real problem is when nobody remembers what the debt bought or when it has come due.

Technical debt is a useful phrase that got worn out by lazy conversations. Bad code gets called debt. Old code gets called debt. Work nobody wants to do gets called debt. Sometimes that is accurate. Sometimes it is just a polite way to say, “I hate this part of the system.”

Debt is not automatically bad. A startup should take debt when speed, learning, or survival matters more than elegance. That can be the right trade. The problem starts when nobody remembers making it.

Good technical debt has a receipt. We cut this corner to validate demand. We kept the manual process because the customer workflow was still foggy. We chose the vendor because it bought us six months. We duplicated the code because the abstraction would have been fake.

Bad technical debt has amnesia. Nobody knows why the decision exists, what it bought, or when it should be revisited. The system becomes a museum of old urgency.

This is where founders and engineers talk past each other. Engineers feel the drag every day, so they ask for time to clean things up. Founders hear an expensive pause with fuzzy business value. Both sides are usually holding part of the truth.

The better question is not, “Should we fix the debt?” The better question is, “Which debt is charging interest now?”

Is it slowing delivery? Is it creating support burden? Is it blocking revenue? Is it making good engineers leave? Is it increasing the risk of a failure the company cannot absorb?

When the answer is yes, it is not cleanup. It is business work.

Technical leadership has to make that visible without turning every messy file into a crisis. Speed is not free. Cleanup is not always noble. The adult move is to show the trade clearly enough that the business can choose with its eyes open.