If you write code, if you participate in the act of programming, then you are a programmer. We can add a clause to this that suggests regularity — someone who programs often is a programmer. That’s all it takes to be a programmer. It doesn’t matter if you’ve just started and worked your way through the fundamentals like control structures and taming functions. It doesn’t matter if for some reason you don’t feel like a programmer. It doesn’t matter if someone pays you or not, unless you really find it important to be a professional programmer. If you program and you do it over and over, you become a programmer.
Last week I had the privilege of being amongst the speakers at JSConf 2013. The best part about this particular speaking opportunity was that I was able to give a non-technical talk about programming that I’d wanted to give for a long time. It was a culmination of all the things regarding learning to program that I’ve talked about here on The Pastry Box stitched together with further anecdotes and advice. It talked about cognitive biases and tried to convince people to get their biases out of the way so they could realize their potential. One of the slides in my presentation addressed impostor syndrome (known as impostor phenomenon in peer-reviewed, formal research) as it relates to the craft of programming, but really the point I was trying to make could be applied to anybody in any field.
Impostor phenomenon, explained simply, is the experience of feeling like a fraud (or impostor) while participating in communities of highly skilled participants even when you are of a level of competence to match those around you. Impostor phenomenon is highly correlated with individuals who are successful; arguably success here means success as perceived by others. The important thing to note is that this experience isn’t isolated to people we perceive as experts, only that it is a counterintuitive notion: one might assume that as they develop their skills in a craft further that their confidence should increase and their insecurity about whether they are good and whether they belong would fade away. It turns out that this is not the case for a lot of people.
I found myself wondering if my talk was going to be all that useful to the people I perceived as experts; I questioned whether or not the smart people I admired that I knew would see it were going to find value in this thing that I had made to share with everyone.
I gave the talk, and afterwards several of them thanked me for that slide. Some of them my heroes, they took me aside and confided their thanks. They confided their relief.
In the end I wasn’t shocked that the successful people I admired had experienced impostor phenomenon and talked to me about it — I was shocked that I somehow thought the people I see as heroes were somehow exempt from having it. I did the one thing I didn’t want to do: make that assumption about anyone.
We’re all just doing the best we know how to when it comes to programming, it’s just that some people have more practice coming across as confident than others do. Never mistake confidence for competence, though.
I’m just going to put this out there: to anyone of any skill level who reads this, if you’re ever feeling like you’re a fraud in your field; if you ever feel alone or if you worry that you’re not smart enough or good enough as the next programmer, just come talk to me. I’m a busy person by design because I can’t stand to be idle, but I’ll make time for you because feeling this way is isolating, lonely, and not constructive. I think of all the missed opportunities I let pass by all because I was worried about making mistakes, not being perceived as an equal by my peers, and all the code I never wrote just because I was intimidated by all the great code and smart programmers out there.
I want to listen to what you have to say, to tell you that you’re not alone, and that your heroes are human too just like you.