DEV Community

Christine Shu
Christine Shu

Posted on • Originally published at

What is programmer imposter syndrome and how to overcome it

Have you ever felt immense fear and doubt that your colleagues might find out you are just a fraud and you really have no idea what you are coding everyday? If you’ve ever doubted your own programming ability or performance at work, you are not alone. When Blind surveyed over 10,000 participants they discovered 58% of tech employees experience imposter syndrome. As high as 73% of employees at Expedia experience this at some point in their career. Let’s dig into why imposter syndrome is so prevalent in software development and the different ways you can tackle imposter syndrome.

Why is programmer imposter syndrome so common?


While imposter syndrome isn’t something only people in tech experience, it is amplified for programmers. Not only is tech intensely fast paced, 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. Another reason software developers experience imposter syndrome more intensely might be the unrealistic perception of people in tech. Tech giants, star entrepreneurs, and key opinion leaders are often portrayed as brilliant, informed, and knowledgeable individuals. 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.

We interviewed fellow developers to find the most common imposter syndrome scenarios:

  • Being promoted or leading a team/project: 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.
  • Non-traditional CS background: 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.
  • Comparing with your peers: 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 during QA. I feel like I’ll always be a junior dev compared to them.
  • Staying relevant in the industry: 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.

If you’ve experienced a similar situation that made you feel you’re not skilled enough, don’t stress, the following few tips will help you manage imposter syndrome.

How to deal with programmer imposter syndrome


👉 You can never be an expert, be comfortable with the uncomfortable

Tech is a fast-changing industry. You might be learning Pycharm today just to learn that everyone else is switching over to Spyder. You mastered Angular, yet you’re still not quite a JavaScript expert because there’s also Node.js, Vue.js, React, and more frameworks that you’re unfamiliar with. New programming languages, frameworks, and tools evolve and pop up so quickly, it feels impossible to keep up.

The reality is simple. It is impossible to stay on top of everything. Tech changes at such a fast pace - no one can truly grasp all technologies and concepts. While some might be faster learners and experience flatter learning curves than others, it is impossible for everyone to master everything.

You’re also not expected to keep up with everything. A good tip is to learn to filter out what updates you actually need for your work or side projects. That way you'll stay informed but not overwhelmed.

We all have comfort zones where we feel most safe and secure. When you’re in uncharted territory, it’s natural to feel overwhelmed. “Imposter syndrome happens when you’re in your comfort zone, and you’re picked up and placed in a ring that’s not adjacent to the inner circle,” says Mayuko, ex-Netflix software developer and full-time Youtuber. When you are outside of your comfort ring, that’s when imposter syndrome kicks in.

Source: ‘Leaving The Comfort Zone’ Toolkit

As part of the age-old fight or flight process, if you let imposter syndrome scare you, you’ll likely avoid the situation instead of finding a solution. But if you get comfortable with the uncomfortable, and see the unfamiliar as challenges, you can and will overcome the fear. You’ll eventually learn the new technology, get over the obstacles, acquire new knowledge, and meet new goals.

How do I get comfortable with the uncomfortable though? Let’s break this down into a few simple steps:

  • Accept and begin: When you’re faced with a new tool or project, instead of panic and stress, take a deep breath and read through all the information and briefs available. Prepare your heart to accept the new challenge and begin to work on it. You are halfway there once you make the commitment to start.
  • Push through: To not give up in the midst of learning something new could arguably be the hardest thing to do! Keep pushing through the learning curve and eventually push past your comfort zone, and everything will get easier from there.
  • Repeat the process: The more you do it, the more you’ll be accustomed to the process. It’s uncomfortable to start anything new, it’s uncomfortable to push through, but your confidence can be built up through practice and repetition.

Learning is a lifelong journey, consider it an opportunity to expand your comfort zone when you are presented with new challenges. Your ability to recognize your shortcomings or lack of technical skills is actually a good sign that you are driven to upskill and grow.

As a software developer or someone working in tech, you will never be an expert of everything. Recognizing that discomfort and adaptability are the keys to growth can take you a long way in your personal and technical development.

👉 Identify your fears and doubts and make a plan to work on them

The hardest part of dealing with imposter syndrome is not knowing what’s triggering it. Was it when other developers on the team shared a recent discovery of a new tool? Or maybe you saw a side project your colleagues did for the company? Accumulated incidents could leave you sitting there, wondering what you’ve contributed lately, or even if you’re needed.

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. For example, you finished coding a new product feature and felt confident with the results. After a ruthless code review by a senior developer, the overwhelming feedback left you wondering how the code had such a large amount of flaws. If imposter syndrome takes over, you may question your competency, or worse, whether being a developer is the right career path for you.

How did you go from being confident in your work to feeling like a fraud? Was it receiving feedback you weren’t expecting? Was it that you finally felt competent at work just to realize that there’s still a lot to learn? Or was it you felt like you still lack technical skills compared to your peers?

If you can’t find specific instances that triggered the feeling of being an imposter, see if deeper insecurities such as fear of being judged by others, unhealthy comparisons, and unrealistic expectations are the root causes.

Once you’ve identified the triggers, you can target them and learn how to deal with them:

  • Practice makes perfect, but no code will be perfect.

The only way to continue to improve your technical skills is with practice. Practice, receive feedback, iterate, and repeat. This is all part of the process to becoming a better programmer. If you feel like you failed a project, it may be a humbling experience to know that there is always room for growth, no matter how good you think your code is.

  • Understand that the feedback your peers and managers provide is constructive feedback and not judgmental.

Your colleagues perform code reviews with the intention to help you improve instead of bringing you down. They want you to be able to pull your own weight and grow as a developer. It is good practice to receive feedback and is also something that you can do to help junior developers in the future.

Once you are able to identify the fears, make a plan to tackle these insecurities. Try verbalizing your concerns and fears early so you won’t dwell in it for too long. Reflect on your past experience and take notes on what you can do next time when you encounter similar feelings. Proactively facing your fears helps you move forward without being hindered by the overwhelming sense of insecurity.

Verbalizing your fears makes it real but at least you are facing it - Mayuko, Youtuber

👉 Trust the decisions and positive feedback


You recently got promoted to Engineering Manager. As you start in this new role, you feel overwhelmed by the increased responsibilities. Your work suddenly goes beyond writing code, you have to take into consideration hiring, prioritizing, assigning tasks, and building team culture, etc. You can’t help but question if you’re cut out for the managerial role.

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 that your company has systems in place to reward accomplishments and that they believe in your ability or have the vision for you to grow into the role.

If you still feel like an imposter, one of the things you can look for and reflect on is how others see you at work. In any discussion, if your coworkers care and value your opinion, you can be certain that you are not only a valuable team member, but also someone others look up to.

Trust that your company and colleagues have your best interest and are there to help and uplift you in your career.

👉 Check in with your peers or manager

Imposter syndrome doesn’t only hit when you get a promotion or when you’re in leadership. We asked our community if they still feel like an imposter even with years of experience under their belt, and based on this Twitter poll, 80% said that they still experience imposter syndrome. It could happen at the beginning of your developer career, in the middle of an ongoing project, or even after a successful project.


As a junior developer that graduated from a bootcamp, you may feel less qualified than others because you don’t have a traditional computer science background. When you’re working on a project, you may fear that others will perceive you as a rookie. When your colleagues pass your desk, and you have tons of Stack Overflow tabs up, you may feel like you’re the only one who doesn’t understand everything.

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. They might be able to offer encouragement from personal experience or provide constructive feedback on what you’ve done well and what you can continue to improve on. They may even be able to straight up tell you everyone thinks you’re doing a fantastic job already.

Checking in with someone helps to free up this irrational thought and be able to carry on for what comes next with confidence.

When you are unsure about your objective performance and are having self deprecating thoughts, it’s helpful to ask for feedback from your colleagues or manager. Their objective feedback would help stop the downward spiral. - Ting, Front-end Developer at Codementor.

Related article: 4 Challenges You Might Face in Your First Developer Job and How to Overcome Them

👉 Give yourself the credit you deserve


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.

Take a deep breath and reflect on what you’ve accomplished so far as a software developer or list out what you’ve done in the past year. You will be surprised by how far you’ve come. Give yourself the credit you deserve and a pat on the back.

Go to your github. Find code you committed as close as possible to one year ago today. Marvel at the stupidity, and be proud of how far you've come. - u/thumbtackthief, Reddit.


If you’re a software developer who is currently struggling to see your purpose or value at work, it is okay! There are many who experience programmer imposter syndrome just like you, even technical founders and CEOs.

“You’d think I know what I am doing everyday when I go to work, but let me let you in on something, most days, I still feel like I often don’t know what I am doing. I’ve felt that way for 15 years. And I’ve since learnt that this feeling is called impost syndrome.” Mike Cannon-Brookes, co-founder of Atlassian (TEDxSydney).

Keep an open mind and don’t let the feeling overtake your technical performance and personal emotion. Try to be comfortable with the uncomfortable, identify your fears and make a plan, trust the decisions and feedback of others, check in with your colleague or manager, and lastly, give yourself the credits you deserve.

We want to hear about your experience. Do you still encounter imposter syndrome? What methods do you use to manage these feelings? Comment below👇👇👇

Top comments (8)

lexlohr profile image
Alex Lohr

I stopped feeling imposter syndrome when I learned to ignore the buzz and merely focus on new patterns that emerge. I don't learn about React, Angular, Vue, Svelte etc., but instead I learn about vDOM vs. DSLs, imperative reactivity vs. reconciliation of immutable state, transpilers as frameworks, etc.

There are usually only 3-4 new patterns to learn every year and cut through the buzz.

christineshu profile image
Christine Shu

Thanks for the reply Alex!

It does help to be focused on learning about the new patterns instead of dwelling on the change. I'm glad you find that method helpful in combating imposter syndrome!

aschwin profile image
Aschwin Wesselius • Edited

By far the best (IMHO) talk on imposter syndrome comes from no one less than Kent Beck (of xUnit, Smalltalk, eXtreme Programming, Agile manifesto fame).

His talk "Ease at work" goes into this problem from his own perspective, but relates it to how someone new in the field might block him or herself by mere thought.

His humor is maybe unusual, but very to the point and makes it a light topic to ponder about.

If you do like this talk, bookmark it and revisit it once in 2 years.

christineshu profile image
Christine Shu

Wow thanks for recommending this talk, Aschwin!

Has this video helped you personally? I'm sure many others can benefit from bookmarking this talk in dealing with programmer imposter syndrome.

sanjaysinghrajpoot profile image
Sanjay Singh Rajpoot

This article is really great.

christineshu profile image
Christine Shu

Thank you so much, Sanjay!

vickodion profile image
Victory Okwuadei

Thank you so much
This article has made my day.
Have been struggling with this as a junior developer...

christineshu profile image
Christine Shu

I'm glad you find this article helpful, Victory! And know that you are not alone in dealing with imposter syndrome. All the best!