
Maintainable
227 episodes — Page 2 of 5

Ep 172Scott Hanselman - The Fear Factor in Maintainable Software
In this episode of Maintainable, Robby welcomes Scott Hanselman, VP of Developer Community at Microsoft and host of the Hanselminutes Podcast, to discuss the emotional side of maintainable software. Scott shares his thoughts on fear as a common thread in poorly maintained software, the importance of building a team culture of trust, and how finding a good work-life balance helps create better software.The Role of Fear in Technical DebtScott believes that if you fear the software you work on, it's a tell-tale sign that it has maintainability issues.Technical debt is rooted in fear--either fear of making a change that will break something or fear of being unable to change something when needed.He encourages teams to talk openly about their fears and anxieties regarding the software and to consider what things give them confidence in the codebase.Building a Team Culture of ConfidenceScott emphasizes the importance of empathy in overcoming technical debt and making software more maintainable.Senior engineers and team leads have a responsibility to make junior developers feel safe enough to speak up and ask questions.He advocates for providing new hires with small, achievable tasks to build their confidence and trust in the software.Scott encourages teams to use "inner loop" and "outer loop" thinking.Inner loop - The cycle of making a change, hitting f5, and seeing changes immediately.Outer loop - Things like deploying the codebase, getting it tested, ensuring production stability.Both experienced and junior engineers have their own inner and outer loops as individuals, and continuous improvement at all levels is key.Overcoming Fear, Embracing Maintainability, and Finding BalanceScott shares stories about Microsoft's journey with open-source software and how that process has shaped the company's culture around maintainable code.He talks about the importance of striking a balance between source-opened and open-source software and finding the sweet spot for a project or organization.Scott warns against the trap of striving for unattainable perfection. Aiming for good, solid repeatable work over perfection ultimately yields better results.He uses his own projects, like the Hanselminutes podcast, as examples of focusing on consistent outputs and utilizing a simple workflow.Scott advocates for using AI tools to transcribe coding sessions, freeing up developers from extensive note-taking.Book Recommendation:The Daily Stoic By Ryan HolidayScott Hanselman - Personal WebsiteHanselminutes Podcast.NET Open Source History: .NET Core | Microsoft LearnHelpful Links:Scott Hanselman - Personal WebsiteHanselminutes Podcast.NET Open Source History: .NET Core | Microsoft LearnThanks 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.

Ep 171Stig 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 [email protected] 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.

Ep 170Brit Myers - Decoding Product vs. Technical Risk
Join Robby as he welcomes Brit Myers to the podcast. Brit, currently thriving as the VP of Engineering at System Initiative, discusses the intricacies of maintaining software. She emphasizes the importance of navigable software, where the ease of tracing the code and understanding its structure is paramount. Brit highlights the significance of clear naming conventions and inline documentation, as they help in maintaining a cohesive narrative within the software. The conversation touches on the challenges posed by discrepancies in vocabulary between product management and engineering, and how glossaries can bridge these communication gaps. Brit advocates for the use of glossaries more as a reflective tool rather than a proactive one, given the dynamic nature of software development. She also delves into strategies for managing legacy code and technical debt, proposing a pragmatic approach where wrapping and modularizing legacy components can mitigate risks. She discusses the balance between immediate feature delivery and long-term code health, stressing the importance of aligning technical risks with business objectives. The episode explores the impact of company culture on development practices, the benefits of synchronous work environments, and the evolving landscape of DevOps. Tune in to tap into Brit’s valuable wisdom.Book Recommendation:Crucial Conversations: Tools for Talking When Stakes are High By Kerry Patterson, Stephen R. Covey, Joseph Grenny, Ron McMillan, and Al SwitzlerHelpful Links:System InitiativeBrit on LinkedInSPACE FrameworkDORA metricsThanks 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.

Ep 169Andrea Guarino - Leveraging Static Analysis for Better Code
In this episode, Robby interviews Andrea Guarino, a Software Engineer at Sonar, about the importance of leveraging static analysis tools for maintaining clean and adaptable code. Andrea emphasizes that well-maintained software should be easy to change, consistent, intentional, and responsible. He explains that static analysis tools play a crucial role in identifying potential issues, ensuring code quality, and preventing security leaks. Andrea also highlights the importance of educating developers on these best practices and integrating such tools into the development workflow to uphold a high standard of code quality. He discusses the challenges of maintaining consistency in code, especially when dealing with legacy code written in different periods and by different teams. Andrea also touches on the concept of technical debt, suggesting a pragmatic approach to address it by balancing between new code quality and gradual improvements to legacy code. Stay tuned for that and more!Book Recommendation:The Brothers Karamazov by Fyodor DostoevskyHelpful Links:Andrea on LinkedInSonarPersonal WebsiteThanks 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.

Ep 168Staffan Nöteberg - On the Power of Monotasking in Software Development
In this insightful episode, we dive deep into the essence of software maintainability with Agile Coach and author Staffan Nöteberg. Unpacking the layers of what it takes for software to be considered well-maintained, Staffan sheds light on the crucial roles of abstraction and modularity. These foundational elements not only make software easier to understand for newcomers but also ensure that it can evolve and adapt over time without becoming bogged down by complexity.The conversation takes a pivotal turn towards the often misunderstood concept of technical debt. With Staffan's expertise, listeners gain a nuanced understanding of why technical debt is more than just a buzzword - it's a crucial aspect of software development that requires careful communication, especially with those in management positions. This leads into an exploration of monotasking as a transformative approach to productivity. Unlike the common practice of juggling multiple tasks, monotasking focuses on dedicating one's attention to the most critical task at hand, thereby enhancing efficiency and output quality.Further enriching the discussion, Staffan introduces the concept of panorama sessions. These are strategic moments set aside to reassess and prioritize tasks, ensuring that efforts are always aligned with the most impactful objectives. Such strategies not only streamline the development process but also foster a more collaborative and agile workplace. As the episode unfolds, listeners are invited to reflect on their own practices and consider how embracing a monotasking approach could revolutionize their work and the software they develop.For those looking to dive deeper into the principles discussed and discover practical strategies for applying them, Staffan Nöteberg's book, "Monotasking," comes highly recommended. It's a resource that promises to change how you view productivity and software development.Book Recommendation:Complexity: The Emerging Science at the Edge of Order and Chaos by M. Mitchell WaldropHelpful Links:Monotasking by Staffan NötebergPomodoro Technique Illustrated by Staffan NötebergRegular Expressions - The Full StoryThanks 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.

Ep 167Martin Emde - Ruby Central and the Art of Being Tolerant to Change
In this episode of Maintainable, our host Robby Russell sits down with Martin Emde, a sage in the Ruby community and the current Director of Open Source at Ruby Central. Together, they weave through the intricacies of maintainable software, legacy code, and the unwavering power of the Ruby ecosystem. Martin, with his wealth of experience, shares tales from the trenches of open-source software development, focusing on RubyGems and Bundler, and how they've evolved to face the challenges of modern software needs.Martin addresses the elephant in the room - complexity in software. He muses on the natural progression of software projects from simplicity to complexity, drawing parallels to the growth of living organisms. It's not about fighting complexity, but embracing it with open arms, ensuring the software remains adaptable and maintainable. This conversation sheds light on the importance of testing, documentation, and community support in navigating the seas of complex software development.Diving deeper, they discuss the essence of technical debt, not as a villain in our stories but as a necessary step in the rapid evolution of technology. Martin's perspective on technical debt as a tool for progress rather than an obstacle is refreshing, encouraging developers to approach their work with more kindness and understanding.The discussion also highlights Ruby Central's pivotal role in nurturing the Ruby community, emphasizing the importance of contributions, whether code, conversation, or financial support. Martin's call to action for developers to engage with open-source projects, to adopt gems in need, and to provide support where possible, is a heartwarming reminder of the collective effort required to sustain the vibrant Ruby ecosystem.For those curious minds eager to dive into the world of Ruby, contribute to its growth, or simply enjoy a captivating discussion on software development, this episode is a delightful journey through the challenges and joys of maintaining open-source software. Don't miss out on the gems of wisdom shared in this episode, and be sure to check out the useful links below for more information on how you can contribute to the Ruby community.Book Recommendation:Project Hail Mary by Andy WeirHelpful Links:BundlerRuby CentralAdopt a GemMartin on GithubMartin's websiteThanks 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.

Ep 166Esther Olatunde - AI's Role in Evolving Software Engineering Practices
In this captivating episode of the Maintainable Software Podcast, host Robby Russell delves deep with Esther Olatunde, Senior Product Engineer at Intercom, into the realms of software maintenance, technical debt, and the impact of AI on software development. The discussion kicks off with Esther's insights on what constitutes well-maintained software, emphasizing the importance of quality from both the user's and developer's perspectives. They explore how ease of onboarding for new developers and the ability to swiftly navigate codebases significantly contribute to a project's maintainability.The conversation then shifts towards the nuances of managing technical debt, with Esther sharing her evolved understanding of the term over her career. From her early days in startups to her current role at Intercom, she provides a rich perspective on the challenges and strategies for advocating maintenance work within diverse organizational sizes. This episode takes an intriguing turn as Robby and Esther speculate on the future of software engineering in the age of AI, pondering how tools like GitHub Copilot could redefine the developer's role.Robby probes into the potential of AI in accelerating development processes and the implications for software quality and team dynamics. They also touch upon the critical aspect of advocating for maintenance tasks to non-developers, underscoring the long-term benefits over immediate functionality gains. The episode is peppered with practical advice for engineers at all levels, encouraging them to persistently champion the cause of addressing technical debt for healthier codebases.As a bonus, Esther recommends a non-technical yet profoundly relevant book, "Built" by Tony Fadell, which offers insights into product development and innovation, further enriching the discussion with broader perspectives on creating meaningful and lasting technology. Dive into this episode for a thorough exploration of the intricacies of software maintenance, the evolving landscape of software development, and how to navigate the challenges of technical debt, all through the lens of an experienced software engineer at the forefront of the industry.Helpful Links:Esther's WebsiteEsther on LinkedInEsther on GitHubIntercomGitHub Copilot"Built" by Tony FadellThanks 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.

Ep 165Robbie Wagner - Whiskey, Front-End, and Whatnot
Starting off, Robbie Russell and Robbie Wagner bonding over the complexities of their names in the coffee queue.They dive into the essence of maintainable software, debating the importance of recent commits and the dangers of a single-contributor project.Tech debt, the ever-looming shadow over software development, gets a moment in the spotlight. They share a laugh over buying GitHub stars as a measure of project health.Wagner's approach to tackling tech debt without permission is both rebellious and pragmatic, advocating for quality and refactoring 'on-the-go'.The conversation shifts to the Scout rule in software maintenance, and how constant vigilance is key to overcoming tech debt fatigue.Discussions around Ember.js, its community, and the evolution of front-end development light up the conversation.The narrative takes a turn as they explore automating the mundane, with ESLint, Prettier, and CI tools like Dependabot starring as the unsung heroes in the quest for quality.They touch upon the challenges of maintaining a balance between new features and tech debt, with Wagner emphasizing the sneaky art of integrating tech debt fixes into regular work.Robbie Wagner shares his love for rye whiskey, introducing listeners to his favorite brands and distilleries.Wrapping up, they delve into the world of podcasts, discussing the uniqueness of "Whiskey, Web and Whatnot" and how it blends technical discussions with personal stories and whiskey.Helpful Links:Check out Whiskey, Web and Whatnot for more episodes and whiskey recommendations!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.

Ep 164Irina Nazarova - Investing in Innovation: The Consultancy's Guide to Growth
In the latest episode of Maintainable, Robby Russell has a fascinating conversation with Irina Nazarova, the CEO of Evil Martians, a name that resonates with innovation and bold strides in the software development world. They dive deep into what it takes to maintain not just code, but also the delicate balance between rapid development and long-term sustainability in the ever-evolving startup landscape.Irina shares her unique perspective on the common traits of well-maintained software, stressing the importance of adaptability and the role of technical debt at different stages of a company's growth. With a background rich in pushing the boundaries of what's possible in software consultancy, she offers a fresh take on commercializing open-source projects, nurturing innovation within the team, and the significance of building genuine relationships with clients.Listeners will get a glimpse into the challenges and triumphs of running a software consultancy that dares to dream big. From the intricacies of investing in internal projects to the philosophy behind fostering a culture of innovation and respect, this episode is a goldmine of insights for anyone curious about the intersection of consultancy work and product development.Don't miss out on this engaging discussion that reveals the byproducts of passion, dedication, and a relentless pursuit of excellence in the software industry. Check out the episode and let us know your thoughts!Book Recommendations:The Challenger SaleHelpful Links:Evil MartiansIrina on LinkedInIrina on TwitterAnyCableLayered Design for Ruby on Rails Applications by Vladimir DementyevThanks 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.

Ep 163Kyle Daigle - Scaling Up with AI: A New Era of Code Maintenance
Robby has a chat with Kyle Daigle, the Chief Operating Officer at GitHub. They dive into the evolution of software development from the perspective of maintaining and scaling software within large organizations like GitHub. Kyle talks about the importance of simplicity and readability in code over complexity, advocating for well-named variables and straightforward codebases to enhance maintainability.He reflects on his journey from a young developer to understanding the value of well-maintained software, noting the balance between creativity in naming and the necessity for clarity as projects and teams grow. The conversation also covers the approach to technical debt, highlighting that not all old code is debt, but rather it depends on whether it hinders progress. Additionally, they explore the impact of AI tools like GitHub Copilot on software development, suggesting that these tools can aid in quicker code reviews and foster higher-level problem-solving discussions among developers. Stay tuned to learn more.Book Recommendations:Turn The Ship Around By David MarquetHelpful Links:Githubkdaigle @ githubThanks 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.

Ep 162Jon Moniaci - Can We Draw A Boundary?
Robby speaks to the Senior Software Engineer at Perchwell, Jon Moniaci. They discuss the delicate balance between innovation and stability in software development. Jon emphasizes the importance of fostering an environment where engineers can experiment without fear, advocating for a culture of defensive programming to mitigate the fear of breaking things in production. He shares insights from his experiences, including the challenges of working with legacy code and the importance of testing and QA processes. He also talks about the value of considering software pieces as potential microservices to encourage maintainability and flexibility, even if full microservice architecture isn't implemented. This approach, Jon suggests, allows for more sustainable development practices, ultimately leading to more resilient and adaptable software systems. Tune in for that and so much more!Book Recommendations:Sapiens by Yuval Noah Harari The End of Everything (Astrophysically Speaking) by Katie MackHelpful Links:WebsiteJon on LinkedInPerchwellThanks 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.

Ep 161Chad Fowler - How Small Can We Make This Problem
Robby has a candid chat with Chad Fowler, the General Partner & CTO at BlueYard Capital. They delve into the nuances of software maintenance, the evolution and challenges of managing software projects, and insights from Chad's tenure as CTO of Wunderlist. They discuss the importance of building software in small, manageable pieces to facilitate easy updates or replacements, the counterintuitive perspective on unit testing's impact on maintainability, and strategies for keeping software up-to-date by redeploying to new platforms.Additionally, Chad shares his thoughts on the current industry layoff trends, emphasizing the value of adaptability and resilience. The conversation also touches on the relevance of mentoring in the tech industry and the potential implications of AI and large language models on software engineering careers. Chad's philosophy on software development, emphasizing pragmatism, adaptability, and the continuous reevaluation of problems to make them smaller and more manageable, permeates the discussion.Book Recommendations:The E-myth Revisited by Michael E. GerberZen and the Art of Motorcycle Maintenance by Robert M. PirsigHelpful Links:WunderlistThe Passionate Programmer by Chad FowlerChad on X/TwitterChad on LinkedInThe Privacy PodcastBlueYard CapitalThanks 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.

Ep 160John Nunemaker - How Scary Is This Change?
Robby has a conversation with John Nunemaker, the Owner at "Box Out Sports" and "Fewer & Faster". They dive into the basics of maintaining software projects, highlighting the crucial importance of keeping dependencies and versions up to date. John shares his wealth of experience from his time at GitHub, shedding light on the delicate balance between exploring new architecture patterns and adhering to existing ones. They explore practical approaches to software challenges, emphasizing tools like Dependabot for efficient dependency management and the significance of evaluating the potential risks associated with changes in dependencies. John also provides valuable insights into the release of open source libraries, emphasizing the need for clear communication of expectations from the community and personal visions for the project. The discussion spans topics ranging from navigating the challenges of legacy code reviews to the gratification derived from seeking and improving the darker corners of a codebase. The episode culminates with a discussion on personal satisfaction in project selection and the art of effectively marketing open source projects.In essence, this episode of Maintainable not only unveils the intricacies of maintaining software projects but also offers practical wisdom on navigating challenges related to dependencies, legacy code, and personal project satisfaction. Listeners gain valuable insights into the strategic use of tools, the thoughtful release of open source projects, and the importance of continual improvement in the ever-evolving landscape of software development. If you’re a software engineer seeking tangible approaches to enhance the maintainability of your projects, then don’t miss this episode. Stay tuned!Book Recommendations:Hell Yeah or No: What's Worth Doing by Derek DiversHelpful Links:Flipper RubygemFlipper CloudDon't Repeat Yourself, Repeat Others Slidedeck From RailsConf 2010The World Runs on Bad Software by Brandon KeepersThanks 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.

Ep 159Jemma Issroff - Running the Parser in the Rain
Robby has a conversation with Jemma Issroff, a Senior Software Engineer, speaker and the author of the book, “Ruby Garbage Collection in Under Two Hours” They delve into the intricacies of well-maintained software, and Jemma brings her wealth of experience, particularly from her involvement in Prism, a notable rewrite of the Ruby parser. The duo explores the contrasting dynamics of maintaining software in C versus Ruby, shedding light on the nuanced challenges and advantages each presents. As the conversation unfolds, they draw intriguing parallels between their approaches to utilizing advanced tools like ChatGPT and CoPilot in their respective workflows. Jemma also offers a sneak peek into her upcoming transition into the realm of artificial intelligence, adding a fascinating layer to the dialogue. Beyond the tech talk, the episode takes an unexpected turn as the two bond over their shared affection for running in the rain and Jemma recounts her enriching experience at Recurse, a unique software programmers retreat. This episode is a captivating blend of technical expertise and personal anecdotes where rain-soaked runs and programming retreats add unexpected flavors to the conversation. Tune in for a unique exploration of the tech landscape that will definitely leave you inspired and informed.Book Recommendations:Thinking Fast and Slow by Daniel KahnemanHelpful Links:Prism, a Ruby parserShopifyAnthrop\cJemma.devRecurse CenterThanks 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.

Ep 158Jeanine Soterwood - Helping Clients Understand Maintenance Work
Robby has a chat with the Software Development Team Lead at Thoughtbot, Jeanine Soterwood. Unraveling the intricacies of Ruby on Rails, they explore the often overlooked importance of keeping apps up-to-date and maintaining a robust test suite. The conversation weaves through the delicate balance between enticing features and the long-term needs of software maintenance, shedding light on the aspects clients may not find thrilling.Drawing from their experiences in the consulting realm, Robby and Jeanine share valuable insights on being a commendable guest in another team's code base. From deciphering a client's process and team culture to navigating the challenge of conveying that software is an ever-evolving entity, the episode unfolds with practical tips. The duo advocates for proposing experiments over permanent decisions, emphasizing the art of gaining buy-in. Additionally, they tackle the nuances of pairing with junior developers and unravel Jeanine's journey of embracing non-DRY tests. Wrapping up with a deep dive into managing a technical debt backlog and Jeanine's impactful work on Ruby for Good projects, this episode will be a treasure trove for any software engineer who is navigating the elusive path of effective project maintenance.Book Recommendations:A Little Life by Hanya YanagiharaHelpful Links:Jeanine on LinkedInThougthbotThe Case for WET TestsThanks 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.

Ep 157Andrew Atkinson - Maintainable... Databases?
Robby engages with independent consultant and author, Andrew Atkinson, delving into the intricate world of software development and database maintenance. The duo kicks off with a profound exploration of the importance of swift and intuitive change management in software, unraveling the key traits that transform a database into a well-maintained powerhouse. From securing data to cleaning up legacy information, they shed light on the often-neglected aspects that can significantly enhance a software engineer's efficiency.As the conversation flows, Andrew unveils the secrets behind his latest book, "High Performance PostgreSQL for Rails," tracing its origins from an internal slide deck to a valuable resource for developers beyond the Rails framework. The episode explores the nuanced process of "Unshipping," as Andrew dissects Mixpanel's article, offering a roadmap for deprecating features without disappointing customers. The episode is a treasure trove of insights, covering everything from optimizing database performance with rules to navigating the tricky terrain of advocating for codebase improvements in the face of reluctant stakeholders. Don't miss out on this dynamic exchange of ideas; tune in to the episode now for an enlightening journey through the realms of software development and database management.Book Recommendations:Staff Engineer: Leadership Beyond the Management Track By Will LarsonHelpful Links:Mixpanel: The art of removing features and productsOrder High Performance PostgreSQL for Rails (USE PROMO CODE: Maintainable for 35% off!)Coverbandhttps://andyatkinson.com/https://github.com/andyatkinsonhttps://www.linkedin.com/in/andyatkinsonThanks 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.

Ep 156Jimmy Koppel - Aspects of Good Code
Robby engages in a captivating conversation with the CEO at Mirdin and UpToSpeed, Jimmy Koppel. They delve into the transformative power of evolvable code, shedding light on its myriad benefits and how it contributes to an enriching coding experience. Drawing inspiration from Jimmy's insightful blog post, "The 11 Aspects of Good Code," the discussion unfolds to explore the external qualities of code and the profound impact of crafting code that is not just functional, but a joy to work with. Jimmy shares his vision for UpToSpeed, a platform aiming to revolutionize the onboarding process for software engineers through the strategic use of AI tools, offering a glimpse into the future of seamless integration for new team members. From the nuances of recovering the programmer's intent through well-crafted code to intriguing references to "Zen and the Art of Motorcycles," this episode is a must-listen for anyone passionate about the art and science of coding. Unlock the secrets of creating code that not only meets technical requirements but also enhances the human experience of programming. Discover the unique blend of philosophy and practicality as Jimmy and Robby explore the fascinating world of code evolution, drawing on diverse insights from literature, AI, and the shared wisdom of seasoned developers. Whether you're a coding enthusiast, a seasoned developer, or someone intrigued by the intersection of technology and human expression, this episode promises to be an engaging journey through the nuances of software craftsmanship and the quest for code that stands the test of time. Tune in to gain a fresh perspective on the intricate dance between programmers and their creations, and learn how the pursuit of excellence in coding can truly be a pleasurable and rewarding endeavor.Book Recommendations:Make It StickHow Learning WorksHelpful Links:The 11 Aspects of Good CodeThe Secret History of Information Hiding by David ParnasThe Advanced Software Design Course by MirdinJimmy's BlogJimmy’s WebsiteThanks 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.

Ep 155Hila Fish - Maintainable Infrastructure Code, Culture, and Documentation
Robby has a chat with Senior DevOps Engineer, Hila Fish. They start off by discussing the key characteristics of maintainable infrastructure code. Hila shared insights on providing software engineering teams with the necessary space for exploration while maintaining essential guardrails to ensure the stability of production environments. The conversation also touched upon the significance of offering engineers useful metrics and dashboards for measuring load and stress tests. Robby and Hila reminisced about the evolution of roles like sysadmins and DBAs over the decades, highlighting the transformative journey of infrastructure management.A focal point of the episode was Hila's experience leading a large migration project from Bitbucket Cloud to a self-hosted Gitlab within a tight six-week timeframe. She emphasized the importance of rigorous testing in both development and production environments, effective communication with stakeholders and the team, and other critical aspects of successful project management. The discussion extended to personal and professional development, with Hila underlining the importance of regularly evaluating one's values against those of the employer and the value of self-retrospectives. The challenges in hiring for potential versus expertise in an industry that demands a combination of both were explored. The episode also featured insights into DevOpsDays TLV, Hila's involvement in tech events, and valuable tips for overcoming the initial fear of speaking at such events, accompanied by her own unconventional journey to delivering her first talk. It’s going to be an interesting episode, so don’t miss out.Helpful Links:Hila on LinkedInOpen-Source - Open ChoiceTechnical Documentation - How Can I Write Them Better and Why Should I Care? By Hila FishTerraformHelmGitLabBitbucketDBAsDevOpsDays TLVThanks 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.

Ep 154Jacob Aronoff - At Least One Person Who Cares To See It Through
Robby has a chat with Staff Software Engineer at Lightstep from ServiceNow, Jacob Aronoff. Their conversation delves into the vital signs of a thriving open source software project. They unpack the characteristics of well-maintained open source endeavors, emphasizing the importance of a passionate community behind the project, rather than misleading indicators like GitHub stars. They discuss the nuances of evaluating a project's health through performance metrics, suggesting that a more holistic view that includes the scrutiny of open issues can provide better insights into the project's robustness and responsiveness to community needs. Furthermore, their discussion highlights a critical, yet often overlooked, aspect of open source software: the project's own dependencies. Jacob argues that understanding these dependencies is crucial before adopting an open source solution, as it could have far-reaching implications on the stability and security of one's own project. They also take a deep dive into the organizational dynamics of the OpenTelemetry community, examining its structured approach to scaling and sustaining the project over time. Their discussion then transitions into the philosophical debate of balancing between the extremes of premature abstraction and delivering a fully opinionated software project. Jacob shares his penchant for “building in the open”, advocating for transparency and community involvement in the development process. He provides valuable advice for both newcomers looking to contribute to open source projects and maintainers seeking to attract new talent. In a personal touch, he extends his gratitude to Robby for creating Oh My Zsh, sharing his own journey in developing a custom theme for it. Moreover, Jacob expresses his preference for pure functional languages, hinting at the broader discussion around programming paradigms and their influence on open source software development. Stay tuned for that and more!Book Recommendations:Killers of the Flower Moon By David Grann and The Hitchhiker's Guide to the Galaxy By Douglas AdamsHelpful Links:Jacob on LinkedInLightstep from ServiceNowJaronoff97 on GitHubJacob's WebsiteJacob on TwitterThanks 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.

Ep 153Oliver Drotbohm - Modulithic Applications
Robby has a chat with Oliver Drotbohm, a Staff 2 Engineer at VMware. They explore the essence of maintainable software, pinpointing understandability and modifiability as its foundational pillars. Drawing from Dr. Carola Lilienthal's "Sustainable Software Architecture: Analyze and Reduce Technical Debt," Robby and Oliver dissect the metaphor of technical debt, discussing its historical context and its relevance in today's fast-paced software development environment. Their nuanced conversation balanced the need for making compromises with the risk of over-preparation, emphasizing the critical role that clear documentation of architecture design decisions plays. They further delve into the iterative nature of building sustainable software, advocating for a build-feedback-repeat cycle to ensure that the right product is being developed. Their discussion pivots to the strategic use of microservices, unpacking the circumstances that justify their implementation and the inherent tradeoffs. An overview of the Modulithic project for Java Spring presents a modern approach to modular software development. They round off with a sneak peek of Oliver's book, "Modulithic Applications with Spring," while also touching upon the inherent challenges of writing technical literature in an industry where change is the only constant. Tune in and enjoy!Book Recommendations:The Creative Act: A Way of Being By Rick RubinHelpful Links:Oliver's Book - Modulithic Applications with SpringOliver’s WebsiteOliver on GithubOliver on Twitter XOliver on LinkedInSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.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.

Ep 152Colin Campbell - The Daily Habits of Effective Engineers
Robby has a chat with Colin Campbell, the Director of Engineering at Tucows. Colin delves into the professional ethos of software development, emphasizing that the caliber of an engineer’s work is a reflection of their daily habits. He stressed the importance of humility for software engineers, arguing that it is crucial for continuous improvement and effective teamwork. He also talked about the strategic approach of doing nothing during Sprint Zero, suggesting that thorough planning and groundwork are essential before diving into actual code deployment.The conversation transitions to the practical aspects of the craft, sharing insights from his experience of refactoring the OpenSRS platform at Tucows. Colin expresses a strong stance against total rewrites of systems, except when transitioning to new platforms, advocating for the incremental and strategic improvements using the Strangler Fig pattern. He also describes the satisfaction derived from identifying and rectifying “code smells” through refactoring, underscoring this practice as a source of professional fulfillment. Moreover, he provides a glimpse into the life of platform engineers, detailing the intricacies of supporting application developers and the necessity of being decisively focused when addressing specific programming tasks, hence being “ruthless” to the ticket at hand to ensure quality and efficiency. For that and so much more, tune in to the episode on your favorite podcast platform.Book Recommendations:The Creative Act By Rick RubinHelpful Links:Colin on LinkedInhttps://www.tucows.com/https://tucowsdomains.com/https://opensrs.com/https://martinfowler.com/bliki/StranglerFigApplication.htmlThanks 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 PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 151Dave Bryant Copeland - Quantifying the Carrying Cost
Robby has a chat with the Author of Sustainable Web Development with Ruby on Rails, Dave Bryant Copeland (he/him/his). Dave is a Senior Software Engineer and speaker. Reflecting on his experience, Dave believes that well-maintained software is software that people understand what it does, how it works, and that it can be changed. He starts off by highlighting the challenges that developers face when trying to retrofit software with more testing.He also shares his expert insights on how software engineers can navigate design decisions while ensuring that they speak up if a proposed feature is difficult to build, test, and maintain. When it comes to software engineers getting advice from experienced practitioners, Dave says that the engineers should make sure they understand their own context and biases. He introduces us to his book and shares a very interesting story about the disappointment he got after building and releasing a frontend in Angular. Stay tuned for more!Book Recommendations:The Culture Map by Erin MeyerHelpful Links:Dave's book - Sustainable Web Development with Ruby on RailsWebsite - https://naildrivin5.com/Subscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 150Cameron Jacoby - Am I Learning From This?
Robby has a chat with Cameron Jacoby (she/her/hers), a Senior Full-Stack Engineer at BetterUp, a platform that uses world-class coaching and science-backed solutions that help people grow personally and professionally. The one thing that Cameron says should stand out about code being maintainable is that it should be easy to read and understand. She explains why procedural code can often be easier to communicate with and highlights the importance of having helpful data metrics for most new features one works on.Robby and Cameron also discuss real-world approaches to tracking metrics for monitoring purposes, the benefits of using feature flags, especially within internal-facing software applications, the struggles engineering teams have with maintaining a staging environment, how being on-call is one of the fastest ways to ramp up one’s debugging skills and build intuition as a software engineer, and so much more. Stay tuned!Helpful Links:Personal Website - https://www.cameronjacoby.com/LinkedIn - https://www.linkedin.com/in/cameronjacoby/Stitch Fix - https://www.stitchfix.com/BetterUp - https://www.betterup.com/Subscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 149Adriana Villela - On Being a Serial Refactorer
Robby has a chat with Adriana Villela, a Senior Developer Advocate at Lightstep. Adriana highlights that well-maintained software should be software that one can understand when they go into the code even if they’re not super familiar with it. She shares why she values being a serial refactorer and describes what beautiful code should look like. Adriana views debuggers as her best friends because as she says, “I do find maintaining documentation very difficult. That’s where a debugger comes in very handy so that he can step through the code to figure out what is going on”She will share a story about joining a software project that required a lot of refactoring, why asking for forgiveness is often easier than asking for permission, her involvement with the OpenTelemetry project and the standardization of observability protocols, and how to think about observability on a practical day-to-day level as a software engineer. She will also introduce us to Lightstep and what being a Senior Developer Advocate role is like, and dive into trace-based testing, why every software engineer should develop a trace mindset, the complexities of tooling we have today versus what was available a few decades ago, and what her podcast, On-Call Me Maybe Podcast, is all about. Stay tuned for all that and more.Book Recommendations:Implementing Service Level Objectives by Alex HidalgoHelpful Links:https://oncallmemaybe.com/Adriana on Twitter - @adrianamvillelaMastodon - [email protected] on LinkedInAdriana on Instagram - @adriana.m.VillelaLinktree - https://linktr.ee/adriana_villelaSLOconfVIDEO: SLOconf 2023 - Translating Failures into SLOs - Ana Margarita Medina and Adriana VillelaAbby Bangser: Building Trust In Your Deployment PipelineSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 148Ahmed Wasfy - Thriving as an Engineering Manager
ERobby has a chat with Ahmed Wasfy (he/him/his), the Senior Development Manager at Amazon. On the topic of the common characteristics of well maintained software, Ahmed feels that one critical thing is that software should serve a purpose in terms of what values it adds and the trackable business goal it fulfills. He shares some valuable insights about legacy code based on his vast experience and dives into how to approach the management of technical debt so that an engineering team trusts there is a time and place to work on that.Robby and Ahmed discuss how to strike a good balance between new feature development and incremental improvements, challenges that large organizations face when recruiting a lot of engineers in a short period of time when there are no local domain experts, the Ageism bias in the software engineering industry, Ahmed's coaching work under TheThrivingEM.com, and how to approach your first 90 days in a new role. There is that and so much more software engineering wisdom to gain from this episode, so make sure you tune in.Book Recommendations:Mastery by George LeonardHelpful Links:TheThrivingEM.comAhmed's InstagramAhmed's LinkedInSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 147Naomi Ceder - People-Centric Community Building
Robby has a chat with Independent Python Instructor and Consultant, Naomi Ceder (she/her/hers). Naomi values clear organization, separation of concern and capsulation, visibility instrumentation, and tests when it comes to creating a legacy piece of code that will be continuously useful. She will talk about the importance of weighing up the costs of using 3rd party tools vs rolling your own solution, working in small teams through a career, and what to consider when weighing up a rewrite vs refactoring.They will discuss her involvement in the Python Foundation and what a foundation typically offers to a community on the global and local levels. Naomi will tell us about her book, The Quick Python Book, 3rd edition, and give us an overview of who the ideal audience is for it. For those of you who want to become technical writers, she will share considerations for how you can get more involved in open-source communities.Book Recommendations:Debt: The First 5000 Years by David GraeberPaula by Isabel AllendeHelpful Links:https://www.naomiceder.tech/https://www.manning.com/books/the-quick-python-book-third-editionhttps://www.linkedin.com/in/naomiceder/https://mastodon.art/@naomicederSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 146Nadia Odunayo - Don't Try to Solve a Pain Point For a Problem You Aren't Experiencing
Robby has a chat with Nadia Odunayo (she/her/hers), the Founder and CEO at The StoryGraph. Nadia starts off by highlighting solid test coverage, up-to-date gem language platform versions, all security patches, and proper documentation as some of the few common characteristics of maintainable software. She talks about when it makes sense to document debugging processes for your future self, the tradeoffs made when you're the solo developer and founder of a software project, how she approaches product management, how working within Pivotal Labs influenced her approach, and the differences one experiences going from an environment of constant pairing to being a solo developer.They also dive into why every engineer should be comfortable clearing out their product's icebox, the realities of being a solo developer and thinking about vacations, the fine line between premature and proactive optimization, and everything that The StoryGraph app has to offer. Nadia’s engineering wisdom will be super insightful so don’t miss out!Book Recommendations:Nonviolent Communication by Marshall B. RosenbergThe Eighth Life (for Brilka) by Nino HaratischwiliHelpful Links:Nadia's Websitehttps://www.thestorygraph.com/Nadia on TwitterThe StoryGraph on TwitterSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 145Daniela Baron - About Those Docs
Robby has a chat with Senior Staff Engineer, Daniela Baron (she/her). Daniela starts by listing the following things about the characteristics of well-maintained software; it should be easy for new people to join and get the project running on their laptops just by following the README, it should have conventions in place for what kind of code goes where, and several less obvious aspects like how to integrate with third parties and how to deploy to a test environment.Daniela will share ways to improve the onboarding experience for new developers to a project, examples of reliable traceability from code to tests to business goals across repositories and project management tools, how to avoid bikeshedding in pull-requests, and approaches to managing maintenance tasks within your team's workflow.In addition, Robby and Daniela will discuss the importance of having a process for addressing deprecation warnings, documenting the non-obvious aspects of the system, tips on how to start documenting how to test and/or debug integrations with third-party services, and moving documentation about edge case scenarios under a Troubleshooting heading. They will also reference to Daniela's blog post, About Those Docs. Tune in for all that and more! You’ll get tons of valuable insights out of it.Book Recommendations:WHEN: The Scientific Secrets of Perfect Timing By Daniel H. PinkHelpful Links:Slides from Daniela's talk about “When”Daniela on LinkedInDaniela’s Personal WebsiteDaniela on Twitterhttps://github.com/danielabarSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 144Cory House - Finding Opportunities for Improvement
Robby has a chat with Cory House (he/him/his), the Founder at Reactjsconsulting.com, a software developer, author, speaker, and consultant. “I love the old saying that we write software for humans. So, I think about that regularly”, Cory says about what the maintainability of software is all about. When it comes down to it, he thinks more about his fellow developers than the compiler. He talks about the importance of good variable naming, shares the tactics for writing good tests for your regular expressions, and lists the benefits of automating pull-request feedback on potentially subjective feedback so that we can focus our attention on objective curiosities. He will also dive into testing strategies for React JS applications, how granular unit testing patterns don't apply well to automated browser tests, why it's valuable to keep a running list of opportunities for improvements rather than a list of technical debt, and why he believes that not every software project requires a dedicated architect but there should be someone who is acting in that role. You’re going to love this one so stay tuned!Book Recommendations:So Good They Can't Ignore You By Cal NewportHelpful Links:Pluralsight coursesCory on LinkedInCory on TwitterWebsiteReactJS ConsultingSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 143Avery Quinn - Can You Quantify the Impact?
Robby has a chat with Senior Software Engineer, Avery Quinn. Avery was previously a Senior Software Engineer at Remotion. Avery starts by sharing that she finds well-maintained software to have cohesive modules, be singularly responsible in its functions, and have just a general level of refinement over time.They will dive into the benefits of having a skeleton project that you can experiment with when weighing up different dependencies, tips for onboarding engineers to your teams, things to consider when building desktop applications, what it is like to work as a consultant, and later at a product company, the software product that Remotion is building for remote software engineers, why measuring velocity on a team can be a useful metric to track, and how her recent employer tracks and prioritizes technical debt work. Avery will also share advice for those who are struggling to get buy-in to prioritize technical debt work. Stay tuned for more!Book Recommendations:Just Enough Software Architecture By George FairbanksHelpful Links:https://remotion.com/blog/refactoring-legacy-systemsSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 142Carlos Blé - Código Sostenible
Robby has a chat with Carlos Blé, the CEO of Lean Mind, an organization focused on boosting the growth of developers and teams. Carlos is a software crafter, entrepreneur, mentor, speaker, podcaster, blogger, and author of several tech books in Spanish (Diseño Ágil con TDD and Código Sostenible). He is also the Founder of Savvily, a publisher specializing in tech books. Carlos will start off by sharing the four important traits of well-maintained software and examples of what maintainable tests are. He will dive into the benefits of mutation testing and exploratory testing, why engineers should advocate for a TECHNICAL_DEBT.md file in their git repository, why software engineers should aim to reduce the technical burden for their product team, services that Lean Mind offers, his latest book, Código Sostenible, and how to be a good guest in another team's codebase. Stay tuned for that and so much more!Book Recommendations:Nonviolent Communication by Marshall RosenbergHelpful Links:Carlos on LinkedInCarlos on GithubCarlos on TwitterHis Websitehttps://leanmind.es/Subscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 141Lena Reinhard - How Will People Get Stuff Done?
Robby has a chat with Executive and Leadership Coach, Lena Reinhard (she/her/hers). Lena is a speaker, writer, and Founder of Lena Reinhard Leadership Coaching and Consulting. Previously, Lena served as the VP of Engineering with CircleCI and TravisCI, as well as the startup Founder and CEO of The Neighbourhoodie Software GmbH.From Lena’s perspective, well-maintained software is supposed to serve a business’s goals and continuously improve not just reactively. She highlights the importance of organizations investing in their engineering team's skills. Lena will also talk about software as a team sport, strategies for managing technical debt, how technical debt is a loaded term, challenges teams have faced with micro-services, and what engineers might be encountering after teammates have been laid off. Tune in for that and so much more.Book Recommendations:Into The Planet by Jill HeinerthHelpful Links:The lettuce pact 🥬 https://twitter.com/lrnrdhttps://www.linkedin.com/in/lenareinhard/Subscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 140Eric Normand - Grokking Simplicity
Robby has a chat with software engineer, trainer, and author of the book Grokking Simplicity, Eric Normand (he/him/his). As Eric reflects on his experience, the first thought he has of well-maintained software is that it’s like a unicorn (Something you can’t find in real life), but on a more serious note, he emphasizes that smaller code bases are easier to maintain and that the maintainability of a code base is also highly dependent on the team of engineers that are working on it.Robby and Eric will dive into the pros and cons of microservices in small organizations, why teams need to ensure they know where they're going with the future of their codebase, Eric's book - Grokking Simplicity, the differences within a functional programming language, higher-order functions, Eric’s journey toward authoring a technical book, and the value of engineers being able to get comfortable moving code around in a project without needing to ask for permission first. Tune in and enjoy!Book Recommendations:Book Recommendation: The Timeless Way of Building by Christopher W. Alexander>Helpful Links:Grokking Simplicity By Eric Normand, ManningEric's WebsiteEric on LinkedInEric on TwitterSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 139Henrik Warne - There is No Software Maintenance
Robby has a chat with Henrik Warne (he/him/his), the Senior Software Engineer at Talos. In Henrik’s view of well-maintained software, he talks about the importance of code having structure early on because, without structure, code tends to inevitably drift over time toward complexity. He highlights the importance of engineers being able to not only read code when they join a project but also be able to run the code and test it.Henrik will share the details of his blog titled, "There is No Software Maintenance," where he argues that software maintenance is simply software development, and how software is better seen as a product versus a project. He will talk about why all software engineers should spend a portion of their time working on bugs, tactics engineers can use to reflect on and capture their thoughts after fixing a bug, and strategies for teams to improve software and avoid rot. Stay tuned for more and enjoy.Book Recommendations:How to Win Friends & Influence People by Dale CarnegieHelpful Links:There is No Software Maintenance By Henrik WarneHenrik's BlogHenrik on TwitterHenrik on LinkedInSubscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter. 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.

Ep 138Andy Croll - Keep the Weird Stuff Weird
Robby has a chat with Andy Croll (he/him/his), the CTO at CoverageBook, a Rubyist, the Organizer of the Brighton Ruby Conference, an author, speaker, and bootstrapper. The most important thing when it comes to the maintainability of software is “That code is read much more than it’s written”, Andy says. He insists that the core focus should always be on readability. Andy will dive into the rationale for why weird things in our code should stay weird until we find a better way to express it and even shared some specific examples within a Ruby on Rails environment. He will share his career journey from the front end into the backend, what prompted him to start the First Ruby Friend project to connect newcomers to a community with people who want to be mentors, examples of how to manage technical debt in a small team and why it's okay to let some stuff "sit in the air", and so much more. Stay tuned. It’s going to be an epic one.Book Recommendations:The Overstory by Richard PowersHelpful Links:Andy's websiteOne Ruby ThingBrighton RubyFirst Ruby FriendSubscribe 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.

Ep 137Marianne Bellotti - Building Empathy by Asking, "How Would You Write This in 2007?"
Robby has a chat with Marianne Bellotti (she/her/hers), the Engineering Manager at Rebellion Defense. Marianne is the author of the books, “Hiring Engineers” and “Kill it with Fire”. She talks about the maintainability of software being about whether software can be changed and how easily changes can be made to it. She dives into her experience with legacy modernization and talks about how to effectively judge software.Marianne also shares her insights on the challenges teams face when people don't understand how older code works, the value of developing a plan around tests to naturally build confidence within an organization, why it's important to have a safe space to break things (e.g., staging/QA environments), how onboarding metrics can be difficult to compare when dealing with regulatory systems, and building empathy toward previous engineers on a project. Tune in for that and a whole lot more in this value-packed 61-minute episode.Book Recommendations:Drift into Failure: From Hunting Broken Components to Understanding Complex Systems by Sidney DekkerHelpful Links:Kill it with Fire: Manage Aging Computer Systems (and Future Proof Modern Ones) by Marianne BellottiWebsite - bellotti.techhttps://github.com/mbellottiTwitter - twitter.com/bellmarSubscribe 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.

Ep 136Arpit Mohan - Aspiring To Be Boring As Possible
Robby has a chat with Arpit Mohan, the Co-Founder and CTO of Appsmith, an open-source low-code tool that helps developers build dashboards and admin panels very quickly. Appsmith helps businesses build any custom internal application within hours. In regard to well-maintained software, Arpit points to the importance of engineers writing code for humans and not machines while also focusing a lot on readability. He believes useful code comments are also very crucial in facilitating well-maintained software.Arpit will share his wisdom on the importance of conveying the why over the how behind any code being developed, how open source and closed source projects have different code commenting/documentation needs, why engineers should always keep an eye out for code smells and friction in their ability to deliver software functionality, the problems that AppSmit helps organizations solve, the differences between B2C vs B2B when it comes to the benefits of automated testing, performance concerns, etc, and much much more. Stay tuned, enjoy, and if you like the episode, don’t forget to share.Book Recommendations:The Score Takes Care of Itself: My Philosophy of Leadership by Bill Walsh - https://www.amazon.com/Score-Takes-Care-Itself-Philosophy/dp/1591843472Helpful Links:https://twitter.com/mohanarpithttps://twitter.com/theappsmithhttps://www.appsmith.com/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.

Ep 135Noah Clark - Maintainable Software is a Team Sport
Robby has a chat with Noah Clark, a consulting applications developer at Merchants Bonding Company, one the top 15 largest surety writers in the United States. On the top of Noah’s list of things that facilitate the maintainability of software is team dynamics. Well-maintained software can never be achieved by a single individual refactoring code or having grand ideas/visions. It’s made possible by a team coming together and committing to a practice of well-maintained software. He highlights trust and communication between a team and the company they’re developing software for as key. He also advises engineers to avoid writing code just to solve problems.Tune in as Robby and Noah discuss why engineers should ensure that their software code leans on the business domain especially when it comes to naming things, how teams can determine when it’s necessary to refactor and/or improve existing software, the complexities that come with basing software development projects on best practices, why and how to avoid blog post driven development, why referring to "organizational debt" might be more effective than "technical debt", and so much more. Enjoy!Book Recommendations:The 5 Love Languages by Gary Chapman - https://5lovelanguages.com/I Will Teach You to Be Rich by Ramit Sethi - https://www.iwillteachyoutoberich.com/Helpful Links:https://www.linkedin.com/in/noahmclark/https://twitter.com/nolarknoahSubscribe 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.

Ep 134Ben Parisot - Documentation Just Needs To Be Used Once
Robby has a chat with the Engineering Manager at Planet Argon, Ben Parisot. Ben has worked in the tech industry since 2010 and has worn many, many hats: blogger, web designer, web developer, technical producer, scrum master, technical project manager, copywriter, and more. He loves all parts of the software development lifecycle and always has a creative personal web or mobile app humming along outside of work. The first thing Ben says he looks for that represents well-maintained software is thorough and up-to-date documentation. He feels that every developer or project manager must ensure that they leave a good paper trail of the work they do. He encourages engineering teams to do regular documentation audits of internal and external documentation they use in order to find outdated and obsolete documentation. Drawing from his experience working on multiple client projects, his advice is to build processes around auditing and improving documentation to make sure it's effective. This convo will prove incredibly valuable as he shares some tips on how engineering teams can go about that based on the projects they work on and so much more. Don’t miss out!Book Recommendations:Sapiens: A Brief History of Humankind by Yuval Noah HarariHelpful Linkshttps://www.linkedin.com/in/benparisot/https://www.planetargon.com/about/ben-parisotSubscribe 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.

Ep 133Stefanni Brasil - When Is Tackling Tech Debt Possible?
Robby has a chat with Stefanni Brasil, the Co-founder and Educator at hexdevs, Co-creator of the Get to Senior online course and community, and most recently joined thoughtbot as a developer. Reflecting on her experience in the industry, Stefanni says that well-maintained software can only be a result of teams agreeing on conventions before coding starts. She feels that the term technical debt facilitates better communication and her perspective around it has shifted over time due to the fact that most projects that have employed it are the ones that have been generating revenue. Stefanni notes that software engineering teams can work seamlessly when they document their decisions (on Trello, Google Docs, etc) for future reference. Creating an environment where every team member feels safe and comfortable to speak up about any issues also contributes to project success. Steffani will also share her knowledgeable insights on how to be a good guest in another team's codebase as a consultant and the steps to take when onboarding with a new client project. She will dive into her Get to Senior course and highlight all the value that it offers. Tune in for more of her software engineering wisdom.Book Recommendations:The Assertiveness Workbook: How to Express Your Ideas and Stand Up for Yourself at Work and in Relationships by Randy J. PatersonHelpful LinksFearless Change: Patterns for Introducing New Ideashttps://twitter.com/stefannibrasilhttps://www.stefannibrasil.me/https://academy.hexdevs.com/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.

Ep 132Andrea Goulet - Empathy-Driven Software Development
Robby has a chat with Andrea Goulet, the CEO of Corgibytes, a software development shop dedicated to maintaining and modernizing software applications. Named by LinkedIn as one of the top ten professionals in software under 35, Andrea is the host of the podcast Legacy Code Rocks, is the author of the forthcoming book, “Empathy-Driven Software Development”, has co-founded several successful technology companies, and has taught over 50,000 students how to turn soft skills like empathy and communication into software skills.Through her newest venture, Heartware.dev, she is on a mission to operationalize empathy for tech teams and keynotes frequently about building a business based on balance, empathy, and trust; the perils of the technical/non-technical divide; and the technical philosophies around working with legacy code. Andrea says that the maintainability of software comes down to trust and while she doesn't find the term technical debt useful, she uses it in instances where it’s being widely used especially in software remodeling projects. From her experience, the term is not useful at all when dealing with business-minded people who view debt differently.She points out that the success of a project is always highly dependent on the project owner and the team working on their project having shared goals as they approach the writing of software. Robby and Andrea will also dive into why we should avoid deferring to other people and defaulting to being ticket takers, how empathy has different definitions, avoiding us vs them thinking, and so much more. Stay tuned and enjoy!Book Recommendations:Set Boundaries, Find Peace: A Guide to Reclaiming Yourself by Nedra Glover TawwabHelpful Linkshttps://twitter.com/andreagoulethttps://heartware.devhttps://corgibytes.comComing in 2023! Empathy-Driven Software Development by Andrea GouletSubscribe 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.

Ep 131John Ousterhout - It's Not You, It's the Codebase
Robby has a chat with Professor of Computer Science at Stanford University, John Ousterhout. John founded Electric Cloud with John Graham-Cumming. Ousterhout was a professor of computer science at the University of California, Berkeley where he created the Tcl scripting language and the Tk platform-independent widget toolkit and proposed the idea of co-scheduling. Ousterhout led the research group that designed the experimental Sprite operating system and the first log-structured file system. Ousterhout also led the team that developed the Magic VLSI computer-aided design (CAD) program.When it comes to the maintainability of software, John is more interested in the design aspects of software and feels that indeed the core goal of good software design is to make it easier to maintain software and continually improve it. He explains what problem decomposition is all about and why his course on the art of software design is probably the only one of its kind in the world. Join the convo as he also talks about how to write good code comments and why they are so important, the main differences between tactical and strategic programming, how engineers can discuss long-term improvements with their boss, how his curriculum has students approach a project with two different designs before deciding which to proceed with, and so much more. Enjoy!Book Recommendations:Talent is Overrated By Geoff Colvin Helpful LinksA Philosophy of Software Design By Professor John OusterhoutTcl/TkJohn on TwitterJohn’s WebpageSubscribe 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.

Ep 130Courtney Wilburn - Maintainable Software Has Good Community Around It
Robby has a chat with Courtney Wilburn (She/Her/Hers), the Sr. Engineering Manager at Elastic Cloud, the leading platform for search-powered solutions. She is an experienced DevOps Engineer, speaker, and writer. With solutions in enterprise search, observability, and security, Elastic helps enhance customer and employee search experiences, keep mission-critical applications running smoothly, and protect against cyber threats. For Courtney, well-maintained software is all about software having a good community around it that is enthusiastic about its long-term success. She shares her expertise on the traits of excellent documentation and talks about how engineers should go about joining a software team. Courtney uses the metaphor technical debt and she will graciously break down how her team discusses, prioritizes, and documents what and when they focus on it. She also talks about the challenges that come with process debt, how to go about hiring junior-level engineers, and what we can do to foster mentorship in our teams. It’s going to be a very interesting conversation so don’t miss out.Book Recommendations:Emergent Strategy: Shaping Change, Changing Worlds By Adrienne Maree BrownHelpful LinksCourtney on TwitterCourney’s WebsiteCourtney on LinkedInSubscribe 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.

Ep 129Nelida Velazquez - We Have to Express Our Opinions
Robby has a chat with Nelida Velazquez, a Senior Software Engineer at Cobalt Labs, a company that modernizes traditional pentesting through their Pentest as a Service (PtaaS) platform. By combining a SaaS platform with an exclusive community of testers, they deliver the real-time insights teams need to remediate risk quickly and innovate securely.Nelida highlights documentation, testing, and consistency as the three things that are critical to ensuring that software is maintainable. She feels that when it comes to best practices versus every individual engineers idea of software maintainability, it boils down to how a team agrees to go about things. She dives further into the basics of team agreements and talks about things an engineer should consider when they're the new person on a team, why engineers should view documentation as part of the deliverables, how to properly address technical debt, meaningful tests, and when to potentially remove tests, and so much more. Tune in on your favorite podcast player and don’t hesitate to send us any of your comments and suggestions.Book Recommendations:Mexican Gothic by Silvia Moreno-GarciaHelpful LinksA Philosophy of Software Design By John Ousterhout'sNelida's BlogNelida on TwitterNelida on LinkedInCobalt Labs 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.

Ep 128Casey 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.

Ep 127Marc 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.

Ep 126Shanea 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.

Ep 125Greg Foster - A Pattern for Smaller, Faster, and Frequent Code Reviews
ERobby 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.

Ep 124Urban Hafner - Management Isn't For Everyone
ERobby 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.

Ep 123Amy 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.