Fear you’ll be exposed as a fraud one day? You’re not alone! — Photo by Pixabay

Are All Software Engineers Imposters?

Why imposter syndrome affects so many in the software industry, and how to get over it

Courtesy of Work Chronicles

Imposter Syndrome 101

Since that fateful conversation, I’ve done a bunch of reading into Imposter Syndrome, its causes, and prevalence. While there’s no unifying definition, Imposter Syndrome can be broadly summarized as a condition that prevents you from internalizing successes. The end result is that you feel like a constant failure, and a fraud. In terms of prevalence, research suggests that about 70% of people have felt like impostors for at least some part of their careers.

We’re (almost) all imposters…
…and we feel like imposters often.

Why do Software Engineers feel like Imposters?

Software engineering is a perfect breeding ground for Imposter Syndrome for a number of reasons:

  • The work we do is hard — Building complex software systems is very difficult. While you may be able to learn to code over a weekend, being able to write correct, performant, and maintainable code can take years of practice, long after you’ve mastered the basics of Computer Science theory in a 4-year undergraduate degree. Additionally, the problems we’re asked to solve can vary dramatically from day-to-day. One day you may be optimizing the performance of some code by removing serialization points, the next day you may have to debug some failing CI test case, or you’re fighting to figure out why some cloud VM is an order of magnitude slower than all the others. Each of these problems is difficult to solve on their own. Having to know how to solve all of them is what makes the life of a software engineer so mentally taxing.
  • There’s a tendency to suffer in silence — In my experience engineers are rarely forthcoming with their struggles, in part because they don’t want to be perceived as struggling in the first place. On the outside it may look like all of your colleagues are churning out problem-free PRs one after another, but I can promise you that under the covers there is toil. Whether it’s some pesky test case that they can’t seem to get right, having to refactor code over and over again to get it to an ideal state, or spending way more time than anticipated understanding some part of the system that’s new to them, your fellow engineers are struggling too, they’re just not talking about it.
  • We’re constantly being judged — Prolific software engineers will push out a PR several times a week. Some very prolific ones will get one (or more) out every day. With each of these PRs however, comes overt judging in the form of a code review. There’s a natural tendency, in the presence of such judging to question your competency.

Overcoming Imposter Syndrome

While I was riddled with Imposter Syndrome for the first decade of my professional career, over the last number of years I’ve learned to deal with it using some simple techniques. I still have episodes from time to time, but when they occur, I can shut them down fairly quickly using one of the following approaches:

  • Talk about your struggles — Nobody wants to listen to a constant complainer so I’m not suggesting that you open every standup with a list of all of the things you can’t get right, or aren’t going your way. That being said, when you’ve solved a particularly grueling problem, talk about why it was so difficult with your colleagues. Explain to them the wrong turns that you took, and try and solicit feedback. You’re likely to find that in many cases, they’ve hit the same pitfalls as well, and just knowing that others are struggling in similar ways can make you feel less alone.
  • Recognize when you’re most susceptible to Imposter episodes — For some people it’s Mondays. For others, it’s late at night, when they’re tired and there’s nobody around to help. Or when you’re in an area of the code you don’t know well. Or most certainly, when you’re starting an entirely new job. Start to take notes on when you’re feeling most like an Imposter and try to determine if there are any obvious patterns. Once you recognize the triggers, you may be better able to deal with the feelings as they arise, instead of leaving them to fester and build over time.
  • Track your successes — One of the best ways I’ve found to deal with Imposter episodes is by reminding myself of my past successes. If you’re a professional software engineer you’ve likely solved a bunch of really difficult problems. You may have made it through a 4-year university program, and likely grueling interview processes. Once you landed your first job you continued to solve problem after problem as they came your way. But then, when you struggle with today’s problem, there’s a tendency to think “this one’s different. I don’t think I’ll be able to solve it this time.” What’s helped me in the past is documenting my successes so that when I’m in a particularly bad state, I am able to reflect on some of my past triumphs. To that end, I keep a “praise” email folder. Any time anyone sends me some form of validation or proof that I’ve done something well, I’ll add it to the pile and keep it for a rainy day. When I’m then presented with one of those “this time is different” problems, and I feel myself getting down, I will look over my past successes to build up my confidence. Sure, it may seem a bit gimmicky, but trust me, it works.
  • Be lavish with your praise of others — Just as I use my “praise” folder to pick me up from time to time, others crave praise as well. I try to be as lavish with praise as possible (without being disingenuous), so that people feel appreciated when they’ve done something well (which of course, can help others fill their own “praise” folders). Especially as you become more senior in your role, where your words matter all the more, simply saying “Great job on this PR”, or “I’m very impressed with how you’ve grown over the last 6 months” can really make the difference between someone falling deeper down the Imposter hole, or beginning to climb out of it.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adam Storm

Adam has been developing and designing complex software systems for the last two decades. He is also a son, brother, husband and father.