Think you’re unqualified for the work you do? It’s called imposter syndrome and here’s how to handle it.
Do you beat yourself up for making simple mistakes? Or maybe you get completely lost in a meeting about a new project because you don’t know half the technologies the other devs are talking about. And to make matters worse, you constantly feel like you’re falling farther and farther behind the next, hot framework or language.
If so welcome to the Coders club...
Kidding aside, these negative emotions are very common (you’re not alone!). It’s called imposter syndrome: the constant feeling of not being good enough or knowing enough to do your job well. Everyone has experienced these emotions at some point in their life, whether personal or professional—and not just within software development. It’s human nature. The most successful and productive people are often very effective at minimizing the occurrences of imposter syndrome in their lives.
Why you feel like a fraud
* Software development never stops evolving.
It’s a large field and it’s only getting bigger. Not only are there more people entering as new developers, but the use of the software is expanding, which means the demand for devs is going up. This encourages the frequent creation of new languages, frameworks, and tools. This means there’s more to learn and it’s only going to get more complex as the industry matures. With this in mind, you may feel overwhelmed at times as a developer.
* Furthermore, the media creates unrealistic perceptions around the tech industry.
Software specifically, gets a lot of attention and glory in the media. Given how often new tech startups get covered in the media and how their founders are portrayed as brilliant and uniquely creative, it’s no wonder that so many people feel that they can never make it as a top-tier developer. Software development also has a mythos that’s grown up around it that says only the super-smart people can grasp it. While that may have been true once, programming languages and tools have come a long way and made programming a lot easier and more approachable.
Here are some tips that can help you fight your programmer's imposter syndrome -
1. Get comfortable with being uncomfortable
You need to realize and accept that imposter syndrome never truly goes away. The crux of imposter syndrome is that you’re comparing what you know to what you think other people know. You don’t see other people struggling and you don’t know what they don’t know.
This is the essence of imposter syndrome. You see everyone else’s success and intelligence, and then you fear that you don’t have that or know that concept or technology. The focus on your weaknesses is understandable and natural. None of us want to be the worst developer in a company. Most developers love to learn and there’s so much to learn in development. So it’s natural to look at what you still have yet to learn, compare yourself to people who already know all of it, and feel inferior and that you’ll never be an expert.
To be honest, you never really will be an expert in software development. There will always be more to learn. There will always be new languages, or processes, or technologies to learn. There will always be someone who knows something you don’t. There will always be someone who knows more than you do. There will always be someone who’s a better developer.
That thought may be depressing right now, but I feel it’s liberating. You can focus on getting better and growing. Focus on what you can control: your skills and your knowledge. Accept that there will never be a point where you’ll feel completely knowledgeable and completely comfortable.
In short, as one developer I talked with said: get comfortable with being uncomfortable. Embrace your ignorance and use that to fuel your growth, not your self-doubt.
2. Adopt the growth mindset
People with a fixed mindset have a constant need to prove their competence and intelligence. They have a deep need to be perfect at everything and to be perfect immediately. Because these people view their intelligence as fixed, failures are a reflection of their lack of intelligence and so they seek to blame circumstances or other people for their failures.
Intelligence is not fixed, and in fact, it is directly tied to effort and challenge
Essentially, your feeling of inadequacy is a signal that you’re being challenged. To really become a great developer, you need to embrace that challenge and actually seek it out. View it as an opportunity to learn, to become better, and to grow.
3. Keep track of your accomplishments
Regularly reflecting on your successes can help remind you of how far you’ve come and how good you really are. This will help balance the scales of positive vs negative self-talk that is at the heart of imposter syndrome.
One good way to do that is to make a recurring calendar appointment for the end of every month to add all accomplishments from that month to a “portfolio” of accomplishments. Even if something eventually failed, if you attempted something outside your comfort zone, write it down. It was a growth experience.
In addition to capturing your monthly accomplishments, you should also take a few minutes to reflect on past accomplishments and add any to previous months that you forgot. Also, don’t just write them down and read them. You need to truly reflect on what went into that accomplishment and how you felt about it.
4. Figure out how you learn the best
While there is now data showing that learning styles aren’t really a thing, everyone has ways that they prefer to learn. Using your preferred learning style can help instill confidence and push you further away from your imposter syndrome. Think back on what you’ve tried to learn in the past and what worked best. Think about which resources (books, videos, courses) seemed to make things clearer or what seemed to help you get to that “Ah-ha!” moment.
5. Plan your career goals to reduce doubt
A lot of self-induced impostor syndrome can be due to the unknown when looking ahead. To combat this, you should set goals and plan your career path. This will provide you confidence when making career decisions and deciding what skills to learn and focus on.
Instead of looking at how you learn, you need to look at what you want to do eventually — what industry, technology, language, company you want to work in or for. Then, using that information you find out what you need to learn.
You can find the required skills by viewing job requirements for the job you want to have. You can also find out what skills are necessary by finding developers who have your desired job on LinkedIn or via Meetups. Contact them and meet them for coffee, or lunch and talk to them about their job and what skills they use regularly.
It never ends: handling imposter syndrome as you progress
One unfortunate aspect of imposter syndrome is that you never really get away from it. I know other good, experienced developers who fight and experience the imposter syndrome at work too but the only advice I have been hearing is to starting to control it early in your career, and taking steps to weaken its hold on you is one of the best ways to reduce its impact on you in the future.
In my case, Whenever I start to feel like I’m not productive enough, or not moving forward fast enough, I reflect on why I feel that way. I think about all the possible reasons I might not be as productive as I think I should, and evaluate whether I think they’re valid. Most of the time they are.
I also reflect on my situation to see if I’m doing the best job of learning. Am I optimizing for learning or just trying to look busy and productive? If I’m not optimizing for learning, I change my mindset and slow down. If I’m working in a new codebase, I try to find that I have to constantly adjust my mindset to view the task as an opportunity to grow and get better.
Hope this article will be helpful to all the developers feeling the same at their job.....