August 16, 2019

Squarespace on three kinds of Good Technical Debt. There are two interesting parts in this article.

“Tech debt” is a dirty word in the software engineering world. It’s often said with an air of regret; a past mistake that will eventually need to be atoned for with refactoring.

Financial debt isn’t universally reviled in the same way. Your friend takes out a mortgage to buy a house and what do you say? Congratulations!

The debt metaphor should be taken literally. Taking a debt means taking money someone with the promise of paying back in the future, then using that money for your benefit (possibly generating even more money) and paying it back with benefits. It’s a win-win situation - in theory, that is.

The other good point is this:

The key is to be intentional about what you invest time in and aware of the costs you’re taking on. […] Good tech debt has clear, well-known limitations. Document these in code comments, READMEs, FAQs, and conversations with the people who’d care.

Used carefully, good tech debt will help you build software faster by focusing your time on the things that matter most.

At the end of the day, it boils down to “Take a debt consciouisly, aware of the risks and with the intention of paying it back”.