Back to list
Lv.2

Technical Debt

Technical Debt

Programming problems that build up when short-term speed is chosen over long-term code quality.

In Simple Terms

Technical debt is what happens when you write code that works for now, knowing it'll need to be cleaned up later. It often builds up when messy, disorganized code is left in place just to hit a deadline. Development speeds up at first — but when you try to add new features down the road, those old shortcuts come back to bite you, and everything takes much longer than it should.

Behind the Name

'Debt' here is a metaphor: just like financial debt, shortcuts taken during development create obligations that must be repaid later. The term was coined by programmer Ward Cunningham to explain why moving fast now means owing more time down the road.

Take a Closer Look!

Technical debt refers to the problems that arise in software development when short-term delivery speed is prioritized over long-term code quality.
Simply put, it's like borrowing time from the future to save time right now.
Rushed code written with the intention of cleaning it up later, or skipping proper testing to ship faster — these are classic examples.

Just like financial debt, technical debt grows with interest if left unaddressed.
In practice, this means bugs become harder to track down in a tangled codebase, and adding new features can take several times longer than it should.
If the debt piles up too high, development can grind to a halt entirely — a state sometimes called 'technical bankruptcy.'

That said, taking on debt isn't always the wrong call.
When you want to launch a new service quickly and test how users respond, deliberately prioritizing speed over clean code can make sense.
The key is knowing how much debt you're carrying, and gradually paying it down by tidying up the codebase — whenever you have the breathing room.

CategoryProgramming