Legacy Code Rocks

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.
RSS Feed
Legacy Code Rocks








All Episodes
Now displaying: Category: general
Jan 24, 2022

Everyone wants their software system to be resilient - to continue carrying out its mission-critical tasks in the face of disruption or adversity. But resiliency has its cost, and not just in a material sense. With resiliency, your system becomes more complex and harder to maintain. That is why we always have to balance our resiliency requirement with other non-functional requirements around the system. 

Today we talk with Briana Augenreich, a Senior Software Engineer at HubSpot. Briana wears many hats in the software engineering world, but she officially calls herself backend and infrastructure engineer. Briana has extensive experience working with large and complex mission-critical systems. This gives her unique insight on finding the right measure while striving for resiliency. 

When you finish listening to the episode, connect with Briana on LinkedIn. 

Mentioned in this episode:

Briana on LinkedIn at 

David Woods, The Theory of Graceful Extensibility at 

Jan 10, 2022

We all get excited about that new, shiny code, but more often than not, our company can live without it. On the other hand, some old and boring lines of code laying around are usually the backbone of our entire business system. And while inventors tend to get all the praise, those who keep the wheels running smoothly are content with, well, the wheels running smoothly. 

Today we talk with Tramaine Darby, a Senior Manager of Content, Subscriptions, and Insights Engineering at Red Hat. She tells us how to manage teams responsible for maintaining the systems that make companies run and how to defend these systems from hard-cuts and radical changes. 

When you finish listening to the episode, connect with Tramaine on LinkedIn and Twitter.

Mentioned in this episode:

Tramaine on LinkedIn at

Tramaine on Twitter at

Red Hat at

Dec 27, 2021

Making widespread changes to a codebase can be hard! Your team starts a long-lived branch that is difficult to maintain and often impossible to merge; you and your team-mates agree to improve the code slowly over time, but you all forget this agreement, and the improvement never happens. But what if there were a tool that keeps you on track to steadily improve your code without making you feel like losing control over these improvements?

Today we talk with Craig Spence, a senior engineer at Spotify and a creator of Betterer - a tool that helps with incremental improvements of big codebases and legacy systems. Craig tells us how Betterer works, how it differs from other debugging tools, and what are the plans for its improvements. 

When you finish listening to the episode, connect with Craig on LinkedIn and Twitter, and be sure to check out Betterer on GitHub

Mentioned in this episode:

Craig on LinkedIn at

Craig on Twitter at

Betterer on GitHub at

Touca at 

Dec 13, 2021

Kubernetes with James Sturtevant

As applications grow to span multiple containers deployed across multiple servers, operating them becomes more complex. While it is possible to maintain these growing applications manually, most will reach out to an orchestrator to help them with the tasks. As applications grow to span multiple containers deployed across multiple servers, operating them becomes more complex. One of such orchestrators is Kubernetes

Today we talk with James Sturtevant, Principal Software Engineering Lead at Microsoft. James is a coauthor of the book Kubernetes for Windows. He helped blaze the trail for Windows support in upstream Kubernetes for enterprises, and now he helps us understand how Kubernetes work and why you would want to use it. 

When you finish listening to the episode, connect with James on LinkedIn, visit SIG-Windows and Kubernetes channels on Slack and grab a copy of Kubernetes on Windows

Mentioned in this episode:

James on LinkedIn at

Jay Vyas, James Sturtevent, Kubernetes on Windows, at 

SIG-Windows Channel on Slack at

Kubernetes Channel on Slack at 

Nov 29, 2021

The power of software is enormous, but the code can only be as good as the humans who write it. Despite popular belief, "being good" has nothing to do with character predisposition. It is a product of an intentional effort to nurture care and compassion. 

Today we talk with Liz Acosta, a software engineer and a developer advocate at Stacklet. Liz's past professions as a copywriter, social media manager, and odd job freelancer give her a unique perspective on software development and enables her to help teams collaborate with empathy. 

When you finish listening to the episode, connect with Liz on LinkedIn or find her on Stacklet

Mentioned in this episode:

Liz on  LinedIn at 

Liz on Stacklet at 

Exercism at 

Empathy in Tech at 

Nov 15, 2021

Building useful software requires more than just knowing how to write code. It demands curiosity to understand the problem which the software is supposed to resolve. It also requires the willingness to understand the people - not only those who will use it but also those who are building this software with you! 

Today we talk with Dawn Ahukanna, the design principal and front-end architect at IBM. She leads an integrated and consistent user-focused design across enterprise software focused on data analytics and cognitive user experiences. She shares the methods and the tools she uses when figuring out how people work - an essential piece of knowledge if you want to create the best user experience. 

When you finish listening to the episode, make sure to connect with Dawn on Twitter and LinkedIn

Mentioned in this episode:

Dawn on Twitter at

Dawn on LinkedIn at

Dawn’s website at 

Nov 1, 2021

Working together in a team requires a lot of emotional intelligence, adaptability, and empathy. Bringing two teams working together after acquisition and a merger might seem like requiring superpowers on top of that. 

Today we talk with Matt Dixon, the founder, and CEO of Front Range Systems. Matt is a tech executive helping newly acquired technology businesses create a unified culture within their workplaces. Matt gives us a sneak-peak into his practices of helping teams develop a growth mindset, adapt to new technological challenges, and become high-performing. 

When you finish listening to the episode, check out the Front Range Systems website at, and connect with Matt on Twitter

Oct 18, 2021

TypeScript has been around for quite a while, and its popularity speaks for itself.  It has never been more important to understand how to gradually and sustainably shift to TypeScript within the existing code-base. 

Today we talk with Sam Lanning, an independent software contractor in the humanitarian sector with many years of experience at GitHub and Semmle. Sam's vast experience in using TypeScript to speed up coding, eliminate debugging, and reduce technical debt helps us see the benefits of this popular programming language and foresee how to transition to it. 

When you finish listening to the episode, find Sam on GitHub and connect with them on Twitter and LinkedIn.

Mentioned in this episode:

Sam on Github at 

Sam at LinkedIn at 

Sam at Twitter at 

TypeScript at 

Oct 4, 2021

We often use real-life metaphors to make software development concepts more approachable and understandable, especially for the people just entering the field. Sometimes, however, the reverse approach could help a seasoned coder to cope with the real world. 

Today we talk with Casey Watts, the author of Debugging Your Brain, a clear applied psychology, and a concise self-help book. The human brain is buggy, just as any legacy code is. Casey tells us about techniques that can help us refactor our thinking, speed up our thought processes and ultimately debug our brains. 

When you finish listening to the episode, connect with Casey on LinkedIn and Twitter, visit his website at and, and check out his book Debugging Your Brain

Mentioned in this episode:

Casey on LinkedIn at

Casey on Twitter at

Debugging Your Brain at

Debugging Your Brain Website at

Casey’s Website at

Cognitive distortions at

Sep 20, 2021

Many programming concepts seem too complex and intimidating to outsiders. That is perhaps the main reason why writing code remains such an exclusive profession, even in the age where virtually everything depends on a written code! But does everything have to be so complicated? 

Today, we talk with Sy Brand, Microsoft C++ Developer Advocate, and a specialist for compilers and debuggers for embedded accelerators. Sy is also known for their YouTube Channel - Computer Science with Sy's Cats - where they explain programming and computer science concepts with household objects and cats. After watching only a few of Sy's videos, you will feel that programming can, and should, be much more approachable and inclusive. 

When you finish listening to the episode, connect with Sy on Twitter, start following their YouTube channel, and check out one of their live coding sessions at Twitch

Mentioned in this episode:

Sy Brand on Twitter at

Computer Science with Sy’s Cats at 

Sy Brand on Twitch at

Ivan Čukić, Functional Programming in C++ at  

Writing Error Messages for Humans at 

Sep 6, 2021

Imagine if you could perform static analysis, find bugs, and enforce code standards in more than seventeen languages with a single tool. Imagine if you could scan your code with more than 1,000 community pre-written rules and if you could easily add your own rules to match your code perfectly. Imagine if you could then flag the issues and get results in pull requests, Slack, or anywhere else without as much as a click of a mouse. 

Well, it appears that you can do all of this and more. Today we talk with Isaac Evans, an MIT alumnus, a former computer scientist at the US Department of Defence, and a founder and CEO of r2c. His company, r2c, stands behind Semgrep, a lightweight, offline, open-source, static analysis tool that profoundly improves software security and reliability to safeguard human progress. 

When you finish listening to the episode, see how Sengrep can improve your code at, or visit if you need enterprise solutions for large businesses. 

Mentioned in this episode:

Isaac Evans on LinkedIn at

Semgrep at

r2c at

Brian Foote, Joseph Yoder, The Selfish Class at

Richard Dawkins, The Selfish Gene at

Aug 23, 2021

Many IT industry giants (including Google, Facebook, Microsoft, Uber, Airbnb, and Twitter) employ gigantic monorepos to scale build systems and version control software. Although only recently named, monorepos have been around for several decades. 

Today we talk with Darko Fabijan. Darko is the co-founder of Semaphore CI, where he and his team explore new tools and ideas that improve developers’ lives. We dive deep into the benefits and challenges the transition to and utilization of monorepos can bring to your workflow and software development practice. 

When you finish listening to the episode, connect with Darko on Twitter and visit the Semaphore CI website at, where you will find great solutions for decluttering your workflow. 

Mentioned in this episode:

Darko on Twitter at

Semaphore CI at

Aug 9, 2021

A big part of dealing with legacy systems is not on the level of software architecture but interior design. The code needs to be welcoming for people who use it and maintain it, free of clutter, clean and tidy. 

Today we talk with Ester Daniel Ytterbrink. Ester Daniel is a coder who likes to think about how people work as a group to create great software sustainably. They have a blog (Chocolate Driven Development) where they write about software development with human interaction and psychology in focus. They tell us about the main principles of software interior design, guiding you to build more comfortable, functional, and efficient code. 

When you finish listening to the episode, visit Ester Daniel's blog, where you can connect with them and get some great ideas. 

Mentioned in this episode:

Ester Daniel on Twitter at

Chocolate Driven Development Blog at

Douglas Squirrel, et al, Agile Conversations: Transform your Conversations, Transform Your Culture at 

Don Norman, The Design of Everyday Things at

Jul 26, 2021

The first step to mastering any skill is demystifying it. However, this is not easy to achieve on your own, and often masters of the craft around you are not as helpful as you would hope. It is easy to forget how it is to be a novice once we achieve expertise in some field, and this leads many of us to lose the ability to introduce the craft to the incoming forces patiently and in simple terms. 

Today we talk with Sharon DeCaro. Sharon has been working as a software engineer for five years. However, this wasn't her career choice when she enrolled in the mathematics and music program at her university. Listen to Sharon as she tells us about her journey into the software industry, the hurdles she encountered, and the ways she overcame them to become a software engineer. 

When you finish listening to this episode, make sure to connect with Sharon on LinkedIn.

Mentioned in this episode:

Sharon on LinkedIn at

Andrea Goulet, Carmen Shirkey Collins, Empathy Driven Software Development at 

Jul 12, 2021

We talk a lot about software on this show. But in this episode, we steer away from our usual practice and look at one piece of hardware that every computer user is in touch with the most. Yes, it is a keyboard!  

Today we talk with Jesse Vincent - a software developer turned hardware manufacturer. Jesse is best known for his work with the Pearl programming language and the ticket-tracking system Request Tracker. However, since he invented one of the most comfortable keyboards on the market - now sold-out Keyboardio Model 01 - many associate him with hardware production. 

Jesse doesn't hold back. He reveals many secrets of modern hardware manufacturing and how to use your software experience to organize your production process. 

When you finish listening to the episode, make sure to support the production of the new Keyboardio Model 100 on Kickstarter (ends July 31, 2021), connect with Jesse on Twitter, and visit Keyboardio website at

Mentioned in this episode:

Jesse Vincent Wikipedia page at

Jesse Vincent on Twitter at

Keyboardio Model 100 Kickstarter Campaign

Keyboardio website at

TRON TK1 keyboard at

FingerWorks TouchStream at

Microsoft Natural Ergonomic Keyboards at

Jun 28, 2021

We seldomly dive deep into discussing any particular programming language on this show. However, today we are making an exception, and we talk with Chrissy LeMaire about PowerShell. Chrissy is a GitHub star, double Microsoft MVP, and a co-author of the book Learn dbatools in a Month of Lunches. She is currently a blue teamer who uses PowerShell to make the world more secure. Chrissy shares some neat PowerShell secrets that transform this framework from an ideal programming language for beginners to a well-rounded and powerful developing tool. 

When you finish listening to the episode, connect with Chrissy on Twitter, get dbatools at and check out Chrissy’s book Learn dbatools in a Month of Lunches.

Mentioned in this episode:

Chrissy on Twitter at 

dbatools at 

Chrissy LeMaire, Rob Sewell, Jess Pomfret, Cláudio Silva, Learn dbatools in a Month of Lunches at

Steve McConnell, Code Complete: A Practical Handbook of Software Construction, 2nd Ed, at

Jun 14, 2021

We behave with the cloud as a subset of technology like a teen who just learned how to drive. We are at the point where capabilities have far exceeded the ability to comprehend consequences. We have the power in our hands to change our life and other people's lives both in positive and negative ways. However, we lack the experience to foresee these results. 

Today we talk with Bobby Allen, Vice President of Strategic Alliances at Turbonomic and cloud therapist. He helps us understand the advantages and pitfalls of the cloud and teaches us how to assess our own needs and the risks we might face while using the technology. 

When you finish listening to the episode, make sure to connect with Bobby on Twitter and LinkedIn, and visit his website at

Mentioned in this episode:

Bobby on LinkedIn at

Bobby on Twitter at

Bobby’s website at

Turbonomic at 

May 31, 2021

Technical debt is a recurring theme of this show. We talk about it almost as often as it pops out in any legacy code! Today we go back to discussing technical debt with Jim Humelsine. Jim has been a software development professional since 1985. Jim's passion is design patterns, but he recently expanded his interest to software practices and procedures. Jim is also an economics and especially game theory enthusiast, and on top of everything, he is a trombone player! We dive deep with Jim into the economics of technical debt, the root causes of its ever-presence, and the ways to get rid of it. When you finish listening to the episode, make sure to connect with Jim on Twitter and LinkedIn. 

Mentioned in this episode:

Jim on Twitter at

Jim on LinkedIn at

Freakonomics podcast at

May 17, 2021

Many legacy systems lack adequate test coverage. They might not have much coverage at all, or the existing tests might be inefficient or paint a wrong picture about the stability of the system. Enhancing test coverage in legacy applications is a complex task with many pitfalls. 

Today we talk with Floyd Hilton, a software developer with many years of experience in multiple domains, including semiconductor manufacturing, financial aid delivery, energy conservation, and healthcare. He co-founded the Augusta Polyglot Group, which meets once a month to teach and learn new languages. Floyd's current interest is in finding the best strategies for adding testing to existing software systems. He shares with us some of these strategies and the tools he uses when beefing up test coverage in legacy systems. 

When you finish listening to the episode, make sure to connect with Floyd on Twitter and LinkedIn, and visit his website at

Mentioned in this episode:

Floyd on Twitter at

Floyd on LinkedIn at

Floyd’s website at

Augusta Polyglot Group at

DbUp at

Cypress at 

May 3, 2021

There has been a noticeable uptick in the adoption of public cloud providers. At the same time, the voices advocating for the abandonment of traditional data centers are getting louder. Keeping servers around to keep running their business might be overkill for many companies. For others, it could be the only reasonable choice. And even if you decide to transition to the cloud, how do you know which of its features you need? 

Today we talk to Sarah Musick, the systems engineering principal at CloudGenera, a workload placement decision engine, where she spearheads the onboarding efforts with enterprise customers. Sarah is a big believer in the targeted adoption of the public cloud in tech - the approach based on the understanding that the cloud should serve the application rather than the other way around. She helps us understand how to assess our data management needs and how to choose the options that best serve those needs.  

When you finish listening to the episode, make sure you connect with Sarah on LinkedIn and visit CloudGenera website.

Mentioned in this episode:

Sarah Musick on LinkedIn: 

CloudGenera Website: 

Apr 19, 2021

Common Lisp was written in the 80s as a kind of an amalgam of the existing Lisps at the time. To make sure the Common Lisp would stay relevant, it was made backward compatible so that existing legacy systems could run on it. One thing in common to these big old systems like Lisp is a lot more mutation, and the cool thing about this legacy is that it has a baked experience – it learns and it has learned.

Today we talk to Eric Normand, an experienced functional programmer, trainer, speaker, and consultant on all things functional programming. He started writing Lisp in 2000 and is now a Clojure expert, producing the most comprehensive suite of Clojure training material at He also consults with companies to use functional programming to better serve business objectives. 

We talk about problems in legacy code basis utilizing functional programming, the abstract nature of programs, the wisdom of Lisp, and more. 

When you’re done listening to the episode, make sure to check out Eric’s Clojure training and his podcast, as well as connect with him on LinkedIn.

Mentioned in this episode:

Eric Normand on LinkedIn:

Eric Normand’s podcast:

Eric Normand’s websites: and 

Eric Normand’s Clojure training:

Eric Normand’s book Grokking Simplicity: discount code TSSIMPLICITY for 50% off.

Apr 5, 2021

Software engineers perceive that technology advances in an orderly, linear fashion. This makes the novelties very attractive. However, the reality is that we tend to go through technology in cycles.  Recognizing this is crucial for understanding how to make the right technical decisions while preserving the value of the old technology. 

Is it better to build from scratch or build on what you have? When do you invest in something brand new, and when do you lean onto the foundations of the existing expertise? 

Today we search for answers to these questions with Marianne Bellotti, the author of Kill It with Fire –Manage Aging Computer Systems (and Futureproof Modern Ones). Marianne is internationally known for tackling some of the oldest, messiest, and most complicated computer systems in the world, and she currently runs identity and access control at Rebellion Defense. 

When you finish listening to the episode, make sure you follow Marianne on Twitter and get a copy of her book.

Mentioned in this episode:

Marianne Bellotti on Twitter at 

Marianne Bellotti, Kill It with Fire –Manage Aging Computer Systems (and Futureproof Modern Ones) at  

Rebellion Defence at

Mar 22, 2021

For most teams, dependency freshness is a pain that is often ignored. “If it works –don’t change it” is the prevailing attitude, but as a lot of applications become web-focused, dependencies inevitably start gaining traction. Why does dependency freshness matter, and how do we proactively stay on top of it? 

Today we present Freshli - the dependency freshness tool we have been working on. The microphone goes to the team involved: Cassandra Carothers, Technical Sales Manager here at Corgibytes, and Catalina De la Cuesta, Chris Cumming, and Dave Farinelli, our Lead Code Whisperers. The Freshli tool captures historical libyear metrics about a project's dependencies. Freshli stays alongside your codebase and works together with code quality tools, showing where your project is going overtime. It is designed to work with multiple languages, and it currently supports Ruby, Perl, Python, PHP, and .NET. 

 If you are interested to know more about Freshli, make sure you reach out to our team on LinkedIn after you’ve listened to the episode.

Mentioned in this episode:

Cassandra Carothers at

Catalina De la Cuesta at 

Dave Farinelli at

Chris Cumming at

Libyear at

Corgibytes at

Freshli at GitHub at 

Mar 8, 2021

When developers talk about what they find exciting, they usually talk about new things. Very little content is about the actual job, about working in the existing system. When they do talk about legacy, they usually focus on how much they hate it. Where does that animosity come from and how do we confront it?

Today we get to the bottom of it with Barry O’Sullivan. Barry is a modern web development contractor with 15 years of experience in legacy web applications. He is the founder of DDIE and the co-organizer of PHP Dublin. We discuss the fear response to legacy code, the mocking of those who created it, and the ignorance of those who are quick to mock. We look at the common mistakes that lead to the fear of legacy code and discuss some common-sense solutions to overcome what is essentially a social and skill-based problem with technology.  

When you are done listening to the episode, make sure you connect with Barry on LinkedIn, and follow him on Twitter and Github.

Mentioned in this episode:

Barry O’Sullivan on LinkedIn: 

Barry O’Sullivan on Twitter: 

Barry O’Sullivan on Github:

Barry O’Sullivan on the web: 

PHP Dublin: 

Matthew Stewart, The Management Myth: Debunking Modern Business Philosophy: 

Feb 22, 2021

We like to think that technology is our objective and neutral assistant, our faithful lieutenant constrained with science and armed with cold, hard data. But this is incorrect. Technology reflects the attitudes of humans who created it. It contains our biases and our preconceived notions. It reflects who we are while distorting our perception of who we think we are, transforming our impulse for binary simplifications into the strict binary framework of ones and zeroes. Inevitably, this leaves some folks out. 

Today we talk with Erin White, Head of digital engagement at Virginia Commonwealth University Libraries in Richmond, VA, on their fascination with the intersections of equity, justice, and computer systems. Erin tells us how technology can both advance and hamper the achievements of social equality, and how inclusive software design can help us realize our own biases and remove them from our code. 

After you finish listening to the episode, make sure you connect with Erin on LinkedIn and Twitter, where they write about technology and progressive politics.

Mentioned in this episode:

Erin on LinkedIn: 

Erin on Twitter: 

Erin White, Trans-Inclusive Design at

1 2 3 4 Next »