This article has been in my drafts for a long time but I never clicked that Publish button as I was skeptical whether people would connect with these kinds of topics on my blog or not. But because now this thought is constantly juggling in my head, So here it goes!
Software Development is one of those fields that is fast-paced, and always in flux. It’s what makes the field so challenging, interesting, and fun all at the same time.
But that also means that you will constantly keep coming across the stuff you don’t know. And even the stuff that you use to think you know but actually you don’t, which is why a lot of us face the situation like the imposter syndrome and the Dunning Kruger effect (a lot!).
For those unfamiliar with the term imposter syndrome, It is when a person starts to doubt their own capabilities & accomplishments and believes that they are a fraud and have succeeded only through luck and soon people will realize they don't know what they are talking about.
It is when someone is being too hard on themselves and not giving themselves the credit for what they deserve and achieved. Instead, the achieving individuals believe that they have been only lucky in their achievements and they haven't done anything major to achieve it.
Is it good or bad?
I think the imposter syndrome is both good and bad.
It's bad because this can become a cause of anxiety and unhappiness in someone's life, who by all means should be proud of their work and accomplishments.
Furthermore, I think why so many software developers face imposter syndrome is because -
- Measuring all the work
Whatever solution you come up with, it’s very easy to measure the “efficiency” of that solutions. And no one would feel proud if another developer came in and improved the code by 500% in a just few days where you have spent perhaps weeks or months.
This leads to the thinking that they're not qualified enough and all that they have achieved is solely through luck.
- Global Competition
From online coding contests to interviewing to raising PRs for open-source to full-fledged industry-level product development. The software industry is very big and growing very fast, so the competition is inevitable and global – it’s not limited by physical/geographic distance.
And that is just another reason to not feel comfortable at all times.
- Forgetting the difficulty of things
In the process of comparing, or working alongside highly capable developers, it's very easy to lose track of the high quality of work that’s going around. But I think it's OK to feel mediocre as long as you know you’re learning, growing, and contributing back to the community.
At the same time why I feel it is good is because -
Here are some reasons why:
It Indicates you’re pushing yourself
It acts as a signal that you’re gaining expertise
The Dunning-Kruger effect is a cognitive bias stating the relationship between an individual’s perceived knowledge of the subject matter and its ACTUAL knowledge.
In 1999, Dunning and Kruger conducted a study: Unskilled and Unaware of It: How difficulties in Recognizing One's Incompetence Lead to Inflated Self-Assessments
The result of their study found that those who are incompetent tend to overestimate their abilities, while those who are competent underestimate them
If you observe the above graph you’ll see that beginners or less experienced devs are mostly under the impression that they are familiar with all that exists in their field and they're Pro.
In the simpler way of interpreting the graph, we can say, The inexperienced do not know what they do not know.
But WHY does it happen?
It happens because the experienced developers, or those on the track to becoming experienced, know how vast the field of software development is. They know what they don’t understand.
Can you see how this can cause an imposter syndrome to come up?
By knowing this effect in addition to being aware of imposter syndrome, we can handle imposter syndrome better.
Managing Imposter Syndrome
In general, I believe the following tips help to handle imposter syndrome while understanding the Dunning Kruger Effect:
Make a list of your accomplishments Track your achievements. All of them. It doesn't matter how big or small it is. When something good happens, just make a note of it with a description of the effort you took to achieve it.
Understand the bell curve The bell curves depict that most of us are indeed average, so by learning a bit more each day or week you gradually move towards the right part of the graph. And that's what we should aim for as well.
Peer Pairing Making a “peer pair” with someone who is going through the same situation as what you’re going through. It can be helpful as you'll be able to discuss both your success and failures with them. There’s a lot of fellow beginners out there in the developer community and everyone is a newbie in something. So, you can easily find someone with whom you can share your learnings.
Apart from these suggestions, I also believe the most important part in preventing imposter syndrome comes from focusing on becoming a life-long learner. Take some time to yourself each day to read about new developments in your field, train on a technology you haven't yet used.
Pick something and practice it, regularly.
The Dunning Kruger Effect shows that the more you know, the more you feel like you don't - accept and prosper from this. If you ever feel like you don't know anything, just remember It actually means progress, It means growth, It means you still have areas where you can grow and learn
Thanks for reading :)
Other Articles You Might Like 🙂
Useful Resources To Learn Web Development & To Create Your Website - Resources I found helpful in my web development journey.
Chrome extensions I use to enhance my GITHUB experience - Here are 7 extensions I use to improve my Github experience.
The Most Famous Coding Interview Question - What's the most asked coding interview question? And how to approach it.
Welcome to the world of "NFTs" - What are NFTs? And why are they suddenly becoming the next big thing?
What is Blockchain Technology? Learn by creating one - What is a blockchain? How do they work? Learn by creating one.