DEV Community

Jonathan Hall
Jonathan Hall

Posted on • Originally published at jhall.io on

How can I eliminate technical debt?

Ends today! Save 80% on my popular video course, Ship Better Code Faster!


Someone recently asked me how they could eliminate technical debt. My answer was “You can’t.” But of course that’s over-simplified. Yesterday I detailed three sources of technical debt. With these in mind, it should be easy to see how we cannot (and perhaps should not) eliminiate technical debt.

  1. Intentional technical debt

  2. Outdated technology

  3. Ignorant technical debt

So if we can’t eliminate technical debt, what should we do? Manage it.


One way to help manage accidental technical debt is through the concept of evolutionary design, which allows us to “kind of pretend that we made the right design decisions all along,” which is something J. B. Rainsberger and I discussed very recently in our two-part interview on the Tiny DevOps podcast: Part 1 & Part 2.


If you enjoyed this message, subscribe to The Daily Commit to get future messages to your inbox.

Top comments (0)