The Mortgage of Modern Software: Why Tech Debt Isn't the Boogeyman
When I first bought a house, I went shopping for a mortgage. To get one, the lender conducted the financial equivalent of a proctology exam. They scrutinized how much money I had, my existing debts, and my income. They wanted to understand their risk in lending me money and, more importantly, my ability to pay it back on time.
In the financial world, debt is a tool. Tech debt is no different. Entering a new organization as a technical leader requires a balance between rapid discovery and decisive action. Technical debt is rarely just a code problem; it is a business risk management challenge that dictates the product's long-term viability.
A Tool, Not a Tragedy
Debt is like any other tool in your shed. You wouldn’t use a chainsaw to hammer in a nail, nor would you use a hammer to cut down a tree. You use the right tool for the job.
Yet, in almost every company I’ve worked for, tech debt is treated like a dirty word. Engineers whisper about it in dark corners, and managers treat it like a moral failing. But here is the truth: tech debt is not inherently bad. It is a strategic lever that, when wielded effectively, can help you hit a market window or validate a product hypothesis before your competitors do. The goal is not to have zero debt; the goal is to have manageable debt that provides a positive return on investment.
The Strategic Leverage Framework
To move from complaining to managing, you must distinguish between intentional and accidental debt. Accidental debt comes from sloppiness or lack of skill, but intentional debt is a calculated loan against the future.
I recall a situation a few years ago at an e-commerce platform company. With Black Friday and Cyber Monday looming, we implemented a major capability at breakneck speed. The engineering manager was transparent about the intentional shortcuts we were taking to hit that shopping window. We knew the code wasn't "clean," but we also knew that missing Black Friday would be a far greater risk to the business than shipping a suboptimal architecture.
The problem arose after the holiday. The business developed a convenient case of amnesia and loaded the schedule with new features. The team nearly disintegrated under the weight of new requests while patching incomplete code. Eventually, we needed the technical equivalent of a financial bailout. We had to restructure the debt by bringing in additional staff just to keep the lights on while the original team burned down the balance.
To prevent this, you must negotiate a baseline maintenance tax. Dedicate a fixed percentage of every sprint, typically 20%, to debt retirement. This ensures the system's credit score improves without halting the roadmap. If you don't pay this tax, your interest rates will eventually exceed your capacity to build anything new.
Establishing the Debt Ledger
You cannot manage what you cannot see. If the debt isn't on a dashboard, it doesn't exist to the rest of the C-suite. Much like you receive a mortgage notice showing your principal and interest, you need a Monthly Tech Debt Statement.
This statement should not be about lines of code or "cleanliness." It should be about capacity and velocity. I like to show engineering time broken down in a strict hierarchy:
Debt Repayment: This is always first. We pay the bank before we buy groceries. This includes refactoring, upgrading libraries, and fixing architectural bottlenecks.
BAU (Business As Usual): The time required for defect management, customer support escalations, and keeping the lights on.
New Feature Development: Whatever is left over after the first two are satisfied. This is the "disposable income" of the engineering department.
This allows for honest forecasting. When a stakeholder asks if you can squeeze in a new feature, the answer is simple: "We can, but the debt goes up, the interest grows, and the new feature bucket for next month gets smaller." By making this trade-off visible, you shift the decision-making burden from Engineering to the broader business.
Cultural Accountability and Schedule Chicken
Technical debt often thrives in environments where engineering and product teams are misaligned on reality. A common failure is Schedule Chicken, where everyone knows a deadline is impossible due to underlying debt, but no one wants to be the first to speak up. The engineers hope the product team will blink and move the date, while the product team hopes the engineers will pull off a miracle.
Shift the culture from transactional (just shipping features) to transformational (building sustainable systems). Use a simple risk-based reporting model to categorize your ledger:
Red Debt: An imminent threat to system stability, security, or data integrity. This requires immediate intervention.
Yellow Debt: Significant friction that slows down feature velocity or complicates deployments. This should be scheduled for the next 1 to 2 sprints.
Green Debt: Suboptimal code or minor "TODOs" that are stable and don't significantly hinder progress. These are monitored but not prioritized.
Update your engineering standards to include debt assessment in your Definition of Done. A feature isn't "done" if it introduces high-interest debt without a documented plan for its retirement. This forces the trade-off conversation to happen when the context is fresh, rather than months after the damage is done.
The First 90 Days: From Mystery to Math
Transitioning into a leadership position at a new organization offers a unique window to reset the technical culture. Throughout my career, I have found one constant: when I ask engineering leaders to actually quantify their technical debt, they are almost always unable to do so in a measurable, objective way. Everyone feels friction daily, but very few have a ledger to track it.
I often tell my teams that knowing exactly what debt you have is the hardest part of managing it; of course, actually addressing it is likewise the hardest part(!) It is the only "buy one, get one free" deal in software engineering where both halves of the bargain are the difficult ones.
To navigate this as a newcomer, focus on three executive levers:
Establish the Source of Truth: Translate "bad code" into "lost velocity." If a team is spending 40% of their sprint on unplanned work or bug fixes, that is your interest payment. Put that number on a slide for the CEO.
Audit for Schedule Chicken: Use your early tenure to ask the hard questions. Identify where teams are knowingly building on unstable foundations to hit arbitrary dates. Breaking this cycle early establishes your tenure as one rooted in radical transparency.
The Interest-Only Conversation: Explain to your peers in Product and Finance that technical debt is a financial reality, not a moral failing. Sometimes you only pay the interest to keep the lights on, but you must eventually pay down the principal before it bankrupts your ability to innovate.
By framing debt as a quantifiable risk rather than a vague technical grievance, you transform the conversation from a series of complaints into a strategic roadmap for the business. You aren't just fixing code; you are managing the company's most valuable asset: its capacity to change.