LeadDev Berlin 2022 Charity Majors

Don't struggle with code ownership and maintenance. Learn how to break the cycle of on-call rotation and focus on reliability, technical debt, and team well-being, with Charity Majors.

Key takeaways
  • On-call rotation is a sign of struggling with code ownership and maintenance. It’s a badge of honor that says “I’m in over my head”.
  • The goal is to focus on shrinking the interval between monitoring and alerting. High-performing teams respond to alerts quickly, usually within 15 minutes.
  • Deleting 90% of alerts helps to identify the real problems. The remaining 10% are the ones that really matter.
  • Teams that spend 20% of their time on maintenance are more likely to have healthy on-call rotations. Investing in sociotechnical systems is crucial for reliability and technical debt.
  • Ideally, teams should be on call for a block of time, followed by a break. This allows for focus and ownership.
  • Code ownership is not about individual ownership, but about collective responsibility. Teams should aim to ship constantly, with many small diffs.
  • Engineers who write code often have different priorities than those who run it. Separating roles can lead to chaos.
  • Technical leaders should focus on expertise, not just metrics. They should own the process of identifying and fixing problems, rather than just reacting to alerts.
  • Managers should encourage engineers to own their code and focus on shipping. This means investing in observability, monitoring, and feature flags.
  • On-call rotation should be a choice, not a requirement. When it’s a choice, it’s more likely to be successful.
  • Teams should focus on making small, incremental changes, rather than trying to tackle everything at once.
  • Retrospectives are crucial for identifying areas of improvement and implementing changes.
  • Engineers should be encouraged to take breaks and focus on well-being. On-call rotation should not be used as a punishment or a way to “tire them out”.
  • Technical leaders should prioritize empowerment, rather than control. This means giving engineers the autonomy to make decisions and own their work.