Let it break
I recently came across a wonderful resource by Alexander Malmberg, from Google’s Site Reliability Engineering (SRE) team titled “Why Heroism Is Bad, And What We Can Do To Stop It”. It talks about the damage this “heroic” behavior can do on a team and its people.
Heroism as in that last human holding up some legacy system, or the one person putting in more hours than they really should, sacrificing their heath and happiness to keep a system alive.
I’ll be the first to admit I’ve been incredibly guilty of this in the past. Foolishly, I thought this behavior made me valuable, and that I was helping. I’ve come to realize that it is not. It’s a disservice to yourself, your team and even the system you’re working with.
This kind of behavior covers up issues around system sustainability. It paints a false picture that these systems are still working as usual all at the cost of toil on the team.
The best way to make something look broken is for it to break.
Sure, these issues might be “easy” to temporarily resolve, but long term you become a bottleneck and expectation becomes you’ll fix it, just as you always have. Stop being the hero and stop relying on heroism.
I’m not suggesting malice, but if the effort required to keep a software system going is unreasonable, meeting that an unreasonable expectation is not a solution. Spend your time focusing on fixing the long-term more systemic issue instead. Do your best to communicate the issue, relax, and then…
…let it break.