

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

Nov 8, 2021 • 42min
Swizec Teller: What is a Senior (Engineer) Mindset?
Robby speaks with Swizec Teller, Senior Software Engineer at Tia and author of Serverless for Frontend Engineers. In this conversation, Swizec shares his thoughts on how startups need to learn how to leverage technical debt effectively, an introduction to his book, and the traits of a Senior Engineer Mindset.Helpful LinksSwizec on TwitterSwizec on LinkedInServerless for Frontend EngineersThe Senior Mindset SeriesTiaBlog post: How to rewrite your app while growing to a $100,000,000 series BSwizec's book recommendations:How to Win Friends & Influence People by Dale CarnegieThinking in Bets by Annie DukeSubscribe to Maintainable on:SpotifyApple 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 1, 2021 • 47min
Heidi Waterhouse: Documentation: The Best Diff is a Red Diff
In this episode of Maintainable, Robby Russell chats with Heidi Waterhouse, Transformation Advocate at LaunchDarkly and contributor to "Docs for Developers." Heidi shares her insights on the crucial role documentation plays in software maintenance, how to manage documentation debt, and why "the best diff is a red diff."Episode Highlights[00:00:53] Heidi's Take on Maintainable Software: Discussing the characteristics of well-maintained software, with a focus on modularity and context-aware decisions.[00:02:16] Documenting Context in Code: The importance of leaving behind the rationale for past decisions to help future developers understand trade-offs.[00:04:09] Stress vs. Creativity: The mental firewall between stress-driven fixes and creative problem-solving and how it affects documentation.[00:05:53] Making Documentation a Habit: Techniques for leaving helpful notes in code and why documenting as you go is crucial.[00:07:12] Documentation Debt: Exploring the concept of documentation technical debt and how it parallels code technical debt.[00:09:49] Pruning Documentation: Strategies for regularly reviewing and archiving outdated documentation to keep the signal strong.[00:12:02] Templating Documentation: How to start documenting without the fear of a blank page using templates and examples.[00:14:01] Where to Document: Tips on deciding the best place to store documentation and ensuring it is easily accessible.[00:18:47] The Pitfalls of Video Tutorials: Why video tutorials can be a time bomb and the importance of searchable, updateable documentation.[00:21:12] Starting with Public Speaking: Heidi's journey into public speaking, starting with anger-driven topics and evolving to educational resources.[00:26:26] Dealing with Rejection in Public Speaking: The reality of talk proposal rejections and why it's not a reflection of your value as a speaker.[00:30:14] Code Ergonomics: How the physical layout of code and workspace can affect developer productivity and reduce context switching.[00:36:39] Improving Documentation Culture: Advice for new team members on finding allies and starting small to improve documentation practices.[00:40:15] Integrating Documentation with Code: Making documentation part of the code review process and defining it as part of the "done" criteria.Key TakeawaysDocumentation is a crucial part of maintaining software, and its importance should not be underestimated.Regularly pruning and archiving outdated documentation helps keep the information relevant and useful.The best way to combat documentation debt is by making documentation an integral part of the development process.Public speaking can start small and doesn’t require expertise—passion and personal experiences are powerful drivers.Helpful LinksHeidi's WebsiteHeidi's TwitterHeidi's LinkedInOrder the new book, Docs for Developers, that Heidi is a co-author ofBlog post: When you stare into the blank page, it stares back at youVideo: Lillian Gilbreth: First Lady of Engineering
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 4, 2021 • 53min
DHH: Celebrating Legacy Software as a Victory and the Story of How Humans Can't Estimate
Robby speaks with David Heinemeier Hansson (aka DHH), Creator of Ruby on Rails and CTO of Basecamp / HEY.Disclaimer: Robby sat down with DHH in early March 2021 about ~5-6 weeks before Basecamp's policy changes were announced and the significant impact that had within our community. It's quite likely that some of Basecamp's internal software engineering processes have since changed.In an enthralling episode of Maintainable, host Robby is joined by David Heinemeier Hansson (DHH), the original brain behind Ruby on Rails and the CTO of Basecamp & Hey. They embark on a deep exploration of the software world, challenging conventional views and celebrating the often underappreciated aspects of software development.The discussion kicks off with a refreshing perspective on legacy software. DHH and Robby delve into why legacy software should be celebrated as a victory, a testament to its success and durability in a fast-evolving tech landscape. This sets the stage for a broader conversation about the lifecycle and evolution of software products.They then shift gears to Basecamp's approach to versioning their SaaS products. Unlike the common industry trend of continuous iteration on a single version, Basecamp has made strategic choices to release new versions, a decision rooted in their unique business and product philosophy. This leads to an insightful discussion on how Basecamp handles the balance between innovation and maintenance, including the management of security backports and the upkeep of their software.DHH introduces listeners to the concept of ShapeUp, Basecamp/HEY's innovative approach to project management. He explains how their team uses two-week cooldown periods to manage bugs and follow-up work, ensuring that the development process remains agile and responsive to emerging needs.The conversation also delves into the specialized teams at Basecamp, such as the Security Infrastructure Performance (SIP) team, which plays a crucial role in addressing security concerns and handling reactive work. This is juxtaposed with the Research & Fidelity team's focus on building and extracting frameworks, highlighting the diverse strategies employed to maintain and evolve a robust software environment.A significant portion of the discussion revolves around Ruby on Rails. DHH shares why a major rewrite of Rails has never been necessary, attributing it to the framework's solid foundation and continuous improvement. He also sheds light on the types of testing that provide the most value in their Ruby on Rails applications and offers a candid take on Test-Driven Development (TDD).Finally, DHH and Robby discuss the importance of budgeting time and resources in software projects, contrasting it with traditional estimating methods. They conclude with a discussion on the competitive advantage of Ruby on Rails in the current technology landscape and why it's perfectly fine that Rails isn't always the center of tech conversations anymore.Book Recommendation: "The Manual" by EpictetusHelpful LinksDHH on TwitterDHH on HeyShape UpBasecampHEYBlogRuby on RailsDHH on GithubSubscribe 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.

Aug 2, 2021 • 41min
Matt Wynne: Cucumber and Why Is TDD Such a Challenge?
Robby speaks with Matt Wynne, who is currently a co-lead of Cucumber Open and a BDD Advocate at SmartBear. They cover an introduction to Cucumber and how it fits into a software team's toolbox, the importance of reliable tests and speedy tests for quick feedback loops, and why teams struggle to introduce TDD into existing software applications.Helpful LinksCucumberSmartbearGherkinTechnical Debt vs Technical WasteFollow Matt on TwitterMatt's blogBook Recommendation: Zen and the Art of Motorcycle Maintenance by Robert M. PirsigSubscribe 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 19, 2021 • 46min
Tom Granot: Finding Your Style When Explaining Things to Technical Audiences
Robby speaks with Tom Granot, Solution Engineer at Lightrun. They discuss producing content for technical (and non-technical) audiences, why consistency in your communication style matters, and the importance of good bug reporting and resolution.Helpful Links:[Book Recommendation] The Hacker's Diet by John WalkerFollow Tom on TwitterTom's websiteLightrunMonica CRMAsync http clientSubscribe 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 28, 2021 • 47min
Andrew Watkins: How To Test What You're Trying to Build
Robby speaks with Andrew Watkins, VP of Engineering at Buildops. They dig into what it means to be "easily testable", the downsides to being allured by new technology, and why rewrites are really, really tough.Helpful LinksConnect with Andrew on LinkedInFollow Buildops on LinkedIn[Book Recommendation] Heroes DieSubscribe 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 21, 2021 • 45min
Rodney Cobb: Repeatable. Testable. Scalable.
Robby speaks with Rodney Cobb, Principal DevOps Engineer at Remine Inc. They discuss the three verticals of maintainable systems, the importance of mental health days, why all work needs to be visible and tracked, comparing DevOps to Hip Hop culture, and taking time to ask yourself, "when do I take the time to level up?"Helpful LinksRodney on LinkedInBook Recommendation: Influence: The Psychology of Persuasion by Robert B Cialdini PhDSubscribe 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 14, 2021 • 41min
Dr. Michaela Greiler: Getting Awesome at Code Reviews
Robby speaks with Dr. Michaela Greiler, Founder and Trainer at Awesome Code Review Workshops. They discuss the importance of taking time to revisit past technical decisions, what is/isn't technical debt, as well as the distinction between protecting the quality of the code and expanding the knowledge of what is changing in a software codebase.Dr. Greiler also talks about some mistakes that engineers make when conducting code reviews. She also shares helpful tips on how to provide meaningful feedback without making it personal and/or blaming.Helpful LinksDr. Greiler's WebsiteWorkshopsPodcastDr. Greiler on TwitterSE Unlocked on TwitterDr. Greiler on LinkedIn[Book Recommendation] Essentialism, Greg McKeown 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.

May 24, 2021 • 53min
Mark Kilby: Overcoming Challenges that Remote Technical Teams Experience
Robby speaks with Mark Kilby, Distributed Agile Guide and Founder at K5 Labs. They discuss the benefits of healthy and reliable automated tests, symptoms of when things are not working, challenges that teams may face in different types of remote working scenarios, and what effective communication looks like amongst team members. Mark also gives advice on things to consider as an Agile coach and how to build your Agile toolbox.Helpful LinksMark's WebsiteMark on Twitter[Book Recommendation] The 7 Habits of Highly Effective People, Stephen R. Covey[Book Recommendation] From Chaos to Successful Distributed Agile Teams: Collaborate to Deliver, Johanna Rothman and Mark Kilby[Article] Is hybrid-remote going backward or forward? 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.

May 19, 2021 • 51min
Kevin Stewart: Short-term Decisions That Need To Be Revisited
Robby speaks with Kevin Stewart, VP of Engineering at Harvest. They discuss fighting ideological battles, why time-to-deploy is one of the most valuable metrics to measure and improve, and why teams should be revisiting their technical stack decisions. Kevin also gives advice to developers and shares some approaches to running internship programs.Helpful LinksKevin's Websiteleaddev.comKevin on TwitterKevin on LinkedInCareers at Harvest[Book Recommendation] The Hard Thing About Hard Things, Ben HorowitzSubscribe 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.