Tech Debt Ain't Bad

Published on April 16, 2024

engineering management technical debt

2 min read

Tech debt ain’t all bad. What can we learn from the comparison to financial debt?

Wikipedia defines Technical Debt as “the implied cost of future reworking required when choosing an easy but limited solution instead of a better approach that could take more time.”

Is debt good or bad? Yes.

Financial debt is a powerful tool. Used well, it can enable the impossible and contribute to wealth generation. Used poorly, it can destroy it.

Similarly, with software engineering, knowingly—or unknowingly—leaving some concerns for another day may be the right thing to do. But we must intentionally manage that.

“Buried in debt”. That was the prompt used to generate this article’s image. The result feels a bit post-apocalyptic. Let’s consider three lessons that can help us avoid such outcomes.

Lesson 1: Know your interest rate

Credit cards typically have higher interest rates. Mortgages tend to have lower interest rates. Which is better?

  • Credit Card (25% APR): $1.00 costs $0.02 in interest if paid off after one month
  • Mortgage (5% APR): $1.00 costs $0.93 in interest if paid off over 30 years
  • Credit Card (25% APR): $1.00 costs $6.50 in interest if paid off over 30 years

The financial impact depends on (a) the interest rate and (b) how long balances are held.

Similarly, with software engineering, some choices can sit with minimal accrual. For others, the impact and cost to unwind compounds quickly as time passes.

Takeaway: Track the types of tech debt you hold. Some can safely coast with minimum payments. But when tech debt prompts more tech debt, recognize the potential for exponential growth.

Lesson 2: Don’t over-extend yourself

As debt accumulates, necessary purchases can become impossible. For example, imagine all my income goes to debt payments. How will I buy groceries today? What do I do when an emergency expense arises?

Similarly, with software engineering, tech debt can reach a painful point where meeting the needs of the present is difficult—perhaps even impossible.

Takeaway: Stay alert to how the accumulation of tech debt influences decisions and our ability to respond to business needs.

Lesson 3: You have to make regular payments

I’ve taken the first two lessons to heart:

  • ✅ Workable interest rate based on the intended duration of debt
  • ✅ Reasonable amount of debt

But what will happen if I never make payments? Negative consequences will surely follow.

Similarly, with software engineering, we must explicitly budget regular payments into our planning cycles. “We’ll do it in our free time” is not-so-secret code for “it ain’t happening”.

Takeaway: Paying off tech debt should be part of each planning cycle. Allocate time and capacity to do the work.

What do you think?

I’d love to hear your thoughts. Please feel free to comment on the related LinkedIn post.