If I'd stayed calm just a little longer, I would have realized how much pressure Betty was under. Her bonus, and quite possibly her career with the company, rested on her doing well with this project. It was a high profile, quick turnaround project and had been handed to her because of her previous track record for releasing well-received products within tight timeframes. Betty had a reputation to protect and difficult expectations to meet.
Unfortunately for Betty, she was building on a none-too-stable base. Her code worked on top of an existing system, a system rife with stability problems. Her code manifested the intermittent blue screen, but the underlying fault had been there all along. Sick of still having a six-week project on her plate after twelve weeks, she was anxious to declare victory. From her perspective, the project had been done some time ago. She figured it was someone else's responsibility to fix the other code on which her product depended.
Of course from my perspective her attitude was indeed hostile to the end users. I'm sure I called her an "idiot programmer" and worse during that project. But she didn't deserve it. She was simply reacting to a difficult situation. Ultimately, she agreed that we shouldn't ship until we could resolve the blue screen issue. She realized that no matter who was at fault, she was responsible for fixing the intermittent crash.
The next time you're tempted to think of your programmers as idiots, incompetents, or quality hostile, remember that no matter what else they may be, they're people first. It is far more likely that they are having a very human reaction to a particularly bad situation than that they are incapable. Perhaps, like Betty, they're feeling trapped in a no-win situation. Before you condemn them, ask what's going on from their point of view.
Similarly, the next time you're tempted to hang a programmer up by his toenails, remember the last time you made a mistake. I've made some real whopper mistakes in my time. We all have, whether or not we choose to admit them or even remember them. It may be that some programmers don't care about users, but it's more likely that bugs are honest mistakes made under difficult circumstances.
I don't expect you to put a bumper sticker proclaiming "Have You Hugged a Programmer Today?" outside your work area. But the next time you're tempted to vent your anger at a programmer, see if you can imagine the factors contributing to his or her behavior. After all, we're all human, with all the brilliance and fallibility that implies.