DEV Community

Tosh
Tosh

Posted on

The 3 Types of Tech Debt Nobody Talks About

The 3 Types of Tech Debt Nobody Talks About

Everyone writes about code debt. Here are the three types I see killing teams every day — and none of them are about the code itself.

1. Knowledge Debt

This is the most expensive debt and the least discussed. It's when critical knowledge exists in exactly one person's head.

You know the feeling. The deployment pipeline breaks, and only Sarah knows how to fix it. The API auth flow is undocumented, and Dave figured it out six months ago. The why behind a critical architecture decision is lost because the person who made it left.

Knowledge debt compounds faster than code debt. Every time you onboard someone without documentation, you're adding to the principal. Every time you say "I'll document that later," you're deferring the payment.

The fix: Write down decisions within 24 hours. Not documentation — just notes. A README explaining why you chose this approach. A comment explaining the bug you spent 3 hours debugging. A commit message that explains context, not just content.

2. Relationship Debt

This is the debt you accumulate when you skip the hard conversation. The pull request you merge with a sigh instead of a discussion. The architectural disagreement you table for the "next sprint." The feedback you don't give because it's easier to stay quiet.

Relationship debt is invisible until it's too late. By the time you notice the interest payments (passive-aggressive comments, siloing, attrition), the principal is enormous.

The fix: Have the conversation in the same 24-hour window. Don't let disagreements compound. A five-minute uncomfortable conversation today saves five hours of cleanup next quarter.

3. Setup Debt

This is the debt you take on when you skip the upfront investment. The CI pipeline you set up in 10 minutes that takes 45 minutes to run. The test setup you hacked together that nobody can reproduce. The development environment that works on your machine but nobody else's.

Setup debt is insidious because it doesn't feel like debt. You shipped! The code works! But the invisible tax on every future change is real.

The fix: Treat your setup like production code. Script it. Document it. Test it. If setting up the project takes more than 15 minutes for a new developer, you have setup debt.


These three debts matter more than code quality in my experience. Code debt is visible and measurable. Knowledge, relationship, and setup debt are invisible — until your velocity drops and nobody can explain why.


This article was originally published on Stack Signal. Check out my AI Freelancer Startup Checklist if you're freelancing while building.

Top comments (0)