Earlier quoted context omitted.
Pretty epic. I was working for a webhosting company, and someone asked me to rush a change just before leaving. Instead of updating 1500 A records, I updated about 50k. Someone senior managed to turn off the cron though, so what I actually lost was the delta of changes between last backup and my SQL. I was in the room for this though: https://www.theregister.com/2008/08/28/flexiscale_outage/
I love the title to that article "Engineer accidentally deletes cloud". It's like a single individual managed to delete the monolithic cloud where everyone's files are stored.
Software engineering lessons from RCAs of greatest disasters
41–50 of 150 posts
Re: Software engineering lessons from RCAs of greatest disasters
#42Earlier quoted context omitted.
My worst bug was a typo in a single line of html that removed 3DS protection from many millions of dollars of credit card payments
My worst bug was changing how a zip code zone was fetched from the cache in a large ecommerce site with tens of thousands users using it all day long. Worked great in DEV :D but when the thundering herd hit it, the entire site came down.
Re: Software engineering lessons from RCAs of greatest disasters
#43One of my favourites that I ever heard about was from a friend of mine who used to work on safety-critical systems in defense applications. He told me fighter jets have a safety system that disables the weapons systems if a (weight) load is detected on the landing gear so that if the plane is on the ground and the pilot bumps the wrong button they don't accidentally blow up their own airbase[1]. So anyway when the Eu…
Spark: https://en.wikipedia.org/wiki/SPARK_(programming_language)
And it's Ada not ADA which makes me think of the Americans with Disabilities Act.
Re: Software engineering lessons from RCAs of greatest disasters
#44That said, a challenge I have frequently run into, and I feel is not uncommon, is a tension between the desire not to repeat mistakes and ambitions that do generally involve some amount of risk-taking. The former can turn into a fixation on risk and risk mitigation that becomes a paralyzing force; to some leaders, lists like these might just look like "a thousand reasons to do nothing" and be discarded. Yet history is full of clear cases where a poor appreciation of risk destroyed fortunes, with a chorus of "I told you sos" in their wake.
It is a difficult part of leadership to weigh the risk tradeoffs for a particular mission, and presenting things in absolute terms of "lessons learned" rarely makes sense, in my experience. The belt-and-suspenders approaches that make sense for authoring the critical control software for a commercial passenger aircraft or an industrial control system for nuclear plants probably do not make sense for an indie mobile game studio, even if they're all in some way "software engineering".
Re: Software engineering lessons from RCAs of greatest disasters
#45One of my favourites that I ever heard about was from a friend of mine who used to work on safety-critical systems in defense applications. He told me fighter jets have a safety system that disables the weapons systems if a (weight) load is detected on the landing gear so that if the plane is on the ground and the pilot bumps the wrong button they don't accidentally blow up their own airbase[1]. So anyway when the Eu…
Well maybe this is the other, compounding problem. Engineering complex machines with such a high cost of bugfix deployment seems like a big issue. It's funny that as an industry we now know how to safely deploy software updates to hundreds of millions of phones, with security checks, signed firmwares, etc, but doing that on applications with a super high unit price tag seems out of reach...
Or maybe, a few millions is like only a thousand hours of flying in jet fuel costs alone, not a big deal...
Re: Software engineering lessons from RCAs of greatest disasters
#46One of my favourites that I ever heard about was from a friend of mine who used to work on safety-critical systems in defense applications. He told me fighter jets have a safety system that disables the weapons systems if a (weight) load is detected on the landing gear so that if the plane is on the ground and the pilot bumps the wrong button they don't accidentally blow up their own airbase[1]. So anyway when the Eu…
> weird version of ADA Spark: https://en.wikipedia.org/wiki/SPARK_(programming_language) And it's Ada not ADA which makes me think of the Americans with Disabilities Act.
Re: Software engineering lessons from RCAs of greatest disasters
#47Earlier quoted context omitted.
I love the title to that article "Engineer accidentally deletes cloud". It's like a single individual managed to delete the monolithic cloud where everyone's files are stored.
At this point there's basically 3 clouds, and then everyone else.
Re: Software engineering lessons from RCAs of greatest disasters
#48(Root Cause Analysis)
This whole RCA terminology has to die. The idea that there exists a single "Root Cause" that causes major disasters is fundamentally flawed.
Re: Software engineering lessons from RCAs of greatest disasters
#49As I heard one engineering leader say, "it's okay to make mistakes — once ". Meaning, we're all fallible, mistakes happen, but failure to learn from past mistakes is not optional. That said, a challenge I have frequently run into, and I feel is not uncommon, is a tension between the desire not to repeat mistakes and ambitions that do generally involve some amount of risk-taking. The former can turn into a fixation on…
It's really hard to drive a balance between "pushing untested shitcode into prod multiple times a week" and "that ticket to change our CTA button color is done but now needs to go through 4 days of automated and manual testing." I think as an industry most of us are probably too far on the latter side of the spectrum in relation to the stakes of what we're actually doing day to day.
Re: Software engineering lessons from RCAs of greatest disasters
#50Earlier quoted context omitted.
> Every disaster is preventable. No, there is such a thing as residual risk and there are always disasters that you can't prevent such as natural disasters. But even then you can have risk mitigation and strategies for dealing with the aftermath of an incident to limit the effects. > Everything on the list was happening in human-engineered environments - as do most things that affect humans. That is precisely why the…
It is 2023. The damage of natural disasters can be mitigated. When the San Andreas fault goes it'll probably get an entry on that list with a "why did we build so much infrastructure on this thing? Why didn't we prepare more for the inevitable?". And this article is throwing out generic all-weather good sounding platitudes which are tangential to the disasters listed. He drew a comparison between the Challenger disas…
That is a comforting belief, but it is probably not true. We have no plan for a near-Earth supernova explosion. Not even in theory.
Then there are asteroid impacts. In theory we could have plowed all of our resources into planetary defences, but in practice in 2023 we can very easily get sucker punched by a bolide and go the way of the dinosaurs.