DEV Community

Cover image for What Software Engineering Should Learn from Aviation (And from Rare Plane Crashes)
Cesar Aguirre
Cesar Aguirre

Posted on • Originally published at canro91.github.io

What Software Engineering Should Learn from Aviation (And from Rare Plane Crashes)

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:

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)