← All topics/System design & soft skills

Practical interview questions

Scenario-style prompts with sample answer outlines. Focus is on how you would design and reason in real codebases.

Question 2

Managing technical debt

How do you decide when to pay down technical debt vs continue shipping features?

Answer outline

Treat debt as risk with interest — pay down when the cost (incidents, lead time, morale) exceeds the opportunity cost of delaying a feature.

Frame decisions in business terms — 'this slows every checkout change by ~X' beats 'the code is ugly.'

Principles

  • Quantify where you can: incident frequency, build time, crash rate, time-to-ship similar PRs.
  • Batch small fixes in every sprint; ring-fence larger debt paydown with a named outcome and deadline.