Programmers are usually inherently logical people. We get the job done by breaking down big problems into small chunks that we can wrap our heads around. This gives us a feeling of being in control and in command of our environment. I think that feeling is a large part of why programmers enjoy what they do. But our reliance on this sense of control is also exactly why we can become so distraught when we lose even a sliver of that control.

Panic gives rise to supernatural self-pity
And losing control is mostly associated with the onset of bugs. Those pesky little critters that we infuse with a sense of drive and intent when we can’t pin them down. They’re out to get us, aren’t they? They’re like hobgoblins lurking under the bed, just waiting for us to doze off and then they’ll take over the room. Only the room is your mind and when they do take over, panic turns it straight to mush.

This panic usually manifests itself as self-pity: Why me? Why now? Why can’t this just work? Those are the questions of capitulators, someone who has given up on logic and succumbed to the supernatural belief that the universe is out to get him. Hogwash, of course, but extremely common none the less.

Bugs are always about a lack of good information
What keeps the panic coming back is that programmers fail to internalize the outcome of every single bug they’ve encountered in the past. There were never any hobgoblins, there was always a logical explanation, and it was usually just a lack of good information. You didn’t think that A would result in Y, but was convinced it was Z.

But somehow this fails to seep in unless you make an explicit point about it. So please do that. The next time you think something is bizarre or impossible, remind yourself that it is not. That the universe is way too busy to concern itself with mocking you. You’re just not that special. Then roll up your sleeves and find that bit of missing information that’s causing things to work counter to how you’d like or expect.