Negotiating Technical Debt

How to make the case for reliability and cleanup work to product and business leaders, and how to tell that story in an interview.

Overview

Technical debt is the extra effort a codebase costs you because of shortcuts or designs that no longer fit. Ward Cunningham coined the metaphor: like money, the debt charges interest, paid as slower work every time you change the affected code. Code that nobody touches charges little interest, so not all debt is worth paying off.

Engineers are usually good at spotting debt. The hard part is getting time to fix it when the same people could be shipping features. That needs a translation: from 'the code is messy' to what the business feels, such as slower delivery, incidents, security risk or a roadmap item that will take twice as long.

Interviewers ask about this because it shows whether you can speak to people outside engineering, respect their decisions, and still protect the system. The best stories show that you framed the cost, offered options, let the right person decide, and delivered a result you can measure.

  • Framing — Business impact: time, incidents, risk — Code smells and personal taste
  • Evidence — Data from incidents, delivery times, the roadmap — 'Everyone knows it is bad'
  • Options — Several plans with costs, a recommendation — A demand to stop features
  • Decision — Stakeholders chose; you respected it — You slowed work on your own
  • Delivery — Incremental, with a measured result — A big rewrite that ran late

The example stories on this page are fiction. They show the shape of a good answer; tell your own.

What you will be able to do

  • Explain a piece of technical debt in terms a product manager cares about.
  • Offer options with costs instead of a single demand.
  • Describe ways to pay down debt without stopping feature work.
  • Tell a story in which you, not your manager, drove the case.

Interview questions

  • How do you make the business case for paying down technical debt?
  • How do you pay down debt without stopping feature delivery?
  • How do you push back on building features on top of known debt?
  • Tell me about a time you got buy-in to fix technical debt.

Sign up free to read the full topic

More Behavioral topics

Start free on Cariara · Coding problems · System design studio