Originally posted on my blog.
Flying is safe but... accidents happen.
When they happen, it's all over the news. But the thousands upon thousands of safe flights don't make it to the headlines.
The magic of the Internet took me to Admiral Cloudberg, "analyzer of plane crashes." Each post breaks down a rare accident, tracing the failed part or procedure that triggered the disaster.
After binge-reading some of Admiral Cloudberg's deconstructions, what struck me was the meticulous investigation after every accident.
After every accident, there's an investigation
A committee finds out exactly what happened and why.
I remember reading about a maintenance crew who cleaned a plane after some painting, with too much water, too much pressure, and too close to the fuselage or something. Water damaged some tiny part somewhere that caused a whole chain of events that led to a crash. Yes, that's the attention to detail committees have to deal with after accidents. Don't worry that won't happen again.
A committee's task is to find the root cause and the subsequent chain of events. After finding the root cause, they:
- Release bulletins to manufacturers
- Update procedures and checklists
- Add the accident scenario to simulators to train pilots
Their goal isn't to blame the captain, the control tower crew, or anyone else, but to prevent the same mistakes in future flights.
Coding isn't flying
As software engineers, often we hear or say—at least I have:
"Something went wrong. We don't know why. It hasn't happened since then."
"OK, let's move on. We still have some tickets to close this sprint. If that happens again, we'll take a deeper look."
Imagine if we treated coding the same way:
- Checklists to release code
- Another checklist for incidents
- Fully-researched outages and crashes
- Clear onboarding processes
- Automated best practices
- Guilty-free culture
No more developers deleting a production database by mistake. Coding would be as safe and reliable as flying, for both end users and coders.
We must adopt the same commitment to safety protocols and procedures to never let the same mistake happen twice. Or maybe I'm asking for the moon.
Just like for pilots, debugging and clear communication are key skills for coders. Street-Smart Coding covers those two, along with 28 more lessons to help you level up your coding skills.
Top comments (0)