You won’t find the incompetence in the software no matter what.
If you fail to assume that the software contains issues – if you fail to understand that your software is made by humans and humans make mistakes, not because they’re bad but because they’re human – and if you fail to implement mechanisms to feel gracefully with inevitable failures, THAT is the incompetence.
One funny thing about humans is that they aren’t just gloriously fallible: they also get quite upset when that’s pointed out. :)
Unfortunately, that’s also how you end up with blameful company cultures that actively make reliability worse, because then your humans make just the same amounts of mistakes, but they hide them – and you never get a chance to evolve your systems with the safeguards that would have prevented these.
You won’t find the incompetence in the software no matter what.
If you fail to assume that the software contains issues – if you fail to understand that your software is made by humans and humans make mistakes, not because they’re bad but because they’re human – and if you fail to implement mechanisms to feel gracefully with inevitable failures, THAT is the incompetence.
Failures are systemic.
Oh yes I make those failures myself, testing and staging and limited release schedules save my human failures from breaking the world
No idea why this relatively banal truth is getting so many downvotes
One funny thing about humans is that they aren’t just gloriously fallible: they also get quite upset when that’s pointed out. :)
Unfortunately, that’s also how you end up with blameful company cultures that actively make reliability worse, because then your humans make just the same amounts of mistakes, but they hide them – and you never get a chance to evolve your systems with the safeguards that would have prevented these.
Systemic failures are incompetence.