Debt is a nasty word. It is always thrown around as something that is negative, if you have any debt you must be the worst human in history. But this is rarely the case, debt can be very positive when leveraged correctly.
Take for example, a mortgage. This is technically a debt but is always seen differently. For most people, the chance at owning a property is impossible unless you are given the ability to spread the payments for it. So debt is leveraged to have a very positive end result.
Technical debt is the same sort of idea, but generally in code. Technical debt is making quick, sort-of-hacky decisions and writing “bad” code now, to get out of the door so you can bring in revenue and fix it later (or pay the debt back, as it is often referred).
Technical debt can be useful in organisations of all sizes, but today I’ll focus on startups. Startups are at a crucial point in their life for many years. Aiming to take on users, sign up customers, and market like crazy to eventually get to a point in which they are self-sustaining. For many startups this is typically fuelled by investment. Investment requires goals or targets that you set out to achieve. Sometimes, in order to reach these faster, you need quick and dirty solutions. That’s where technical debt comes in.
Not many people realise this, but when a startup announces they’ve taken on $100 million in investment or whatever, they’ve not received all of that (normally). Instead, that $100 million is divided in to chunks, and chunks are given once the startup reaches certain stages (launches service X, gains Y number of paying customers etc.) and this is where technical debt can prove to be the most vital.
A startup may well be three weeks away from launching their next feature, but only have two weeks left of runway (available cash to keep spending on rent / salaries etc.). This is where cutting your dev time to launch that feature through quick and dirty code can take you from needing three weeks to needing one week, get the next chunk of cash in, and secure the future for the next few months. You can later pay that “debt” back (fix the code) when you are profitable or have spare time.
Leveraging it in this way not only essentially buys you cash, but it also buys you time to continue your mission to deliver your service to your customers.
There are countless examples of where technical debt is beneficial. This was just one of them, but it really illustrates the point, and helps make it clear that yes, debt can be bad, but it can also be incredibly good if used correctly.