Understand
Legacy Code
Change Messy Software Without Breaking It

When I say "Legacy Code" I mean valuable code you're afraid to change.

We all have to deal with Legacy Code. But it's damn hard to!

Here you'll find answers to your questions. I'm sharing useful tips and concrete advice that will help you tame the legacy codebase you've inherited. 😉

— Nicolas

💡 Latest articles

🥋 Specific techniques

📚 Useful books on Legacy Code

Few books dig into the challenges of working with legacy systems. These ones do.

Here is my personal bookshelf. For each book, I've written a high-level overview of what you can expect from it. Their salient points, according to me.

Click the ones that intrigue you to get more details. I put the ones that were the most insightful to me first.

📖 Helpful Guides

🎧 If you prefer podcasts

  • Improving Legacy Code

    I discuss with Sam Taggart about my book, Legacy Code: First Aid Kit. We cover the tools and examples that I find most useful when working with legacy code. We briefly touch on the role of AI and other tools I've discovered since I wrote the book.

  • Tips for Working with Legacy Code

    I talk with Jason Swett about working with legacy code, adding tests to legacy code, how to safely make changes to legacy applications, and more.

  • Changing Messy Software Without Breaking It

    I talk with Robby Russell about practices like feature toggling or sustainability weeks to work on improving things. I also give advice for listeners who struggle to get stakeholder buy-in on dealing with technical debt challenges.

🎤 If you prefer talks


Nicolas Carlo

Written by Nicolas Carlo who lives and works in Montreal, Canada 🍁
He founded the Software Crafters Montreal community which cares about building maintainable softwares.