How Bad Code Killed 346 People And What Can You Do About It

Nikolay Nikonov
P-Society
Published in
4 min readSep 20, 2019
Photo by Thomas Tucker on Unsplash

Yes, I’m talking about infamous Boeing 737 Max accidents that took lives of 346 people in total due to faulty MCAS software.

According to the media, to cut development costs, Boeing’s subcontractors hired temporary workers for a whopping $9 an hour!

Anyway, what this has to do with you, as a programmer?

A lot.

Your attitude matters. Even if you work for $9 an hour — do your best. Maybe it’s only me, but I think that it’s your fault if you accepted such a rate. That fact doesn’t allow you to avoid responsibility. You’re still responsible for all your code and actions.

If you accept responsibility, do your best, do it on time, don’t stop learning, think thorough about software architecture, think about edge cases, and pepper your code with extensive tests, you will become a professional. Do all of the above, even if they pay you the peanuts.

What’re the perks of being the pro?

Everyone and their brother wants to code nowadays. Back in the day, it was an elite craft. People wrote code giving their undivided attention to the matter. Today, an attention deficit is killing quality. It’s your chance to start paying attention, produce clean and production-ready code, and leave all of these inattentive motherslackers behind.

I’m making a prediction here:

In the next 10 years or so, more and more people will try to get into the tech industry and become a coder.

Bad code will quadruple. Lives will be lost in the most extreme cases. The governments will make their policies tighter. People will end up in jail.

You get the picture. It is only getting worse.

And this will make the corporate management to think. Who should we hire?

The answer is YOU, with all your experience and trained attention. You will have an unfair competitive advantage.

UPDATE:

I’ve got a couple of angry comments on Reddit about how I defend the top management and blame the small guys.

Good point, but that is in your imagination only.

The top management is as guilty as the small guys. Sloppy management, sloppy programming = bad things happens.

And not every $9 programmer is producing bad code obviously. Some care about quality, and they will rise to the top in the end.

The New York Times blames pilots:
https://www.nytimes.com/2019/09/18/magazine/boeing-737-max-crashes.html

This article seems to me like a Boeing-paid editorial. “Hey! The Asian pilots are incapable and ignorant guys! We did everything right.”

But it’s true in some cases. Like any craft, piloting a plane is as much an art as a rigid discipline. And some people (even pilots) are social drones that can’t function in extreme situations, can’t think for themselves, and sheepishly submit to superiors (even if the superiors make stupid moves that make no sense).

To drive my point home, I want to tell you a story:

Last year, I was managing a software project (ad network), and we outsourced a part of it to an Indian IT company.

I was against this decision, but my partners told me it would be okay, they got a referral from a friend, etc.

Then bad things started to happen. The Indian company missed 3 deadlines in a row.

And every case was the same: When I asked them if the code will be deployed tomorrow, they said: “Yes, sir. Sure, sir.” And, as you can imagine, nothing was deployed the day after.

I called their manager and told him that it’s okay if they can’t deploy on time, but please, please tell me if something isn’t right.

And, as you can imagine again, next time they did the same fricking thing! Is it hard to notify me about a problem?

I told my partners that I don’t give a dried fruit about their decision to hire these guys, and we have to replace the team urgently.

So, we hired a team from Poland. It was wonderful. No missed deadlines without warnings. No stupid “sir” word in communications. Everything went just fine.

Now, you can accuse me that I shit on Indians. Not true. I shit on mentality. I can’t stand social robots that can’t think for themselves and are trying to “not lose their face.” Hey, you have other problems, like, for example, deliver on time! Or fly a plane in extreme conditions.

My conclusion to this piece is that craftsmanship matters. And the world is losing it. Don’t be that lazy social drone that only knows how to execute orders from his or her boss. Think for yourself!

--

--

Nikolay Nikonov
P-Society

iOS consultant (frameworks, libraries/frameworks, costs prediction, saving your stalled project), developer, and engineer (Objective-C, Swift)