Last week a good friend of mine stopped by my cubicle*. He was upset because a bug had been found in his code and the code was now delayed in going to production. Here are the things I said to him then, and I will hope to hear back in the future when I have a newly found bug:
"It's your turn in the hot seat."
I told him "I was to blame when we found that bug I wrote in the Locator service, so now the heat's off me. Don't worry, I'm sure I'll claim it back again after a while."
"Even the very best developers write bugs."
It's true. This is because software development is just plain hard. Look at 'Quick Sort', for instance-- it's been around for decades, yet new and subtle bugs still crop up once in a while. No matter how smart the author, no matter how well understood the task, there will be bugs.
"If you're not breaking something, you're not doing anything."
I first heard this one when I worked a summer on a golf course. A tractor had just been driven over a sprinkler head, causing the sprinkler head to break off it's pipe and causing a big water leak. The boss told the disheartened tractor driver that these things just happen and the only way to avoid breaking things was to sit frozen and not do anything. Likewise, the only way to completely avoid writing bugs is to stop writing code. (Which nobody wants, of course.)
That's what I said then-- he'll probably be echoing it back to me next week. What do you say to your friends in this situation?
* I'll write a future post about why I think senior developers should work in cubicles, not offices.