Scott Hanselman - The Fear Factor in Maintainable Software

EP-172 | June 11, 2024 | 36:35

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

  1. Scott believes that if you fear the software you work on, it's a tell-tale sign that it has maintainability issues.
  2. 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.
  3. 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

  1. Scott emphasizes the importance of empathy in overcoming technical debt and making software more maintainable.
  2. Senior engineers and team leads have a responsibility to make junior developers feel safe enough to speak up and ask questions.
  3. He advocates for providing new hires with small, achievable tasks to build their confidence and trust in the software.
  4. Scott encourages teams to use "inner loop" and "outer loop" thinking.
  5. Inner loop - The cycle of making a change, hitting f5, and seeing changes immediately.
  6. Outer loop - Things like deploying the codebase, getting it tested, ensuring production stability.
  7. 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

  1. Scott shares stories about Microsoft's journey with open-source software and how that process has shaped the company's culture around maintainable code.
  2. 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.
  3. Scott warns against the trap of striving for unattainable perfection. Aiming for good, solid repeatable work over perfection ultimately yields better results.
  4. He uses his own projects, like the Hanselminutes podcast, as examples of focusing on consistent outputs and utilizing a simple workflow.
  5. Scott advocates for using AI tools to transcribe coding sessions, freeing up developers from extensive note-taking.

Book Recommendation:

Helpful Links:

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!

🎧 Listen from Anywhere 🪐

You can find the Maintainable Software Podcast on all the usual places you can find tech podcasts.

Subscribe to the Maintainable Podcast Newsletter

Elevate your coding journey with insider insights from Robby and the pros. Discover the secrets to tackling technical debt and revitalizing legacy code, all in one place. Because who says you can't teach an old code new tricks?