Bertold Kolics: Are You Carrying the Weight of Dead Code?

EP-096 | April 12, 2021 | 51:54

In this episode of Maintainable, Robby Russell sits down with Bertold Kolics, Software Quality Manager at mabl, to discuss the critical role of automated testing, the challenges of maintaining legacy code, and the art of pruning dead code from your software projects. With a focus on enabling teams and fostering maintainable software, Bertold provides practical insights into how developers and testers can work together to keep codebases lean, healthy, and efficient.

Episode Highlights

  • [00:05:32] Automated Testing as Documentation: Bertold emphasizes the importance of automated tests in documenting application behavior, making them a crucial tool in maintaining a clean and well-functioning codebase.
  • [00:12:33] Dead Code and Code Pruning: Explore Bertold's analogy of carrying the extra weight of unused features and dead code, and why it’s essential to prune your software regularly to maintain its health.
  • [00:21:24] Third-Party Dependencies and Risks: Discussion on the risks associated with third-party libraries and APIs, and how to manage them effectively to avoid unexpected technical debt.
  • [00:29:09] Contextual Decision-Making: Bertold shares insights on why copying processes from other companies, like Spotify’s squad model, doesn’t always work and the importance of context in decision-making.
  • [00:36:00] Contributing Back to Open Source: Advice on the importance of contributing back to open-source projects that your company relies on, whether through code contributions or financial support.
  • [00:41:02] Running Internship Programs: Bertold discusses the value of integrating interns into real projects and how it benefits both the interns and the existing team.
  • [00:49:00] Starting with Automated Testing: Practical advice for developers in teams lacking comprehensive test suites, with tips on how to begin implementing automated testing effectively.

Key Takeaways

  • The Power of Automated Tests: Automated tests don’t just verify code; they serve as living documentation, reducing the need for constantly updated documentation files.
  • Prune Your Code Regularly: Just like a garden, your codebase needs regular pruning to remove outdated or unused features, which can otherwise become a burden.
  • Manage Third-Party Dependencies Carefully: Every third-party component adds potential risk. Choose libraries and APIs carefully, and always have a plan for managing updates or deprecations.
  • Context Matters: Understand the specific context of your business and team before adopting processes or tools that worked well for others.
  • Contribute to Open Source: If you rely on open-source tools, consider contributing back to those projects, whether through code, documentation, or financial support.
  • Integrate Interns into Real Projects: Give interns the opportunity to work on real-world projects to provide them with valuable experience and integrate them fully into your team.

Helpful Links

Subscribe to Maintainable on:

Or search "Maintainable" wherever you stream your podcasts.

Join the discussion in the Maintainable Discord Community

🎧 Listen from Anywhere 🪐

You can find the Maintainable Software Podcast on all the usual places you can find tech podcasts.

Subscribe to the Maintainable Podcast Newsletter

Elevate your coding journey with insider insights from Robby and the pros. Discover the secrets to tackling technical debt and revitalizing legacy code, all in one place. Because who says you can't teach an old code new tricks?