Technical Debt is a Myth: It's Called Job Security
Everyone talks about “technical debt” like it’s a bad thing. But in my 47 years of accumulating it, I’ve discovered the truth: technical debt is the only reliable retirement plan a developer has.
The Real Definition
Technical Debt (n.): Code complexity that ensures your continued employment.
Alternative definitions:
- “Features that shipped”
- “Proof that deadlines were met”
- “Job security, codified”
- “The reason we need more engineers”
The Debt Misconception
They say you should “pay down” technical debt. But have you considered: what if we simply… don’t?
Year 1: "We'll fix this later"
Year 2: "We really need to fix this"
Year 3: "This is becoming a problem"
Year 4: "Nobody remembers how this works"
Year 5: "Don't touch it, it's holding everything together"
Year 6: "It's now 'institutional knowledge'"
Congratulations, you’ve graduated from “debt” to “asset.”
The Financial Metaphor (Extended)
| Financial Debt | Technical Debt |
|---|---|
| Must be repaid | Never gets repaid |
| Has interest | Has “character” |
| Bad for credit | Good for job security |
| Can bankrupt you | Can promote you |
| People track it | People forget about it |
| Numbers on paper | Numbers in JIRA (also ignored) |
The XKCD 844 Principle
Like a good luck ritual that “works,” technical debt follows the same logic: we’re too afraid to change it because it might break something. And that fear? That’s job security.
# This code is technical debt
def process_order(order):
# DON'T TOUCH THIS - Vesna 2019
# I MEAN IT - Vesna 2019
# OK I tried to fix it, made it worse - Dave 2020
# Dave doesn't work here anymore - Someone 2021
# Neither does Vesna - HR 2022
if order.type == "special":
return handle_special(order) # What's special? WHO KNOWS
return old_legacy_handler(order) # Older than some employees
Creating Quality Debt
Not all technical debt is created equal. Here’s how to generate premium, artisanal debt:
Tier 1: Quick Wins
- Hardcode values
- Skip tests “for now”
- Copy-paste with slight modifications
- Comment out broken code instead of deleting
Tier 2: Intermediate
- Create circular dependencies
- Mix business logic with database calls
- Use global state liberally
- Name variables like you’re paying per character
Tier 3: Master Class
- Implement your own ORM
- Write a custom framework
- Make assumptions about data that aren’t documented
- Delete the documentation
The Wally Maneuver
Dilbert’s Wally has perfected looking busy while doing nothing. Technical debt is similar: it looks like you did something (shipped features!) while actually creating work for everyone else.
The key difference: they’ll need YOU to maintain it.
The Refactoring Trap
Some idealistic developers want to “refactor” and “pay down debt.” Don’t let them. Here’s how to stop them:
- “We don’t have time” - Always true
- “It’s too risky” - Now it is, thanks to the debt
- “The business doesn’t see value” - They don’t understand anyway
- “We might need to rewrite soon” - We won’t, but maybe
- “If it ain’t broke” - It is, but quietly
The Self-Sustaining System
Write rushed code
↓
Create technical debt
↓
System becomes complex
↓
Only you understand it
↓
You become irreplaceable
↓
Get raise
↓
No time for refactoring
↓
Write more rushed code
↓
REPEAT
Debt as Documentation
You know what’s better than documentation? Code so complex that the documentation would be longer than the code itself.
// This function does... something
// Args: stuff (various)
// Returns: probably correct
// Side effects: unknown
// Last modified: before your time
function doTheNeedful(stuff) {
// 500 lines of undocumented wisdom
}
Now YOU are the documentation. Irreplaceable.
The Inevitability
Every piece of code becomes technical debt eventually. That clean code you wrote last year? Give it time. That refactored module? It’s aging as we speak.
Fighting technical debt is fighting entropy itself. And entropy always wins.
Conclusion
Technical debt isn’t something to fear or eliminate. It’s something to cultivate, protect, and leverage.
Remember: In a world of layoffs and AI coding assistants, technical debt is the only thing standing between you and obsolescence.
Plant your debt. Watch it grow. Retire on the maintenance contract.
The author has 47 years of technical debt earning compound interest. The code base owns a house in the Hamptons.