
Maintainable
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.
Latest episodes

Aug 8, 2022 • 45min
Casey Watts! - Culturesmithing
Robby has a chat with Casey Watts!, the Founder at Happy and Effective and the author of Debugging Your Brain. Their conversation begins with Casey calling out engineers who go about the maintainability of their software by just cleaning stuff up instinctually instead of having a deliberately prioritized engineering backlog. He talks about the importance of team leaders giving engineers leeway to choose when to explore and try things, and even take some free time. That enables the engineers to feel more autonomous and have more ownership. Casey also shares strategies for managing technical debt and how teams can invest in moving faster. And on the topic of team culture, he will dig into the concept of culturesmithing and talk about the five levers that can be used to make changes happen, for example, in engineering and prioritization of backlogs. You will get to learn about the service engagements that Happy and Effective offers and gain so much more value in this candid 44-minute conversation that Robby and Casey had. Stay tuned for more.Book Recommendations:Storytelling with Data by Cole Nussbaumer KnaflicHelpful LinksCulturesmithing @ RailsConf 2022 Coursera: Human-Centered Design: an IntroductionCasey on TwitterHappy and EffectiveEmpathy in TechDebugging Your BrainSubscribe 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.

Aug 1, 2022 • 30min
Marc Cornellà - Maintaining Open Source Projects
Robby has a chat with Marc Cornellà, the official maintainer and major contributor for the Oh My Zsh project. Marc will start off by sharing his wisdom on the characteristics of well-maintained proprietary software. He will also tell us whether the same characteristics apply when it comes to open-source software. Marc started contributing to open-source projects back in 2011 when he worked on a university project that generated schedules for new students. In 2015, he transitioned to Oh My Zsh, which has been the biggest project he’s ever worked on. Oh My Zsh is a framework for Z Shell that allows engineers to install and use different themes that one can personalize according to the look and feel of their terminal. It has 200+ plugins and about 100 themes. It not only allows one to use plugins and themes from other projects, but also offers thousands of helpful functions, helpers, and so much more. The great thing about Oh My Zsh is that an engineer doesn't have to be an advanced hacker to use it. Marc will among many other things share strategies that can be used to help organize and prioritize a popular project that has a consistent 400 to 500 open pull requests from people across the planet, and some future ideas for Oh My Zsh. You won’t wanna miss this one. Enjoy!Book Recommendations:Parable of the Sower by Octavia E. ButlerHelpful LinksMarc on TwitterMarc on GitHubOh My ZshOh My Zsh on GitHubSubscribe 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.

Jul 4, 2022 • 43min
Shanea Leven - How To Bring Visibility To Your Codebase
Robby has a chat with the CEO and Co-Founder of CodeSee, Shanea Leven. The conversation starts with Shanea’s insights on the relatively unknown shift left movement which, from her own hands-on experience, has been a very great way for engineers to write maintainable and resilient code. The shift left movement emphasizes on moving, understanding, and visualizing code while moving everything closer to development when one is writing their code instead of waiting until things are in production. That has proven to be very helpful as codebases increase in size and complexity because it enables engineers to catch things before they write their code. Shanea talks about the importance of code visibility (Being able to visually summarize how your code is working at every step of the development process before production) and how to go about it. She shares how the code visibility movement is helping engineers overcome the challenges they face when they go into legacy codebases to try and refactor them and get them back to their clients in a way that the clients can be able to maintain them. Tune in as Robby and Shanea dive into a lot more juicy topics around managing documentation, how CodeSee offers great value to engineers, tech debt, spatial reasoning, and much more.Book Recommendations:Crucial ConversationsHelpful LinksCodeseeCodesee LearnOpen Source HubBlog post discussing spatial reasoningTalk including discussion on spatial reasoning Subscribe 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.

Jun 27, 2022 • 45min
Greg Foster - A Pattern for Smaller, Faster, and Frequent Code Reviews
Robby has a chat with Greg Foster, the Co-founder and CTO of Graphite, an open-source CLI and code review dashboard built for engineers who want to write and review smaller pull requests, stay unblocked, and ship faster. Based on his tons of infrastructure engineering, he highlights getting modules and interfaces right as one of the ways to create clean maintainable software.They cover a variety of topics including a technical introduction to Graphite’s tooling, the challenges that come with SOAs versus monolithics especially for small teams, why monorepos might be a better approach for your software team's workflow, types of metrics a team should track, and how can we, as software developers, help the product team understand the value of investing time in maintenance tasks to keep output optimal. Stay tuned for more!Book Recommendations:A Philosophy of Software Design By John OusterhoutThe Mom Test by Rob FitzpatrickHelpful LinksGreg on LinkedInGreg on TwitterGraphite WebsiteSubscribe 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.

Jun 13, 2022 • 39min
Urban Hafner - Management Isn't For Everyone
Robby has a chat with Urban Hafner, a Senior Software Developer at Risk Methods. The episode starts off on a high note with Urban explaining that maintainable software is all about time being spent on looking after one’s code base. While it doesn’t guarantee that a code base will be perfect all the time, Urban insists that it makes things better than when an engineer just develops new features and leaves everything else the same. That ends up causing huge messes that are an uphill task to clean up. From his years of experience, he also shares how team attrition negatively affects the maintainability of a code base, the challenges that startups face when the original agency and/or developers depart from their software projects, the importance of measuring your progress on maintenance work to keep the momentum up, and a lot more of his wealth of engineering wisdom. The experience he had going from a software engineer to an engineering manager, only to realize that he wasn't a good manager, and then navigating back into an individual contributor role will make for a very interesting story. So don’t miss out. See you on the inside!Book Recommendations:Teixcalaan Series by Arkady MartineHelpful LinksUrban on TwitterExpanding Beyond PodcastSubscribe 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.

May 30, 2022 • 40min
Amy Isikoff Newell - Code Shouldn't Drive Us To Drink
Robby has a chat with the VP of Engineering at ConvertKit, Amy Isikoff Newell. Amy starts off by talking about why perfection is the enemy of software development. There’s no engineer who likes admitting that there are messy bits in their code. They think the messy bits shouldn’t be there, but that's not possible. Amy feels that when it comes to the maintainability of software, it shouldn’t drive an engineer to drink. For her, well-maintained software should be about delivering great value to users with minimal pain points.She ends up talking about a lot of skills that are excellent for software engineers as well as managers. She also shares her expertise on career path options for engineers between being an individual contributor and transitioning into management, how managers can reduce drag on their engineering teams by applying a human-focused approach to their management, how technical debt can impact both the recruitment and retention of software engineers, and so much more.Book Recommendations:Thanks for the Feedback: The Science and Art of Receiving Feedback Well By Douglas Stone & Sheila HeenHelpful LinksAmy on TwitterAmy on LinkedInAmy’s NewsletterAmy’s WebsiteConvertKit is HIRINGSubscribe 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.

May 27, 2022 • 42min
Podcast Panel at RailsConf 2022
Robby was invited to join a panel of several hosts from podcasts at RailsConf 2022 in Portland, Oregon. In their conversation, they discuss podcasting, engaging with our listeners, the state of the Ruby and Rails communities, we also dug into some topics related to maintaining open source projects, opening doors for juniors into our industry and into open source, among other topics.This episode will be cross-posted across several of our podcasts.Hosted by Jemma Issroff, Brittany Martin, Robby Russell, Chris Oliver, Jason Charnes, Andrew Culver, Andrew Mason, Nicholas Schwaderer, and Colleen Schnettler.Podcasts InvolvedThe Ruby on Rails PodcastMaintainable Software PodcastFramework FriendsRemote RubySoftware SocialJoin the discussion in the Maintainable Discord CommunitySubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.
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.

May 16, 2022 • 52min
Chelsea Troy - All Code Has Maintenance Load
Robby has a chat with Chelsea Troy, the Staff Software Engineer on machine learning and backend systems at Mozilla. Chelsea also maintains the Zooniverse Citizens Science mobile app, the NASA landslide data processing pipeline, and a few other open-source projects. She is a maintainer for the rock programming language and mentors formerly incarcerated technologists through Emergent Works. She teaches Python and mobile development at the University of Chicago’s Master's program in Computer Science, hosts workshops for O’Reilly, and writes at ChelseaTroy.com For Chelsea, one of the most important characteristics of well-maintained software is a conscious effort to ensure that enough context remains available for engineers who come in without existing familiarity with the system to gain that context and maintain it. She shares more of her valuable insights on how we can go about making software more maintainable and explains why she’s not a proponent of the term “Technical debt”. She also talks about some of the strategies she uses to quantify maintenance work, how engineers can document their code with more helpful error messages that provide more context, and how to discuss the removal of features to reduce long-term maintenance load with a product team. To learn more, including what you should do when you join a new team with existing software, stay tuned. Book Recommendations:Cork Dork by Bianca BoskerHelpful LinksChelsea on TwitterChelsea’s WebsiteA Rubric for Evaluating Team Members’ Contributions to a Maintainable Code BaseQuantifying Technical DebtReducing Technical DebtSubscribe 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.

Apr 25, 2022 • 45min
Paula Paul - Getting People To Understand Is a Challenge
Robby has a chat with Paula Paul, a distinguished engineer with Greyshore Associates, where she helps organizations adopt cloud-native technology and serves the community as an ABI Syster, diversity speaker, and mentor. Paula entered the workforce in the early ‘80s as a software engineer with IBM , where she shipped her first product on magnetic tape. She’s had roles in product development, engineering management, consulting, and she’s led several modernization efforts along the way.Paula will highlight readability and unit testing as the two most important characteristics of maintainable software, and dive into what legacy code really is, how technical debt has changed over the years, and how the industry underestimates the emotional and mental cost of context-switching. From her many years in the game, Paula will also talk about her long experience of software modernization and share her expertise on why engineers should pay enough attention to cleaning their code as they go, how organizations have to grapple with different challenges due to ineffective technical decision making processes, finding the right balance of automated testing, and so much more.For those of you who are trying to figure out what direction to head in where your engineering careers are concerned, Paula will share her wisdom in what it’s like to work in the consulting space versus a product-oriented organization. It’s going to be one very resourceful episode so don’t miss out.Book Recommendations:The City of Ember by Jeanne DuPrauHelpful LinksThe Greyshore WebsitePaula on LinkedInPaula on MediumPaula on TwitterCrucial ConversationsThe Practice of Adaptive LeadershipSubscribe 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.

Apr 18, 2022 • 48min
Ben Halpern - Adventures In Open Sourcing Your Existing Application
Robby has a chat with Ben Halpern, the creator of Dev.to and a Co-Founder of Forem, a platform that Dev.to is based on. Ben shares from his experience, that well-maintained software needs to have a clear purpose and context that’s available as one is reading it and within the documentation as needed while also being flexible for future evolution. When it comes to dealing with the common challenge of naming variables and functions when we write, Ben says a glossary is fundamentally important.He then introduces us to Dev.to, shares the story of how they opted to open source the underlying platform, and what they needed to be ready to share it with the public. He also talks about how that open source software evolved out of Dev.to and became a core aspect of their financial success. Ben advises engineers to avoid overcorrecting each time they start up a new software project. And for those of us who may be considering open-sourcing our software, Ben will enlighten us on the things we should consider beforehand (In particular, security). Tune in to our conversation for that and more!Book Recommendations:Creative Quest by QuestloveHelpful LinksBen’s TwitterBen on GitHubBen on Dev.toForem WebsiteForem on GitHubDev.to CommunityAlso…follow Robby on Dev.to!Subscribe 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.