

Maintainable
Robby Russell
Do you feel like you're hitting a wall with your existing software projects? Are you curious to hear how other people are navigating this? You're not alone.
On the Maintainable Software Podcast, Robby speaks with seasoned practitioners who have overcome the technical and cultural problems often associated with software development.
Our guests will share stories in each episode and outline tangible, real-world approaches to software challenges. In turn, you'll uncover new ways of thinking about how to improve your software project's maintainability.
On the Maintainable Software Podcast, Robby speaks with seasoned practitioners who have overcome the technical and cultural problems often associated with software development.
Our guests will share stories in each episode and outline tangible, real-world approaches to software challenges. In turn, you'll uncover new ways of thinking about how to improve your software project's maintainability.
Episodes
Mentioned books

Dec 16, 2019 • 31min
Abby Bangser: Building Trust In Your Deployment Pipeline
Robby speaks with Abby Bangser, Senior Test Engineer on the Platform Engineering Team at MOO. They discuss how maintainable code leans on a dependable build and test process, what metrics Moo's platform engineering team measures, and codifying your pipeline – including having pipelines build on a regular basis.Helpful LinksFollow Abby on TwitterCareers at MooTester by ChoiceDeep Work: Rules for Focused Success in a Distracted World by Cal NewportSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Dec 9, 2019 • 54min
Viktor Klang: Condensing The Codebase Over Time
Robby speaks with Viktor Klang, Deputy CTO at Lightbend Inc. They discuss how to avoid constant firefighting, effective use cases of TODO and FIXME comments, and how to create a safe space for developers to make mistakes.Helpful LinksFollow Viktor on TwitterViktor's websiteLightbendCloudstateSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Dec 2, 2019 • 34min
Beth Long: Maintainable Code Prioritizes How Humans Interact With It
Robby speaks with Beth Long, Software Engineer on the Build & Deploy Tools Engineering team at New Relic. They discuss the origin of the technical debt metaphor, considering when a rewrite is necessary (spoiler alert – it rarely is), and speak about the limitations of agile across modern engineering teams.Helpful LinksBeth's websiteFollow Beth on TwitterConnect with Beth on LinkedIn[Book] Beyond Human Error by David D. Woods[Book] Sources of Power by Gary KleinSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Nov 25, 2019 • 35min
Emily Bache: It's Always More Fun to Code with Others
Robby speaks with Emily Bache, Technical Agile Coach at ProAgile. They talk about her experience coaching teams on how to improve the long-term maintainability of their software – including how to still see your direct impact when coaching instead of coding. They also dig into the social aspect of development, mob programming, and how coding is a social activity.Helpful LinksFollow Emily on Twitter[Book] Training From the Back of the Room by Sharon BowmanCoding is Like CookingConnect with Emily on LinkedInProAgileSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Nov 18, 2019 • 38min
Zee Spencer: How Can We Reduce Carrying Costs?
Robby speaks with Zee Spencer, owner of Zinc Cooperative, and programmer at Cohere. They speak about how social systems impact software maintainability, why legacy code is profitable code, and consulting within a timebox constraint.Helpful Links[Book] Mental Models: 30 Thinking Tools that Separate the Average From the Exceptional. Improved Decision-Making, Logical Analysis, and Problem-Solving[Book] Observing the User ExperienceZee on TwitterCohereCohere on TwitterZinc CooperativeSubscribe to Maintainable on:Apple PodcastsOvercastOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Nov 4, 2019 • 37min
Ana Nelson: Writing Maintainable Code Documentation with Automated Tools and Transclusion
Robby speaks with Ana Nelson, a software developer, writer, improv performer, and creator of Dexy — an open-source tool for writing any kind of technical document that incorporates code.Helpful LinksAna's websiteDexyFollow Ana on TwitterAna on GithubConnect with Ana on LinkedInWhat is Transclusion?The Modern Scholar by Professor Michael D. C. Drout[Book] On the Origin of Stories: Evolution, Cognition, and Fiction[Book] The Anatomy of Story: 22 Steps to Becoming a Master StorytellerSubscribe to Maintainable on:Apple PodcastsOvercastOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Oct 28, 2019 • 44min
Dave Aronson: Putting the M in ACRUMEN
Robby speaks with Dave Aronson, Owner, Consultant (and T. Rex) at Codosaurus.Helpful LinksCodosaurusDave on GithubFollow Dave on Twitter[Video] The Six Key Aspects of Software Quality[Book] The Pragmatic ProgrammerSubscribe to Maintainable on:Apple PodcastsOvercastOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Oct 21, 2019 • 32min
Michael Feathers: Be Curious & Chase The Rabbit Holes
In this episode of the Maintainable Software Podcast, Robby speaks with Michael Feathers, Director at R7K Research & Conveyance and author of "Working Effectively with Legacy Code." Michael shares his unique definition of legacy code, emphasizing that legacy code is essentially code without tests. This foundational idea highlights the critical role of automated testing in refactoring and maintaining codebases.Michael and Robby dive into common issues developers face, such as low test coverage and the perceived optionality of writing tests. They explore how ego and human nature often influence developers' decisions not to write tests, even when frameworks provide the tools to do so.One of the intriguing concepts discussed is a test-first IDE, which encourages writing tests before methods. Michael shares patterns and practices for integrating testing into existing projects, emphasizing the importance of social reinforcement and team collaboration in improving test coverage.The conversation also touches on the importance of code quality traits like understandability and simplicity. Michael stresses that empathy in code quality impacts co-workers and that objective measures for code quality often stem from solid design principles. They also discuss the role of code analysis tools in understanding code quality.Removing unused code from applications is another key topic, with Michael sharing insights on the relationship between business decisions and code maintenance. The discussion extends to Conway's Law and its effect on code design, providing valuable context for understanding how organizational structure influences software development.Michael shares lessons from his early career, emphasizing the importance of curiosity and deep systems thinking in software development. He also discusses his upcoming projects, including the second edition of "Working Effectively with Legacy Code."Key Takeaways:Legacy code is code without tests.Automated testing is crucial for refactoring and maintaining codebases.Developers often perceive writing tests as optional, impacting code quality.Social reinforcement and team collaboration are vital for improving test coverage.Empathy in code quality positively affects co-workers.Solid design principles help objectively measure code quality.Removing unused code is essential for maintaining a clean codebase.Conway's Law illustrates how organizational structure impacts code design.Curiosity and deep systems thinking are valuable traits for software developers.Resources Mentioned:[Book] Working Effectively with Legacy CodeMichael Feathers on LinkedInMichael Feathers on TwitterR7kr Research & ConveyanceR7kr Research & Conveyance on TwitterTurtles, Termites, and Traffic JamsConway's LawSocio-Technical Seeing: Modeling The Dynamics Of Code And AttentionMichael's blog
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Oct 14, 2019 • 51min
Justin Searls: Learn To Understand The Runtime
Robby speaks with Justin Searls, Co-Founder at Test Double. Hear Justin's experience digging into technical debt, learn why software is like a sedimentary rock, and more.Helpful LinksFollow Justin on TwitterTest DoubleRuby gem: SutureJustin's Legacy Code talk at Ruby KaigiJustin on GithubConnect with Justin on LinkedIn[Book] Growing Object-Oriented Software Guided by TestsSubscribe to Maintainable on:Apple PodcastsOvercastOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord Community
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.

Oct 7, 2019 • 33min
Patricia Aas: Intersection of Programming & Security
Robby speaks with Patricia Aas, Programming CTO at TurtleSec AS about how programming and security are intertwined.Helpful LinksTurtlesecConnect with Patricia on LinkedInMore about PatriciaPatricia on TwitterSubscribe to Maintainable on:Apple PodcastsOvercastOr search "Maintainable" wherever you stream your podcasts.Join the discussion in the Maintainable Discord CommunityLoving Maintainable? Leave a rating and review on Apple Podcasts to help grow our reach.Brought to you by the team at Planet Argon.
Subscribe to Maintainable on:Apple PodcastsSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.