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 (5)

Collapse
 
panditapan profile image
Pandita

Hi Cesar ✨ I also recently got into a plane crash rabbit hole, I think you'd love Pilot Debrief!

While I agree that software engineering isn't flying, we've seen how software can affect lives directly with the Therac-25 case!

As a personal anecdote, I've also seen a case in one of my manufacturing clients on how the lack of testing software led to an accident that resulted in an operator sustaining considerable burns! (this was before I joined the client) This is why I'm always extra careful with my code even if it's on simple things like a normal CRUD app (where one mistake can affect $$$ and that can translate into budgets consideration for employees 0-0).

Honestly, I think I'm next to you on the list of devs asking for the moon, we should work towards professionalizing our industry but we're too busy reinventing dreamweaver 😂

Collapse
 
canro91 profile image
Cesar Aguirre

Paaaandita! Glad to see you around!

I think you'd love Pilot Debrief!

Looking into it...

an accident that resulted in an operator sustaining considerable burns!

OMG! Sorry to hear that.

we're too busy reinventing dreamweaver 😂

LOL! So true...or getting distracted by the bells and whistles of the next AI startup

Collapse
 
baltasarq profile image
Baltasar García Perez-Schofield

Very true. This procedure works, since a plane accident is rare. I'd apply this to nearly anything: education, international politics, defense... Unfortunately, politics is not about solving things.

Collapse
 
canro91 profile image
Cesar Aguirre

Unfortunately, politics is not about solving things.

Sad but true...

Some comments may only be visible to logged-in visitors. Sign in to view all comments.