Imposter Syndrome in Software Development
I have had the pleasure of leading a number of teams of really good software developers over the last 10 years and I have noticed a recurring propensity for developers of all skill levels fall into the trap of imposter syndrome.
Impostor syndrome (also known as impostor phenomenon, impostorism, fraud syndrome or the impostor experience) is a psychological pattern in which an individual doubts their skills, talents or accomplishments and has a persistent internalized fear of being exposed as a "fraud".Despite external evidence of their competence, those experiencing this phenomenon remain convinced that they are frauds, and do not deserve all they have achieved. Individuals with impostorism incorrectly attribute their success to luck, or interpret it as a result of deceiving others into thinking they are more intelligent than they perceive themselves to be. While early research focused on the prevalence among high-achieving women, impostor syndrome has been recognized to affect both men and women equally.
This only really came to my attention when it was articulated to me by one of my team. As soon as it was, however, I realised that I now had something with which to attribute what I had already known but been unable to label. Now, as we all know naming things is hard and having a name for an observed behaviour is always a good thing because gives us a way of articulating it.
Software development is complex, there is no getting around it. It's pretty easy to learn but can take a lifetime to master. Along the way the best way we learn new and better programming paradigms is from our fellow developers. As a self taught dev I attribute pretty much 80% of my current knowledge to the peers that helped me on the way over 20 years. How did that knowledge rub off on me? I hate to say it but for a long time it was through looking through other peoples code. Why? Because I felt that asking someone else would expose my ignorance of something I assumed everyone else knew. Sounds like classic impostor syndrome to me!
Since I became aware of this within myself I started to notice it more in other developers of all skill levels. Even the really good guys - you know the ones? There is at least one in every organisation, they are the people everyone else is in awe of, they get exceptional code out in a way that seems effortless, they can articulate very complex concepts in a way that gets you hooked, they are basically awesome developers. If you don't think you have one in your organisation then there is a high chance that's you!
I once had a very strange drunken Christmas party conversation with a guy that I hadn't worked really closely with yet but I had an immense amount of respect for his skills. The code of his that I had seen and his ideas he put forward in our leads meetings were awesome. I was in awe of him. What made this conversation strange was that it took a couple of bottles of wine for him to get up the courage to challenge me about some cross cutting work I had been doing that year (trying to implement standards across large numbers of development teams is rightly hard). We had a cracking conversation about the relative merits of different approaches. Now I cannot speak for this guy but I guess sometimes you need to be very confident in yourself to put out that level of challenge in a polite and constructive way without a bottle of good red in you!
Since then I have made a point of expecting some level of impostor syndrome in pretty much most developers I interact with and that alters my approach. I ask for confirmation of ideas, styles and paradigms and encourage others to do the same. I try to encourage anyone regardless of their supposed seniority to challenge what we are collectively doing and collaborate.
Of course, my approach is my own and yours will probably be different, that's cool, the point I am trying to make is when we have a label for something we can articulate it and if we can articulate it we can think about it in the correct context. If we are thinking about it we can spot it in others and then act from a position of knowledge and empathy. The results may surprise you.