Advanced Vocabulary #tech-debt#refactoring#engineering

Technical Debt Vocabulary

5 exercises — Practice technical debt vocabulary in English: intentional vs inadvertent debt, Fowler's quadrant model, strangler fig pattern, refactoring techniques, code smells, deprecation paths, and debt registers.

Core technical debt vocabulary clusters
  • Debt types (Fowler quadrant): deliberate-prudent ("we'll fix it later"), deliberate-reckless ("no time for design"), inadvertent-prudent ("now we know better"), inadvertent-reckless ("what layering?")
  • Metrics: code smell, complexity (cyclomatic, cognitive), coupling, cohesion, test coverage, code churn
  • Patterns: strangler fig (incremental migration), branch by abstraction, parallel change, expand-contract
  • Process: debt register (backlog), debt interest (slowdown cost), refactoring sprint, deprecation path, sunsetting
0 / 5 completed
1 / 5
An engineering manager explains technical debt to a new VP of Engineering:
"Technical debt is the cost of prioritizing speed now over quality. Ward Cunningham coined the metaphor: writing quick, messy code is like borrowing money. You move fast, but you pay interest — slower feature development, more bugs, harder onboarding. The key insight is that not all debt is equal. Sometimes we deliberately take on debt — 'let's ship this MVP with a quick solution and refactor next quarter'. That's prudent. Other times debt accumulates because we didn't know better at the time. And sometimes it's just reckless: moving fast without any design, creating a mess that slows us down for years."
According to Fowler's technical debt quadrant, what distinguishes prudent deliberate debt from reckless deliberate debt?