Author : Ryan Somma
A software bug killed 64 people this month before it was discovered. The administrators have brought the system down and a patch is working its way through the emergency release process. It will cost the ministry $400 million in downtime after you add up all the lost productivity hours for the clerks, peace officers, judges, and executioners surfing the web waiting for the system to come back online.
The fix was easy, a single case statement, a missing exclamation point in front of an equals sign to making it “not equals.” I knew right where the problem was when I was told about it, what component and even the approximate line number.
That’s because it was my bug.
My error killed 64 people. I know I’m not all to blame. There were three levels of testing by a variety of specialists conducted before the code went live. Three levels of personnel all probably as bored and overworked as I was when I made the mistake.
The testers share the blame and our overbearing managers share the blame, but I’m the one who made the initial error and I can’t shake these feelings of guilt. I find myself questioning every line of code now. I get out of bed several times a night, remoting into my work computer to make sure I didn’t make more mistakes like in all my dreams. I can’t sleep, and I know that’s only going to make things worse.
They weren’t good people, my peers assure me. If they weren’t dead, they’d be serving decades of their lives in prison if not the entirety of their lifetimes. The code found them guilty, the bug just tipped the scales of justice a little bit more to the death penalty.
I accidentally killed 64 people. That’s 64 accounts of accidental manslaughter, but there won’t be any criminal charges brought against me.
There won’t be any charges because I’ve committed no crime. In order for there to be a crime, it would have to be in the code. It’s not in the code because we would never allow that.
We would never write a program that could prosecute the programmers.