

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

Aug 20, 2024 • 44min
Obie Fernandez: Pioneering AI in Ruby on Rails Development
Obie Fernandez, a pioneer in AI integration with Ruby on Rails development, shares insights on maintaining robust software. He emphasizes the value of test coverage and readable code while discussing the unique advantages of Ruby's syntax. Obie explores the challenges and strategies in integrating AI-driven APIs and introduces Olympia, his AI-powered platform. He highlights AI's transformative potential in handling errors and reshaping programming approaches, as well as revealing a sneak peek of his upcoming book on application development using AI.

Aug 13, 2024 • 43min
Tekin Süleyman: Balancing Complexity and Team Size
Topics DiscussedCharacteristics of Well-Maintained Software: Tekin emphasizes the importance of software that is easy to change and tailored to the team's needs.Balancing Complexity and Team Size: Tekin discusses how his small team manages complexity and features to maintain sustainable work practices without overburdening the developers.GovUK Project Insights: Tekin shares his experiences working on the GovUK project, highlighting the challenges and breakthroughs in rationalizing the UK's government digital real estate.Version Control Best Practices: Tekin and Robby delve into the importance of well-written Git commit messages and how they preserve institutional knowledge.Connecting with End Users: Tekin advocates for developers to get closer to end users to better understand their needs and deliver more effective solutions.Key TakeawaysMaintaining software sustainability is crucial, especially for small teams.Intentional decisions about growth and complexity can prevent burnout and maintain productivity.Direct interaction with end users can significantly improve software quality and usability.Effective version control practices help preserve valuable institutional knowledge.Organizations should balance parallel work to avoid overburdening development teams.Resources MentionedGovUK GitHub RepositoryProgramming as Theory Building by Peter Nauer User Story Mapping by Jeff PattonA Branch in Time (a story about revision histories)Tekin on Ruby.socialJoin Together CooperativeBook Recommendation: Palestine +100: Stories from a Century After the NakbaDon't miss this insightful conversation with Tekin Süleyman as he shares his journey and best practices for maintaining sustainable software within small teams.Thanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Use the code maintainable to get a 10% discount for your first year. Check them out!
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 8, 2024 • 42min
Ryosuke Iwanaga: The Benefits of Cell-Based Architecture
Ryosuke Iwanaga, President of OpsBR Software Technology Inc., shares his extensive knowledge on software architecture and maintenance. He discusses the importance of single-threaded ownership for better software maintenance and the evolving strategies to manage technical debt in legacy systems. Ryosuke emphasizes effective change management and the benefits of phased rollouts with feature flags. He dives into cell-based architecture, exploring its scalability and reliability, while also addressing the need for operational excellence through automation and monitoring.

Jul 30, 2024 • 48min
Julia Ferraioli - Capturing Untold Open Source Stories
Julia Ferraioli, an Open Source AI/ML Strategist at AWS and co-founder of Open Source Stories, dives deep into the world of open source. She discusses what makes software well-maintained and the balance between creativity and clarity in coding practices. Julia highlights untold stories from open source contributors, addressing the challenges they face. She also explores the evolving landscape of technical debt and the importance of narratives in shaping a supportive community for developers.

Jul 23, 2024 • 45min
Tanmai Gopal: Unlocking the Potential of Unified APIs
In this episode of Maintainable, Robby Russell sits down with Tanmai Gopal, the CEO and co-founder of Hasura. Tanmai shares his insights into the characteristics of well-maintained software and the importance of a codebase that no team member fears. He emphasizes the need for accessibility and understandability in code, making it easier for developers to work with and iterate upon.Tanmai dives deep into the metaphor of technical debt, urging teams to prioritize product outcomes over best practices. He highlights the value of addressing technical debt contextually and in a way that aligns with product goals.A significant portion of the discussion revolves around the concept of the "super graph" in GraphQL. Tanmai explains how a unified API, created through federated GraphQL, can streamline API integration and reduce latency. He compares GraphQL with RESTful APIs, showcasing the advantages of a graph-based approach for handling complex data relationships.Tanmai also introduces Hasura's platform, which introspects databases, code, and APIs to create a comprehensive super graph. This platform simplifies API management, making it easier for developers to maintain and evolve their applications.Listeners will also learn about Hasura's upcoming user conference and the new features they plan to unveil. Tanmai shares his top science fiction book recommendations and where to follow his thoughts on software engineering online.Key Takeaways:The importance of a fearless codebase for well-maintained software.Strategies to improve code accessibility and understandability.The metaphor of technical debt and its contextual importance.The concept and benefits of a super graph in GraphQL.How Hasura simplifies API management through introspection.Upcoming Hasura user conference and new features.Resources Mentioned:HasuraTanmai Gopal on LinkedInN.K. Jemisin's Broken Earth TrilogyNaomi Novik's UprootedMartha Wells' Murderbot DiariesThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and soon, other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Check them out!
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 16, 2024 • 44min
James Socol: Building Social Capital in Engineering Teams
In this episode of the Maintainable Software Podcast, Robby Russell sits down with James Socol, a Staff Engineer at Fastly, to discuss the art of maintaining legacy code and the nuances of technical debt versus technical depreciation.Key Topics Discussed:Characteristics of Well-Maintained Code: James shares his insights on what defines well-maintained code, emphasizing the importance of continuous maintenance, testing, and encapsulation.Technical Debt vs. Technical Depreciation: James introduces the concept of technical depreciation, distinguishing it from technical debt and explaining how time affects software maintenance.Balancing Old and New Patterns: The discussion explores the challenges of integrating modern standards into legacy systems and finding a healthy balance.20% Time for Maintenance: James advocates for dedicating a portion of engineering capacity to maintenance tasks, drawing parallels to Google's 20% time concept.Onboarding Strategies: James offers valuable advice for new hires, emphasizing observation, gradual involvement, and building social capital within the team.Continuous Delivery and Big Changes: Insights into managing significant changes in a continuous delivery environment, with practical strategies for maintaining stability.Resources Mentioned:Riot Engineering Blog: A Taxonomy of Tech DebtSilicon Valley Product GroupLaura Hogan's Donut TheoryBooks:Getting to Yes by Roger Fisher & William UryTurn the Ship Around by L. David MarquetThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and soon, other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Check them out!
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 10, 2024 • 46min
Paola Ducolin: Building Trust and Communication in Engineering Teams
In this episode of Maintainable, Robby chats with Paola Ducolin, Staff Engineer at Datadog. Paola shares her insights on the characteristics of well-maintained software, the common struggles teams face, and effective strategies for working with stakeholders to prioritize refactoring.Key Topics Discussed:Characteristics of Maintainable Software: Paola explains the importance of well-documented code and having tests that automatically detect breaks.Challenges in Maintaining Software: The impact of business pressures on maintaining code quality and how teams can navigate these challenges.Working with Stakeholders: Strategies for communicating the importance of refactoring and measuring the impact of technical debt on business objectives.Role of Staff Engineers: Paola’s journey to becoming a staff engineer and the responsibilities that come with the role, including coordination and networking.Documentation and Design Systems: The power of documentation and how design systems can serve as a model for well-documented and maintainable code.Observability and Monitoring: An overview of Datadog's tools for observability and monitoring, and how they help in maintaining software quality.Resources Mentioned:DatadogMy Path to Staff EngineerSarah Drasner: The Art of Code CommentsBook RecommendationsRadical CandorCrucial ConversationsBe sure to follow Paola on LinkedIn and stay tuned for more insightful conversations on Maintainable.Thanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and soon, other frameworks.It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.Keep your coding cool and error-free, one line at a time! Check them out!
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 18, 2024 • 41min
Robin Heinze - React Native and the Art of Flexibility
In this episode, Robby welcomes Robin Heinze, Director of Engineering at Infinite Red, to discuss the intricacies of building and maintaining robust software systems. Key topics covered include:Characteristics of Maintainable Software: Robin shares insights from her team on what makes software maintainable, emphasizing the need for clear documentation, robust setup scripts, and ongoing code refinement.Technical Debt: They delve into managing technical debt, particularly in a consultancy setting, and how to balance client expectations with software quality.React Native: Robin explains the advantages of using React Native for cross-platform development, highlighting its efficiency and accessibility to a broader range of developers.Consultancy Challenges: The conversation also covers the unique aspects of working in a consultancy, including how to embed standards while respecting client processes.Major Takeaways:Effective communication and a proactive approach to maintenance are crucial in software development.Visual elements like graphics can significantly enhance the accessibility and appeal of open source projects.Book Recommendation:A Thursday Murder Club Mystery Series by Richard OsmanHelpful Links:React NativeInfinite RedChain React ConferenceReact Native Radio PodcastFor more insights, make sure to follow Robin on: LinkedInTwitterThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and soon, other frameworks. It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications. Keep your coding cool and error-free, one line at a time! Check them out!
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 11, 2024 • 37min
Scott Hanselman - The Fear Factor in Maintainable Software
Scott Hanselman, a VP at Microsoft, and host of Hanselminutes Podcast, discusses fear in maintainable software. He talks about addressing technical debt rooted in fear, building team culture of confidence, and using inner and outer loop thinking for better software development.

Jun 4, 2024 • 46min
Stig Brautaset: Understanding Alien Artifacts in Legacy Code
In this episode of Maintainable, Robby chats with Stig Brautaset, Staff Software Engineer at CircleCI. Stig shares his insights on maintaining well-documented but complex legacy code, the impact of team dynamics on software maintenance, and his experiences with the SBJSON library.Stig discusses the characteristics of well-maintained software, emphasizing the importance of team experience, domain knowledge, and risk appetite. He reflects on his own career journey, highlighting the transition from overconfidence to a balanced approach to risk-taking.A significant portion of the conversation delves into Stig's concept of "Alien Artifacts," which describes highly resistant legacy code written by highly skilled engineers. He explains the challenges of modifying such code and shares examples from his own experiences.Stig also talks about his work on the SBJSON library, addressing the complexities of handling multiple versions and dependency conflicts. He advocates for developers maintaining the software they ship and discusses the balance between shipping features quickly and maintaining long-term code quality.Key TakeawaysThe influence of team dynamics on software maintenanceUnderstanding the concept of "Alien Artifacts" in legacy codeStrategies for handling multiple versions of a software libraryThe importance of developers being on call for the software they shipManaging different types of technical debtBook Recommendation:The Scout Mindset by Julia GalefStig Brautaset on LinkedInAlien Artifacts Blog PostSBJSON Library CircleCIThe Confident Commit PodcastHelpful Links:Stig Brautaset on LinkedInAlien Artifacts Blog PostSBJSON Library CircleCIThe Confident Commit PodcastWant to share your thoughts on this episode? Reach out to Robby at robby@maintainable.fm.Thanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and soon, other frameworks. It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications. Keep your coding cool and error-free, one line at a time! Check them out!
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.