
Scott Hanselman - The Fear Factor in Maintainable Software
06/11/24 • 36 min
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 Debt
- Scott 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 Confidence
- Scott 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 Balance
- Scott 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 Holiday
- Scott Hanselman - Personal Website
- Hanselminutes Podcast
- .NET Open Source History: .NET Core | Microsoft Learn
Helpful Links:
- Scott Hanselman - Personal Website
- Hanselminutes Podcast
- .NET Open Source History: .NET Core | Microsoft Learn
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:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
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 Debt
- Scott 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 Confidence
- Scott 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 Balance
- Scott 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 Holiday
- Scott Hanselman - Personal Website
- Hanselminutes Podcast
- .NET Open Source History: .NET Core | Microsoft Learn
Helpful Links:
- Scott Hanselman - Personal Website
- Hanselminutes Podcast
- .NET Open Source History: .NET Core | Microsoft Learn
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:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
Previous Episode

Stig Brautaset: Understanding Alien Artifacts in Legacy Code
In this episode of Maintainable, Robby chats with Stig Brautaset, Staff Software Engineer at CircleCI. Stig shares his insights on maintaining well-documented but complex legacy code, the impact of team dynamics on software maintenance, and his experiences with the SBJSON library.
Stig discusses the characteristics of well-maintained software, emphasizing the importance of team experience, domain knowledge, and risk appetite. He reflects on his own career journey, highlighting the transition from overconfidence to a balanced approach to risk-taking.
A significant portion of the conversation delves into Stig's concept of "Alien Artifacts," which describes highly resistant legacy code written by highly skilled engineers. He explains the challenges of modifying such code and shares examples from his own experiences.
Stig also talks about his work on the SBJSON library, addressing the complexities of handling multiple versions and dependency conflicts. He advocates for developers maintaining the software they ship and discusses the balance between shipping features quickly and maintaining long-term code quality.
Key Takeaways
- The influence of team dynamics on software maintenance
- Understanding the concept of "Alien Artifacts" in legacy code
- Strategies for handling multiple versions of a software library
- The importance of developers being on call for the software they ship
- Managing different types of technical debt
Book Recommendation:
- The Scout Mindset by Julia Galef
- Stig Brautaset on LinkedIn
- Alien Artifacts Blog Post
- SBJSON Library
- CircleCI
- The Confident Commit Podcast
Helpful Links:
- Stig Brautaset on LinkedIn
- Alien Artifacts Blog Post
- SBJSON Library
- CircleCI
- The Confident Commit Podcast
Want to share your thoughts on this episode? Reach out to Robby at [email protected].
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:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
Next Episode

Robin Heinze - React Native and the Art of Flexibility
In this episode, Robby welcomes Robin Heinze, Director of Engineering at Infinite Red, to discuss the intricacies of building and maintaining robust software systems. Key topics covered include:
- Characteristics of Maintainable Software: Robin shares insights from her team on what makes software maintainable, emphasizing the need for clear documentation, robust setup scripts, and ongoing code refinement.
- Technical Debt: They delve into managing technical debt, particularly in a consultancy setting, and how to balance client expectations with software quality.
- React Native: Robin explains the advantages of using React Native for cross-platform development, highlighting its efficiency and accessibility to a broader range of developers.
- Consultancy Challenges: The conversation also covers the unique aspects of working in a consultancy, including how to embed standards while respecting client processes.
Major Takeaways:
- Effective communication and a proactive approach to maintenance are crucial in software development.
- Visual elements like graphics can significantly enhance the accessibility and appeal of open source projects.
Book Recommendation:
Helpful Links:
For more insights, make sure to follow Robin on:
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:
Or search "Maintainable" wherever you stream your podcasts.
Keep up to date with the Maintainable Podcast by joining the newsletter.
If you like this episode you’ll love
Episode Comments
Generate a badge
Get a badge for your website that links back to this episode
<a href="https://goodpods.com/podcasts/maintainable-333012/scott-hanselman-the-fear-factor-in-maintainable-software-54038280"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to scott hanselman - the fear factor in maintainable software on goodpods" style="width: 225px" /> </a>
Copy