image

Today we encountered an interesting story about a software developer who made a big mistake. How big? It almost caused the whole company to go bankrupt.

Engineer Myles Recny recounts the time he accidently deleted all the customer records at his past employer:

The monotony of this task lulled me into a stupor, and one lazy Tuesday afternoon found me drowsy, cursor hovering over the USERS table icon, to then bring up its menu and click ‘clear’.

What seemed like a casual click had horrific consequences. All of the company’s customer data was instantly wiped out and there was no backup. The consequences for Myles the developer were pretty bad too:

The CEO leaned across the table, got in my face, and said, “this, is a monumental fuck up. You’re gonna cost us millions in revenue”. His co-founder (remotely present via Skype) chimed in “you’re lucky to still be here”.

Myles was made the internal and external scapegoat for the incident because, well, he caused it. The company, however, didn’t fire Myles even though they pinned the blame on him. Eventually though, Myles decided to “fire himself” and resigned from the company because of his mistake.

But, was this really Myles’ fault? Why weren’t the customer records backed up? How was a system in place where an errant click could lead to such tragic consequences? As one online commentator noted:

More than anything else, this describes an appalling failure at every level of the company’s technical infrastructure to ensure even a basic degree of engineering rigor and fault tolerance. It’s noble of the author to quit, but it’s not his fault. I cannot believe they would have the gall to point the blame at a junior developer. You should expect humans to fail: humans are fallible. That’s why you automate.

It raises an interesting point.  Probabilistically, you know that humans will make errors. Can you actually blame employees for errors of random chance, even if the consequences are severe? Shouldn’t the fault lie with the management that built a system unable to withstand an errant click?

If it were your company, would you blame Myles the developer, or would you blame yourself?

This post was written by Rohin Dhar. Follow him on Twitter here or Google.