Dealing with Imposter Syndrome as a Software Engineer

Benard Asiimwe Bataringaya
3 min readMar 21, 2021

So you just managed to get into this high-tech company after a gruesome process of face-to-face interviews, technical interviews and finally had a sit down with the C.T.O and HR and came to an agreement. You are at a point in life where you have done this countless times but days before your first day of work, you start getting cold feet, doubting whether you are ready for this and hoping nobody asks you any other technical questions. First introductions, with your teammates, it gets worse, you start feeling like they know more than you do, you start panicking because you believe that you might have cheated your way in but your luck is about to run out. After all, it will be harder to fool your teammates. To make matters worse, because you could not think straight, one of your teammates asked you something you know that you know but for some rotten luck even that was complex and you made a mess and probably failed to give a correct answer. Do you think you are alone? Hate to break it to you buddy but we all go through that whether you are experienced or a noob, but most often it happens with a change in your career, you are leaving your lair to work on projects with high expectations.

BUT WHAT IS IT?

It’s called Imposter Syndrome. To define it mildly, it’s doubting your abilities to a point you feel like a fraud. It’s common across all professions but as time goes by, you learn to deal with it and eventually it becomes something of the past.

WHAT CAUSES IT?

Imposter Syndrome can be caused by very many things but I will only highlight a few common causes.

  1. Failure to accurately analyze one’s competence and skill.
  2. Career changes especially when transitioning from a less demanding to a more demanding work environment.
  3. Attributing all your success to external factors such as mentors, colleagues, Google, etc.
  4. Recent failure that still haunts you.
  5. Being rusty in terms of your skill and expertise because you could have taken a long vacation or you haven’t dealt with the programming language in the last 6 months.
  6. Self-sabotage. Yes, this is also real. Some people will go out of their way to hinder their success.
    etc.

HOW TO DEAL WITH IT AT YOUR JOB

  1. Learn to manage your colleagues’ and stakeholders’ expectations. No one expects you to start contributing code like a guru or the godfather especially when you are new to a new codebase regardless of how much of an expert you are. Let your team know that you need a little time to familiarize yourself with everything before you can contribute with maximum efficiency.
  2. Take baby steps. Do not start by picking up the task that everybody has been avoiding because you are the senior engineer, start with manageable tasks until you feel confident enough to pick up more challenging tasks.
  3. Cover your bases. Probably you rashed through the job ad because you could do 70% of the tasks. So before the interviews or your first day of work, take time to research about the 30% not to be caught off-guard.
  4. Share your fears with people you can confide with. Oftentimes, they will help you calm down and encourage you that you are right for the job or they could give you direction on where to find help.
  5. Pair programming with your teammates especially those who are more familiar with the codebase.
  6. Be honest and humble. Instead of trying to impress or feeling pressured to live up to expectations, be honest. If you have forgotten something, mention it and go step by step and see if you can solve it together.
  7. Create a good rapport with your colleagues because this will take you a long way especially when you hit snug, they will understand that their new teammate is trying to find their way around and will offer to help and expedite your process and soon they will be coming to you for help.
  8. Do not let it stop you from doing what you already know how to do well.
  9. Do not compare yourself with other Engineers because everyone has their learning curve.
  10. Accept that software engineering is an ever-learning process, always take time to learn and leverage on this belief.

--

--