Artwork

Conteúdo fornecido por Robby Russell. Todo o conteúdo do podcast, incluindo episódios, gráficos e descrições de podcast, é carregado e fornecido diretamente por Robby Russell ou por seu parceiro de plataforma de podcast. Se você acredita que alguém está usando seu trabalho protegido por direitos autorais sem sua permissão, siga o processo descrito aqui https://pt.player.fm/legal.
Player FM - Aplicativo de podcast
Fique off-line com o app Player FM !

Alan Ridlehoover: Building Robust Systems Through Behavior-Centric Testing

48:27
 
Compartilhar
 

Manage episode 444131567 series 2558054
Conteúdo fornecido por Robby Russell. Todo o conteúdo do podcast, incluindo episódios, gráficos e descrições de podcast, é carregado e fornecido diretamente por Robby Russell ou por seu parceiro de plataforma de podcast. Se você acredita que alguém está usando seu trabalho protegido por direitos autorais sem sua permissão, siga o processo descrito aqui https://pt.player.fm/legal.

Alan Ridlehoover: Building Robust Systems Through Behavior-Centric Testing

In this episode of Maintainable, Robby speaks with Alan Ridlehoover, Senior Engineering Manager at Cisco Meraki. Alan shares his perspective on building well-maintained software by focusing on behavior-centric testing, clear code ownership, and thoughtful technical decisions that stand the test of time.

Alan discusses his experience working in both startup environments and large-scale engineering teams, including how he navigates the unique challenges of each. He provides practical advice on managing conditional logic in code, scaling with third-party dependencies, and ensuring that testing strategies remain effective as systems grow in complexity.

Key Takeaways:

  • The characteristics of well-maintained software: behavior-centric testing, solid code principles, and ownership boundaries.
  • Balancing the needs of startups vs. large enterprises when it comes to software maintenance.
  • Alan’s approach to handling conditional logic with a technique called "rehydration" to simplify complex code.
  • Why focusing on behavior, not implementation, is critical for scalable, maintainable tests.
  • The importance of interfaces and facades for managing third-party dependencies and future scalability.
  • How to approach technical debt as a conscious trade-off, not an inevitable burden.
  • Best practices for addressing flaky tests, including managing non-determinism, order dependencies, and race conditions.
  • How to set up effective monitoring and alerting systems to maintain a healthy software environment.
  • The role of team structure and product ownership in delivering sustainable, high-quality software.

Episode Highlights:

  • [00:05:32] Introduction to the Guest's Background: Robby and Alan discuss Alan's work at Cisco Meraki and his approach to well-maintained software.
  • [00:15:10] The Importance of Behavior-Centric Testing: Alan explains why focusing on behavior, not implementation, helps in both startups and large-scale environments.
  • [00:24:30] Rehydration: A Strategy for Managing Conditional Logic in Code: Alan shares his method for simplifying code with many conditionals.
  • [00:35:00] Navigating Technical Debt: Alan offers advice on how to strategically manage technical debt without slowing down business needs.
  • [00:45:18] Monitoring and Alerting: Alan’s tips on keeping systems healthy and avoiding customer-facing issues through smart monitoring setups.

Resources Mentioned:

Connect with Alan Ridlehoover:

Subscribe to Maintainable on:

Or search "Maintainable" wherever you stream your podcasts.

Keep up to date with the Maintainable Podcast by joining the newsletter.

  continue reading

191 episódios

Artwork
iconCompartilhar
 
Manage episode 444131567 series 2558054
Conteúdo fornecido por Robby Russell. Todo o conteúdo do podcast, incluindo episódios, gráficos e descrições de podcast, é carregado e fornecido diretamente por Robby Russell ou por seu parceiro de plataforma de podcast. Se você acredita que alguém está usando seu trabalho protegido por direitos autorais sem sua permissão, siga o processo descrito aqui https://pt.player.fm/legal.

Alan Ridlehoover: Building Robust Systems Through Behavior-Centric Testing

In this episode of Maintainable, Robby speaks with Alan Ridlehoover, Senior Engineering Manager at Cisco Meraki. Alan shares his perspective on building well-maintained software by focusing on behavior-centric testing, clear code ownership, and thoughtful technical decisions that stand the test of time.

Alan discusses his experience working in both startup environments and large-scale engineering teams, including how he navigates the unique challenges of each. He provides practical advice on managing conditional logic in code, scaling with third-party dependencies, and ensuring that testing strategies remain effective as systems grow in complexity.

Key Takeaways:

  • The characteristics of well-maintained software: behavior-centric testing, solid code principles, and ownership boundaries.
  • Balancing the needs of startups vs. large enterprises when it comes to software maintenance.
  • Alan’s approach to handling conditional logic with a technique called "rehydration" to simplify complex code.
  • Why focusing on behavior, not implementation, is critical for scalable, maintainable tests.
  • The importance of interfaces and facades for managing third-party dependencies and future scalability.
  • How to approach technical debt as a conscious trade-off, not an inevitable burden.
  • Best practices for addressing flaky tests, including managing non-determinism, order dependencies, and race conditions.
  • How to set up effective monitoring and alerting systems to maintain a healthy software environment.
  • The role of team structure and product ownership in delivering sustainable, high-quality software.

Episode Highlights:

  • [00:05:32] Introduction to the Guest's Background: Robby and Alan discuss Alan's work at Cisco Meraki and his approach to well-maintained software.
  • [00:15:10] The Importance of Behavior-Centric Testing: Alan explains why focusing on behavior, not implementation, helps in both startups and large-scale environments.
  • [00:24:30] Rehydration: A Strategy for Managing Conditional Logic in Code: Alan shares his method for simplifying code with many conditionals.
  • [00:35:00] Navigating Technical Debt: Alan offers advice on how to strategically manage technical debt without slowing down business needs.
  • [00:45:18] Monitoring and Alerting: Alan’s tips on keeping systems healthy and avoiding customer-facing issues through smart monitoring setups.

Resources Mentioned:

Connect with Alan Ridlehoover:

Subscribe to Maintainable on:

Or search "Maintainable" wherever you stream your podcasts.

Keep up to date with the Maintainable Podcast by joining the newsletter.

  continue reading

191 episódios

Todos os episódios

×
 
Loading …

Bem vindo ao Player FM!

O Player FM procura na web por podcasts de alta qualidade para você curtir agora mesmo. É o melhor app de podcast e funciona no Android, iPhone e web. Inscreva-se para sincronizar as assinaturas entre os dispositivos.

 

Guia rápido de referências