The Antidote to Imposter Syndrome in Software Development
I have been surprised by the number of people openly sharing their struggle with imposter syndrome on twitter. If there are lots of people saying it, there must be even more feeling it. I tweeted this out in response to one such comment:
If interns think this is going to go away after they become developers I have some bad news for them.
It seems like some people need some guidance on the topic.
I say this not from arrogance. I am a sufferer as well. I remember on 2 separate occasions I joined a “surprise meeting” with my boss thinking I was going to get fired only to be given a promotion. I really had it bad and still find it creeping up from time to time.
I have, however, spent a lot of time thinking about software development and more importantly software developers and how to lead them. Here is what you should know.
Why does it happen
I am sure that imposter syndrome exists in every industry, I think it is just part of the human experience. However, it is particularly prevalent in software developers because software development attracts a certain type of person.
Ask any developer about what they are working on and when they show you it, they will list the 10 things that are wrong with it. Even in finished products, devs know where the bugs are, what things wont scale and where the code needs cleaned up. As I like to say, “Developers know where the skeletons are”. This kind of hyper criticality is great for developing software. It means that we are always pushing for the best in our code and wont settle for mediocrity.
What happens is that these people apply this same criticality to themselves. They may be making amazing progress but when you ask them how they are doing they can only think of the 10 things that are going wrong. The hyper criticality spills over into their own evaluation of themselves and they cant see any of the good.
The industry tells us to give ourselves the highest performance reviews and to advocate for ourselves. That is all good. I coach people to advocate for themselves as well. But often on the outside people are giving themselves 5 stars while feeling totally unqualified on the inside.
When does this happen?
This happens when you move into a new role that has a skillset that is somewhat new. Here are the jumps that I have experienced and a few that I have been told about:
Intern -> Engineer Engineer-> Staff Staff -> Manager Manager -> Director Director -> VP VP -> CTO
You have or are about to transition from engineer to manager. From the outside it may just look like a title change but I can tell you the roles are very different and it requires a shift in mindset, skillset and systems. I cant think of any way to avoid the feelings. It happens to everyone, you just have to work through it.
How to leverage it
I think every problem is good. Its core to my view of life. In this case you have to ask if the feeling is true. It may just be that you are new to something. If this is the case, let the feeling sit. It should drive you to become better. If its keeping you hungry let it go, if it is causing you to despair you need to keep it in check. You dont need more confidence to challenge the feeling, you need more evidence.
It is ok to be at the beginning of something. Enjoy it. Learn a lot. Build experience. Let your lack of confidence drive you to become better.
How to keep it in check
Sometimes it is our critical personality that is driving our lack of confidence, not our lack of skill. Again, I dont think this is entirely bad. I think we should always be looking at ourselves with a critical eye. However, we shouldnt lie to ourselves and in doing so dampen our love for life.
So to combat this you need your own personal dossier.
Here is how I keep track of my achievements. I take the company set of competencies for my role and also the competencies for the next role. I list them out and I map all of my recent achievements directly to the competencies. I then rate myself red, yellow and green on the particular competency. Not only does this give me the confidence that I am have the correct skillset, it also focuses me on where I have gaps and I can make sure I am prioritizing opportunities that would address those needs.
If you liked this, consider subscribing to my Substack. I publish an article about software engineering and software engineering management every Tuesday. If you want even more, consider joining my paid content where I am writing a course in real time about making the jump from developer to manager.