Skip to Content

Scott Hanselman - The Fear Factor in Maintainable Software

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

Legacy Code Engineering Culture

Scott Hanselman

Vice President of Developer Community, Microsoft

Developer advocate, podcaster, and author. Hosts the 'Hanselminutes' podcast and has been a voice in the developer community for over two decades.

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!

Frequently Asked Questions

What does Scott Hanselman say about fear in software development?

Scott discusses how fear of breaking things often prevents teams from improving their codebase. He encourages building confidence through automated testing and incremental changes to overcome the paralysis that fear creates.

How does Scott Hanselman approach legacy systems?

Scott advocates for understanding systems deeply before making changes. He recommends documenting tribal knowledge, writing tests for critical paths, and making small, reversible changes rather than attempting large rewrites.

What is Scott Hanselman's advice for developer productivity?

Scott emphasizes focusing on what matters most and eliminating unnecessary work. He recommends automation, good tooling, and protecting focus time as key factors in maintaining productivity on complex software projects.

🎧 Listen from Anywhere 🪐

Listen on all the major podcast platforms.

Between the episodes

223 Episodes published since 2019

Stay sharp. Skip the noise.

One email when a new episode drops. That's it.

Joined by engineering leaders at companies you've heard of.