Mastering Tech Debt with Lou Franco of Greenwave Solution (Scaling Tech Podcast Ep52)

Technical debt is a reality we all face in software development. It’s something we all manage, constantly making trade-offs about when and how to best tackle it.

Today, we’re diving into the best team practices for addressing tech debt with expert software engineering leader Lou Franco. 

Lou is a software product development advisor and independent engineer currently working on a book focused on tackling tech debt. With 30 years of experience in delivering applications for financial institutions, enterprise companies, and startups, Lou has been an integral part of leadership teams at three startups that had successful exits. He also served as a principal engineer at Trello during its acquisition by Atlassian.

In this episode of Scaling Tech, Lou and Arin explore how to manage tech debt effectively through clear team practices, proactive tracking, and essential tools to prevent it.

If you’re wondering how to help your team move through tech debt, this episode is filled with practical tips you can use today. Don’t miss it!

Listen to the full episode on Spotify
Listen to the full episode on Apple Podcasts

Watch the video:
Key Insights are below

About Guest:

Name: Lou Franco

What he does: He’s an Independent Software Engineer.

Company: Greenwave Solution

Where to find Lou: LinkedIn | Website

Key Insights

What exactly is tech debt? While there are a lot of definitions of tech debt, at its core, tech debt is about how it affects your developers’ workflow and productivity. Lou says, “I think the kinds of things that make it more like tech debt is the more that the benefit of paying it is to developers themselves working on the code, that the more it’s about developer productivity, then it’s more likely tech debt. The less visible it is to customers and stakeholders, the more it’s like tech debt.”

Technical debt can happen naturally as the world changes. Tech debt doesn’t have to be due to rushed coding or bad decisions. It can be a natural consequence of technological progress. Lou says, “If you look up the, let’s say, the dictionary definition of tech, it’s going to say something like it was a shortcut taken by a developer and or something like that. Thinking about it more like mortgage debt or credit card debt. And actually I kind of reject most of the financial debt metaphor because it makes us think that way. Whereas I think of it more as just it’s resistance that’s slowing you down, and you care about it because you’re trying to go that way.”

Managing technical debt begins with clear practices. When your team has the right practices in place, everything runs more smoothly and allows them to focus on the bigger picture. Lou highlights some of the most important practices, “You have your style guide. Do use tabs, do I use spaces, or how do I use curly braces? That’s great. Hopefully, you use automatic formatting to deal with that. But what you also want in there is something that addresses some of your tech debt ideology. […] I think that’s a really important enabling team practice. Another one and this more involves management. We did this on our team at Atlassian […] we had a segregated PM lead resource allocation and engineering led resource allocation.”

Episode Highlights

Tech debt is sometimes a by-product of the evolving technology

Tech debt doesn’t always arise from taking shortcuts. Sometimes, it’s simply a result of how the world changes. Lou explains, “I wouldn’t characterize it as something that comes from a shortcut. I think of it more like I said, the world changing. For example, my first job, we wrote desktop applications for DOS. And they were fine. We didn’t have shortcuts. The code was great. It worked exactly as it should. And then Windows came out and we were all kind of okay with that. We could deal with it. Just have to change the rendering part of the program. Most of the rest was okay. And then the web was invented. And then, basically, the entire code base was now tech debt. It’s not because we took shortcuts. We didn’t know this existed. Just things change, and that’s happening. Mobile, AI, these things are just happening. It’s turning entire parts of code bases into what I would characterize as tech debt in the sense that you can’t move forward in the way you want to with the code base you have.”

Using the right tools is an effective way to prevent tech debt 

Using coding tools and plugins can significantly help prevent technical debt. Lou shares his strategy, “There are a couple of things I have installed that are about helping me not get into a tech debt situation. So one of the things I try to do is give me an assessment of how bad you think this code is while I’m looking at it. So, in my edit, I have two plug-ins. One is just showing me the code coverage of my unit tests. So, in the gutter, it’s called coverage gutters or something like that. In the left gutter, it’ll basically show me a visualization of my coverage. Xcode can do this. A lot of editors can do this. And I really recommend that you have some sense of what your code coverage is doing for you while you’re looking at the code and you’re about to change it so you know that you have tests that are kind of helping you. But testing alone needs to be combined with how complex the code is.”

How to manage tech debt in the era of AI

While AI and technical advancements may eventually reduce the need for addressing certain technical debt, it’s still important to pay attention to it today for the sake of your team’s productivity. 

Lou explains, “Paying tech debt helps with productivity and it’s doing that by extending your flow, by letting there be shorter feedback loops like lowering your cognitive load. It’s just making you faster. Those things also make you happier. If you look into the research on happiness, flow time makes people happy, not having a high cognitive load makes people happy. In my whole scoring mechanism, I also have a joy metric. How much joy would I have to just pay this piece of tech debt? And it’s something you should consider. And I think the big reason to not ignore tech debt even if you think AI is going to pay it off next year, in the meantime, there’s quite a lot of frustration happening on your team. And I think that alone trumps whatever gain you might get.”