I have no idea how this blog post is going to turn out. It stems from a comment made by ProfessorVod about naming. He mentions the affect self-doubt can have on your ability to name things correctly, and more importantly for me the fact that his original thought was normally the correct one.

“I do have high standards. I look at everything I have done and think, why wasn’t that better? Part of my motivation is from crippling self-doubt – I have got to prove myself wrong.” Michael Palin

I can relate to this. I’ve lost track of the number of whiteboard sessions I’ve had with myself, playing devil’s advocate to my own idea, only to find out a few hours later that yes indeed I am right in my thinking. Not just naming things either, solutions to problems that must have a fatal flaw – otherwise how come I’ve seen the answer so clearly? I can’t be right straight away, that’s crazy.

Do all programmers feel this way? Is this why we so often see or feel ourselves the dreaded Imposter Syndrome?Is what drives us to constantly re-factor, re-learn, and re-test our own ideas this constant need to ensure that our failure wasn’t just missed the first time around?

Every time we broaden our knowledge, or deepen our understanding, we’re opening ourselves to the possibility of having to re-evaluate the conceptions that rule our work and our way of thinking. Not being wrong per se, but of being less right than is acceptable, which is just as bad in our minds. We enjoy it, we willingly throw our hat into the ring and say “Come on then – give me your best shot!”, we want to be knocked down because once we’ve learnt the way it works the same trick won’t work twice. We’re intellectual thrill seekers, and until we know it all, until we’ve exhausted every possible option and know categorically that we can’t be proven wrong, can’t be knocked down, we’ll keep fighting.

And people say programmers are boring. We’re not boring, you’re just not looking hard enough.