3 ms·
"You screwed up" is a tricky one. Yes, individuals do screw up. But that's actually not very interesting; a true individual screwup (with no one else contributi
by bgribble 4y ago
"You screwed up" is a tricky one. Yes, individuals do screw up. But that's actually not very interesting; a true individual screwup (with no one else contributing) has a very small blast radius.
The bigger the screwup, the more people had a hand in it, and the less truthful it is to point to one person and say "you did it."
Let's say I merge a syntactically incorrect piece of code that brings down the entire system on the next release. Nobody notices for a few hours and the company loses a bunch of money. Did I screw up? Yes I did, but that's the tiniest piece of it.
* How did my change get merged? Who reviewed it? Did nobody test it or notice that it had no test coverage that would exercise my stupid change? Do we have any standards or accountability for review quality?
* How did it get released? Do we not have any automated tooling to stand up a candidate release in staging and do smoke tests?
* How did the downtime last so long? Do we have any operational monitoring? Was someone on call? Who is accountable for system uptime overall?
A bad boss would just throw the person closest to the cause of the failure -- me -- under the bus. But who among us has never committed bad code? That's why we build systems for code review, for automated test, for release QA, for operational monitoring. And if all those systems fail or are inadequate, it's not really the fault of any single developer who was essentially walking a tightrope without a net.
- pclmulqdq 4y agoYou basically nailed the problems with a non-blameless approach to business. Blamelessness has some very clear benefits, but I have also seen the pendulum swing too far (eg refusing to blame someone for gross negligence). I do think you can have blamelessness without corpspeak, but it takes a lot more humility and self-control.