Overcoming Imposter Syndrome as a Software Developer

Overcoming Imposter Syndrome as a Software Developer

Impostor syndrome is a phenomenon that can leave anyone in any industry feeling like a fake —from factory floors to the C-suite. Programming and software development is far from an exception. In fact, developers are particularly prone to impostor syndrome. What is the Imposter Syndrome, you wonder? It boils down to believing (and convincing yourself that) you are not qualified for the position or work you have credentials for. Imposter Syndrome is particularly common in the tech ecosystem because of the fast-paced and always-changing nature of the industry. Consequently, in the world of programming, developers of any experience or education can fall prey to developer impostor syndrome.

What are the symptoms of the Imposter Syndrome?

A sufferer of impostor syndrome struggles to recognize their value, and negatively compares their skills against the skills of others. They believe they are not good enough to do their job, despite external evidence proving otherwise. They often doubt or fail to recognize their accomplishments and intelligence. Instead, they fixate on their perceived shortcomings, failures and mistakes. They tend to believe their successes are attributed to luck or the accidental deception of colleagues and managers.

Gif description

Dr. Valerie Young is an internationally-recognized expert on impostor syndrome. In her award-winning book, Dr. Young described that there are five major types of imposters as described below.

The perfectionists: They tend to focus primarily on how they do things, often to the point where they demand perfection of themselves in every aspect of life. Yet, since perfection is never a realistic goal, they can’t meet these standards. Instead of acknowledging the hard work they’ve put in after completing a task, they might criticize themselves for small mistakes and feel ashamed of their “failure”. They might even avoid trying new things if they believe they can’t do them perfectly the first time.

The natural geniuses: They’ve spent their lives picking up new skills with little effort and believe they should understand new material and processes right away. Their belief that competent people can handle anything with little difficulty leads them to feel like a fraud when you have a hard time. If something does not come easily to them, or they fail to succeed on their first try, they might feel ashamed and embarrassed.

The rugged individualists (or soloists): They believe they should be able to handle everything on their own. If they can’t achieve success independently, they consider themselves unworthy. Asking someone for help, or accepting support when it’s offered, doesn’t just mean failing their own high standards. It also means admitting their inadequacies and showing themselves as a failure.

The experts: Before they can consider their work a success, they want to learn everything there is to know on the topic. They might spend so much time pursuing their quest for more information that they end up having to devote more time to their main task. Since they believe they should have all the answers, they might consider themselves a fraud or failure when they can’t answer a question or encounter some knowledge they previously missed.

The superheroes: They link competence to their ability to succeed in every role they hold: student, friend, employee, or parent. Failing to successfully navigate the demands of these roles simply proves, in their opinion, their inadequacy. To succeed, they push themselves to the limit, expending as much energy as possible in every role. Still, even this maximum effort may not resolve their imposter feelings. They might think, “I should be able to do more,” or “This should be easier.”

Imposter Syndrome for Programmers

While imposter syndrome is not something limited to people in tech, it is amplified for "tech bros" and "tech sis". Not only is the tech industry intensely fast paced, but software development is a field that is constantly expanding and evolving. New technologies and tools roll out by the day. As a software engineer, you feel pressure to keep up or even stay ahead. Furthermore, there is an unrealistic perception of people in tech. Tech giants are often portrayed as brilliant, informed, and knowledgeable individuals. As such, to fit the persona of someone working in tech, you need to appear extra smart and always on top of things to live up to the image. The four most common scenarios of Imposter Syndrome for software developers are;

  1. Being promoted or leading a team/project: This scenario makes people say things like this; "I was asked to step up to lead the engineering team. As things go on and issues start appearing, I worry that I am underprepared and that I’m not living up to the expectations".

  2. Having a non-traditional CS background: This usually involves saying things like "I graduated from a coding bootcamp, before that I was in the finance sector. I worked really hard in putting my portfolio together and preparing for technical interviews, eventually landing a job as a junior developer at a major company. However, from the day I got hired, I’ve constantly been in self doubt and wondered if I’d ever be as good as my colleagues with proper computer science training".

  3. Comparing with your peers as a beginner: This often comes off as "I’m constantly playing catch up with my colleagues. They always seem to know how best to structure their code and the process goes smoothly for them in general. For me, I always get called out on issues." or "I feel like I’ll always be a junior developer compared to them".

  4. Staying relevant in the industry: This sounds like "I attended a tech conference and learned about the latest updates and developments. Though it was very interesting, I worry that I don’t have the capacity to learn all the new tools and the tools I’m familiar with will eventually become irrelevant".

How to Overcome Imposter Syndrome as a Software Developer

Whilst there is no known "cure" for imposter syndrome, here are a few tips I have found helpful;

  • Identify your fears and doubts and make a plan to work on them: To tackle the generic feeling of being an imposter, the first step is to identify what triggers the negative emotions. Try to pinpoint the specific projects, conversations, or maybe even the people who made you feel insecure. Once you’ve identified the triggers, you can target them and learn how to deal with them by understanding that practice makes perfect, but no code will be perfect. It is also important to know that the feedback your peers and managers provide is constructive feedback and not judgmental (at least, most are).

  • Trust the decisions and positive feedback: If your company decided to promote you or have you take on more responsibility, they’ve made this decision based on your previous experience, feedback from your peers, and the potential they see in you. These are not decisions that are made lightly. Trust them.

  • Check in with your peers or manager: The truth is, you are your own worst enemy when it comes to feeling like an imposter. Other people may not view you that way at all. The fastest way to get yourself out of the negative mindset is to speak with trusted peers and managers. I cannot stress the importance of these people being persons you trust.

  • Give yourself the credit you deserve: One thing that works for me is to take a deep breath and reflect on what I’ve accomplished so far as a software developer or list out what I’ve done in the past year. If you do this, you will be surprised by how far you’ve come. Give yourself the credit you deserve and a pat on the back.

If you have read this far and suffer from imposter syndrome, this is my message to you. The level you have reached is because of the effort, passion, and hard work you’ve put into becoming the developer you are today. Regardless of years of experience, there will always be people more experienced than you and more things you don’t know. That doesn’t mean you’re not where you’re supposed to be.