← ALL FIELD NOTES

LOG 021 · TECHNICAL · 2023-07-29

Kill It with Fire - the best software book I'd read in a long time

1 min read

You might read the title and roll your eyes, assuming that this book advocates throwing out all legacy code and starting fresh, like most developers would prefer to do.

In reality it covers all the nuances around how to deal with legacy systems, and proposes several ways to deal with it:

  • Total rebuild (of course)
  • Parallel rebuild
  • Fix in place
  • Run away and dont answer their calls

I was kidding about the last one. But really, the author has clearly spent a LOT of time thinking through these different approaches, and gives actionable and clear advice as to which one is probably right for your project. On top of that, they provide a bunch of strategies that help whichever approach you land on.

This one hit close to home. When I read it I had just inherited a massive legacy system, packed with features, and the original dev had left. The book earned its keep: I went with a parallel rebuild, and the advice held up. The idea that stuck with me most is the simplest one, that there is no single right answer, just different options where everything is a tradeoff.

This is the top “Software development” book I’ve read in a long time, and I’m comparing it against the likes of Clean Code, The Mythical Man-Month and TDD by Example. It’s very relevant to modern systems, well written, and it delivered excellent clear advice. An easy 5/5.

Who should read it: anyone who needs to work on a legacy system, especially if the original devs are not around to help. That was me. Who should skip it: honestly, if you write software for a living, I’d struggle to talk you out of it. Highly recommend.