In a previous post I mentioned Impostor Syndrome, which is something that most developers will encounter during their careers, specially when starting up. In this post, I discuss two strategies that I use to try minimize the effects of Impostor Syndrome.
All great achievements require time
You get stuck with a problem that you cannot solve. StackOverflow does not help, neither does a more general Google search, so you ask on Slack/Teams for help but alas help is not forthcoming. You go home frustrated because you’ve not been able to solve the problem. The next day you come in to work and with a new perspective you find the solution to the problem.
You get stuck with a problem that you cannot solve. StackOverflow does not help, neither does a more general Google search, so you ask on Slack/Teams for help and one of your team mates comes over and helps you solve the problem.
The first scenario will result in you feeling proud of finding a solution to the problem on your own whereas the second scenario will result in you feeling like an impostor that can’t solve any problem. In reality there is likely only one difference between the two scenarios: Time
It’s not that you are not capable of coming up with a comparable or, even better solution, it’s that it might have taken you longer to get there. And while sometimes solving a problem fast it’s important, most of the times it isn’t.
Thus, next time you find yourself in a situation like this where a colleague helps you out to solve a problem, don’t feel bad because she/he solved the problem first, just think about how you would’ve solved it eventually.
I hear your objection to the above: There are problems that I would not have been able to solve, even given a time longer than the age of the universe.
This is very valid criticism but despair not as this is where the other strategy comes in.
It is important to realise that being smart is, to a good approximation, normally distributed, therefore chances are that if you are reading this, you are smarter than average but also chances are that you are not six sigma smart and thus you are likely going to work with people that are smarter than you.
Furthermore, you are also going to work with more experienced people than you. People that have read books, blogs, gone to conferences. People that have made mistakes and have learnt from those mistakes.
Sometimes these will be the same people that are smarter than you, other times they won’t be but the crucial thing is that they know something that you don’t, however it was acquired and this is a great learning opportunity for you. As they’ve already made the mistakes and seen the consequences of their bad decisions.
Sure you might feel bad that you did not come up with the correct solution or that your solution did not envisage some edge cases or even some not so edge cases. What makes you think that the person that’s pointing out the errors didn’t make them in the first place? or even that you would’ve seen the errors yourself given enough time? This last point goes back to the first strategy I mentioned.
It’s easy to feel overwhelmed, specially when you are a young and inexperienced developer and I realize that these strategies are not silver bullets that will eliminate Impostor Syndrome but they help me to put things in perspective when I feel the cold chill of Impostor Syndrome rearing its ugly head again.