Opinion

Technical Debt and Engineering Managers: What You Need to Know

What engineering managers need to know about technical debt: how to identify it, quantify its cost, communicate it upward, and manage it systematically.

Engineering manager reviewing technical debt backlog with team velocity charts

In this article:

Technical debt is one of the most consequential and least understood responsibilities of the engineering manager role. CTOs think about it at a strategic level. Individual contributors live with it daily. Engineering managers sit in the middle, with enough visibility to understand the scale of the problem and enough authority to do something about it, but often without the tools or framing to make it a clear organisational priority. This article is specifically for engineering managers who need to identify, quantify, communicate, and manage technical debt in practical terms.

Why Technical Debt Is an Engineering Manager’s Problem

Technical debt does not fix itself. Left unaddressed, it compounds. The parts of the codebase that are most complex and most brittle attract more changes because they are usually at the core of the product. Each change adds a little more complexity. Each new developer who works in that area builds on top of the existing patterns, whether those patterns are good or not.

The engineering manager is the role most directly affected by the consequences. Velocity slows as changes take longer because of the complexity. Incidents increase as brittle code fails under new conditions. Senior engineers spend more time firefighting and less time on the work that develops their skills and keeps them engaged. New hires take longer to become productive because the codebase is hard to understand.

None of these consequences appear on a debt register. They show up in sprint retrospectives, in attrition data, in escalating incident counts, and in the growing gap between what the team estimates and what it delivers. The engineering manager is in the best position to connect these signals to their root cause.

Managing technical debt is not a technical responsibility in the narrow sense. It requires prioritisation, communication, negotiation, and sequencing. These are management skills. The technical work of reducing debt requires engineering capability, but the organisational work of making debt reduction happen requires management.

How to Identify and Quantify Debt in Your Codebase

Identifying technical debt requires input from the engineers who work in the codebase daily. The most effective technique is a structured debt audit: ask every engineer to list the areas of the codebase they dread working in, the workarounds they use most frequently, and the changes they have deferred because the cost was disproportionate.

This produces a qualitative picture of where debt is concentrated. To prioritise it, you need two additional dimensions: frequency of change and criticality.

High-frequency areas that are frequently modified for feature work amplify the cost of debt because the friction is encountered repeatedly. A module that nobody touches might be a mess, but it is not a priority. A module at the centre of every feature is a different matter.

Critical areas are those whose failure has significant user impact. Debt in the payment processing flow or the authentication system has higher priority than debt in the reporting module.

Combining these dimensions gives you a debt map: areas that are both high-frequency and critical are where investment will have the greatest return. This map is also what you need to have a productive conversation with your CTO about technical debt priorities.

For quantification, track the cost of specific debt items in terms of engineering time. When a feature takes twice as long as estimated because of complexity in a specific module, record that. When an incident is caused by a known fragility, record that. Over a quarter, this data builds a clear picture of what the debt is actually costing.

Building the Business Case for Debt Reduction

The most common mistake engineering managers make when trying to get resources for debt reduction is framing it as a technical problem requiring a technical solution. Product managers and business stakeholders do not prioritise technical problems unless they can see the business impact.

The business case for debt reduction needs to be framed in terms that matter to the business: delivery speed, incident frequency, hiring and retention, and opportunity cost.

Delivery speed is the most direct connection. If your team is delivering features at half the speed it could because of technical debt, and a quarter of debt reduction work would restore that speed, the business case is a comparison of investment versus ongoing cost. For a team of ten engineers, a 30 percent reduction in velocity is three engineer-months of capacity per quarter. The cost of a debt reduction sprint is measurable against that.

Incident frequency is another clear lever. Incidents cost engineering time, customer trust, and in regulated industries, direct financial penalties. If you can show that incidents cluster around specific high-debt areas of the codebase, the risk reduction case for addressing those areas is straightforward.

Hiring and retention are less obvious but significant. Engineers leave or disengage when they spend most of their time on frustrating, unrewarding work. Replacing a senior engineer costs more than a quarter of debt reduction work. If the codebase is a direct factor in attrition, that cost belongs in the business case.

Managing Technical Debt Alongside Product Work

The choice between addressing debt and shipping features is rarely as binary as it appears in planning meetings. Most debt reduction can happen incrementally, in parallel with feature work, if the team has a clear framework for making that trade-off.

A practical approach is to allocate a fixed percentage of every sprint to debt reduction work: typically between 15 and 25 percent. This creates a sustainable pace of improvement without blocking product delivery. The key is consistency. Debt reduction work that is perpetually deferred in favour of features will never happen, and the percentage allocation is the mechanism that prevents perpetual deferral.

The debt items in the backlog should be treated with the same rigour as product backlog items. They need acceptance criteria, clear scope, and a definition of done. Vague items like “refactor the payment module” sit in the backlog indefinitely because nobody knows when they are complete. Specific items like “extract the payment calculation logic into an isolated service with 80 percent test coverage” are plannable and measurable.

Teams that practise incremental debt reduction consistently report that the work is not as disruptive as the big-bang refactoring alternative. Small, frequent improvements compound over time, and the codebase quality improves without requiring a feature freeze or a dedicated refactoring sprint.

What to Communicate to Product Managers and CTOs

Engineering managers sit between the technical team and business leadership, and the communication challenge goes in both directions.

To product managers, the relevant frame is velocity and risk. Present debt as the reason specific features take longer than expected, and as the cause of incidents that require engineering time to investigate. Avoid technical explanations that do not connect to product outcomes. Product managers do not need to understand what a god object is. They need to understand why the checkout flow takes three times as long to change as similar features in other products.

To CTOs, the relevant frame is strategic risk and organisational capability. A codebase with significant unaddressed debt constrains the technical options available to the organisation. It limits scalability, increases the risk of security vulnerabilities going undetected, and creates hiring challenges. The software due diligence perspective is useful here: if you were acquiring this codebase, would the debt affect its valuation?

Both conversations benefit from data. Quantified debt costs, incident trends, and velocity data make the case more persuasive than qualitative descriptions of code quality.

Conclusion

Technical debt management is a core engineering manager responsibility, not a technical side task. The skills required, prioritisation, communication, negotiation, and systematic tracking, are management skills applied to a technical problem.

Engineering managers who develop the ability to identify, quantify, and communicate technical debt effectively will find that it becomes a manageable aspect of the organisation’s health rather than an invisible drag on everything the team tries to do.

Does your codebase have these problems? Let’s talk about your system