There are three groups of people around every legacy system - those who are stuck with it, those who don't want to be with it, and those who love it and see its value. How do we reconcile these three opinions and rewrite legacy code without completely replacing it? Today we talk with Dave Thomas. Dave is an all-around player in the software industry with vast experience as an executive, investor, board member, consultant, architect, and engineer. He is Chairman of Bedarra Corp, which provides consulting on technology and business strategy for emerging technology, products, and services. He tells us what the drivers of legacy innovations are, why he thinks refactoring is a "little lie" of the modern software industry, and how to approach modifications in less-than-ideal situations. When you finish listening to the episode, connect with Dave on LinkedIn and visit his website at www.davethomas.net. Mentioned in this episode: Dave Thomas on LinkedIn at https://www.linkedin.com/in/davidathomas/ Dave’s website at https://www.davethomas.net/index.html Badera Corporation at https://www.bedarra.com/
--------
44:27
Code Reviews with Chelsea Troy
One of the reasons why it is difficult to work with legacy code is the lack of preserving the contextual reasons for past coding choices. Today we talk with Chelsea Troy, a Machine Learning Team Lead at Mozilla and a computer science lecturer at the University of Chicago. She tells us about the value of code review in the software-building process and why code review should not be treated solely as a mechanism for approval. When you finish listening to the episode, visit Chelsea's website at https://chelseatroy.com. Mentioned in this episode: Chelsea’s website at https://chelseatroy.com
--------
50:16
Modernizing Code with Edward Hieatt
Mending code while it is running is risky. One wrong move and a small change can bring the entire system to a halt. Today we talk with Edward Hieatt, Chief Customer Officer at Mechanical Orchard, a GenAI native company that modernizes critical legacy applications without disrupting what they are doing. He tells us how to use AI to identify system dependencies, why it is important to first understand data flow before diving into code, and how to maintain functionality during the modernization process. When you finish listening to the episode, connect with Edward on LinkedIn. Mentioned in this episode: Edward on LinkedIn at https://www.linkedin.com/in/edwardhieatt/ Mechanical Orchard at https://www.mechanical-orchard.com/
--------
48:59
Mending Code with AI with Ray Myers
AI proves to be great at writing new code, but what are its capabilities when it comes to mending the old one? Today we talk with Ray Myers, a legacy code expert and sceptical enthusiast for AI. With 16 years of software engineering experience, he focuses on collective lessons learned to improve our existing systems and organizations. He tells us where is the place of AI in legacy code mending, whether AI can provide help when editing existing code, how to train AI with up-to-date coding skills, how to utilize AI when writing tests, and much more. When you finish listening to the episode, make sure to connect with Ray on LinkedIn, visit his website at https://mender.ai, his YouTube channel Craft vs. Cruft, and take a listen to Empathy in Tech - a new podcast cohosted by Ray and Legacy Code Rocks former cohost, Andrea Goulet! Mentioned in this episode: Ray on LinkedIn at https://www.linkedin.com/in/cadrlife/ Craft vs. Cruft at https://www.youtube.com/@craftvscruft8060 Mender website at https://mender.ai Nopilot.dev at https://nopilot.dev Empathy in Tech at https://empathyintech.com Untangler at https://github.com/craftvscruft/untangler
--------
58:19
Quality-Check of External Dependencies with Feross Aboukhadijeh
Many of the largest companies rely on third-party code to run critical parts of their software. However, there's often little focus on ensuring the quality of these external dependencies. Today we speak with Feross Aboukhadijeh, CEO and founder of Socket, a developer-first security platform. Socket helps developers and security teams release software faster and reduce time spent on security busywork. Feross is also a lecturer at Stanford, where he teaches CS233 Web Security. We discuss why the quality of third-party dependencies matters, when to start addressing this issue, how to handle unmaintained dependencies, and what tools are available for managing third-party dependencies. After listening to the episode, be sure to visit the Socket website, connect with Feross on Twitter, and check out his personal website. Mentioned in this episode: Socket at https://socket.dev/ Feross on X at https://x.com/feross Feross website at: https://feross.org/
Legacy Code Rocks explores the world of modernizing existing software applications. Hosts Andrea Goulet and M. Scott Ford of Corgibytes are out to change the way you think about legacy code.
If you’re like a lot of people, when you hear the words “legacy code” it conjures up images of big mainframes and archaic punch card machines. While that’s true — it only tells a small part of the story. The truth is, the code you leave behind is your legacy, so let's make it a good one.