Legacy systems are business fossils - precious, brittle, and full of hidden value. When you inherit one, you quickly meet the two ancient tribes of software: the “Don’t touch it, it works!” guardians… and the “Burn it down and rewrite it!” rebels.
So what now? Rewrite? Refactor? Or follow the sacred “don’t touch” rule? The truth often lives somewhere in between.
This talk shares a practical and realistic mindset for working with legacy systems, shaped by real lessons learned when stepping into a long-lived codebase for the first time. Forget ideal-world advice - this is about navigating legacy software with clarity and calm: where to start, how to approach the code with an archaeologist’s mindset, how to improve developer experience, what to modernize first, and how to show progress without risking production stability. We’ll also look at when a rewrite is the right call, when it shouldn’t be done, and when it becomes necessary.
Skip the archaeology, and your rewrite becomes the next legacy.
