As software engineer, how to face the impostor syndrome?

Shortly stepping back from coding for a week and reading about the community, I realized it how easy it is to be crushed by anxiety: I see so many great things happening every day, things I want to be part of, but at the same time getting anxiety to be good enough. This is my thoughts of how to face the impostor syndrome.

From Wikipedia, impostor syndrome is a psychological pattern in which an individual doubts their accomplishments or talents and has a persistent internalized fear of being exposed as a “fraud”. In short, to think we’re not good enough.

After reading more about it, I realized it’s quite common in software engineering. It can materialized in many different ways, the most common one is probably being scared to apply a new role. I’ve been there. “Apple is hiring? No way they would want me in.”

It can also be to other levels:

  • First time speaker at a meetup? “No way I can do that”.
  • Sharing thoughts in your expertise? “I’m sure no-one is interested by it”.
  • Releasing your first app? “It’s so bad, nobody will like it”.
  • Contributing to open source? “I’m not good enough to help those senior developers.”

If it can be a legit doubt, you shouldn’t be the one replying to it. You are shooting yourself even before trying, bringing you down any motivation and energy for it.

So how to deal with this anxiety of not feeling good enough? Well, I don’t know. Everybody is different but I’m happy to share what worked for me.

Get to the source

I believe part of this anxiety has a specific source. This might be different to one another, so it’s better to understand what makes you doubt of yourself at the first place.

For instance, I never felt good enough to get to FAANG companies, so I never applied and tried to move on. Asking later myself why, I knew those interviews are tough and heavily relies to computer science fundamentals, like data structure and algorithms.

From there, I know that it’s not about capabilities or skill set, I went back to the books and trained for it and finally applied. It might not have been through, but I had great feedback and feel much more confident about it now.

Understanding the source of this anxiety will help you to address it and prepare for it. For a first time speaker, if it’s talking in public, you can train with friends or colleagues and enlarge the circle to build confidence.

Start small

Sometimes it’s good to step back and find a smaller step to cross. When I look at the work of some open source contributors, I’m full of admiration for what they’ve accomplished. Some write books, publish podcasts, record live coding. It’s really impressive.

Recently, I had the opportunity to work on a book specific for an iOS framework. I passed because I didn’t feel ready or expert on it. However, if some think I can do it, maybe I can start smaller, publishing a small Swift Package around it, or write multiple posts to prepare for it.

Next time, I’ll be able to say “Maybe” before saying “No”. Remember nobody started from the top. We all need to start somewhere.


So you identified the source of your anxiety, you’ve also defined couple steps to move forward.

Next step? Hang on to it.

For me, I can’t work on my algorithms skills as well as improving my communication skills and releasing an open source project all at once. I would build more stress and do half a job.

It doesn’t mean you can’t do it all. Just that what worked for me is to focus on one thing at a time.

So instead, I focused on one thing for 30 to 100 days and tune down other projects. It also create space in my mind and avoid anxiety about “things to catch up” since I know I’ve got something in front of me.

Let it go

As I’ve mentioned in the past, it’s also important to avoid as much as possible to compare yourself to others to hopefully let it go.

Not everyone has to have a side project, run a newsletter, become speaker or join a FAANG company. What’s important is what you enjoy doing.

It’s important to keep a balance and not force yourself to it either.

Nothing to lose

In my opinion, what’s important is trying no matter the outcome.

Afraid to bomb the job interview? Even if you would, you’ll come with better understanding of the hiring process. You’ll also get feedback to what to improve next time. It’s great insights either way.

Feeling your first talk in a local meetup will be bad? Let’s say it happens (but I’m sure it won’t), you’ll be able to understand what you missed and how to improve for next time. Also, let me assure you people won’t remember after couple weeks: how many poor presentation did you attend? Do you still remember the speaker as well?

“You miss 100% of the shots you never take.” - Wayne Gretzky

Trust yourself

Finally, regardless of your background and skill set today, make sure you remember what you’ve already accomplished.

Maybe I haven’t wrote a book but I have wrote many posts that brought me here. Maybe I haven’t contributed to massive open source, but I try to release small samples to help new contributors.

Start listing with what you worked on and what you’ve learnt. This side project you never released (we all have those). This custom script that do something really great for you. You’ll realize that what you aim for isn’t so far compare to what you’ve already accomplished.

Today, I perceive the impostor syndrome more as a lack of confidence, a step outside of my comfort zone that I would need to face to move on. Understanding its source and focusing on improving myself to extend this comfort zone and be more confident in myself has been so far my best way to move forward.

So trust yourself and don’t forget how great you are. Eventually it will tune down itself.

Photo credits Kira auf der Heide.

© 2022 Benoit Pasquier. All Rights Reserved
Author's picture

Benoit Pasquier

iOS Software engineer πŸ‡«πŸ‡·, writing about Swift, iOS and more.

ShopBack πŸ’°

Singapore πŸ‡ΈπŸ‡¬