Mistakes Were Made
In my second internship at Microsoft, the code that I wrote got the attention of Bill Gates’ office.
In 1997 I was working at the Internet Gaming Zone, Microsoft’s foray into the emerging market of casual online gaming. I was tasked with rewriting the Zone’s batch emailer. Outgoing emails got queued up in a database; my code read the mails, connected to the mail server and sent them to the user.
This was a relatively easy task, even for an intern. Nothing that should have bothered the CEO of the company. Unfortunately, mistakes were made.
Rather than marking each mail as sent directly after successfully sending it, I wrote the code to try to be “efficient” and mark every one of them sent after it had run through the entire batch. However, if there was a problem sending just one of them, the code would break out of the loop. When the loop was run again in a few minutes, it would re-send all the emails from that batch, even if some mails were already successfully sent. The result was that my code ended up repeatedly spamming an unknown number of users.
If this weren’t bad enough, some users weren’t spammed. Those users, feeling cheeky and aware that the Zone didn’t ask you to confirm your address, had signed up with their email address as “firstname.lastname@example.org.”
Later that morning we got a friendly note from the Office of Bill Gates, asking about all the mails they were receiving (Bill Gates played bridge on the Zone, but probably didn’t need to be spammed by us). I suppose someone got to write a sincere apology email to our users and to BillG, but it wasn’t me.
So what happened next?
I fixed the bug, finished my internship, and a year later went to work for the Zone full-time. Stupid mistakes can be made, but the important part is recognizing the mistake, correcting it, and making sure it never happens again. In the future, I would make every attempt to be in the server room at 6am when my code was going live.
In the startup world, you can’t get away from the concept of failure, from lessons learned, and post-mortems. Failure is so popular there’s even a conference for it. Most startups fail, and there is as much of a fixation on dramatic failures as spectacular successes. However, the sad truth is that of the startups that fail, most fail silently.
I’ve been in and around startups my entire career: the Zone, which had been acquired by Microsoft a year before my internship, could have been considered a startup. Some startups succeeded, some failed. Even in those that succeeded, mistakes were made. I use the rhetorical device as a joke, but let me be clear: I made mistakes. Others around me made mistakes. Mistakes were made.
I hope to make this the first of a series: there are too many mistakes I’ve made, mistakes that I’ve been a part of, too many lessons learned. There are enough stories that need to be told, and someone has to tell them. And hopefully you can learn from them. I know I did.