Impostor Syndrome in Software Development

15 Nov

Episode 102

Have you ever had this feeling, that you are not good, skilled, knowledgeable, intelligent, or talented enough to do your job? That everyone around you knows what they are doing, and you are just getting on by sheer luck, favourable circumstances, and deceiving others that you are better than you actually are? That it’s just a matter of time when it will be discovered that in fact, you are a fraud, a phony, and an impostor? Well, my friend, you are not alone. Depending on sources, it’s said that up to around 90% of people in the tech industry had experienced impostor syndrome at some points in their careers and over 50% are dealing with it currently to some extent.


Image by tian zi

In this article, we are going to look closer at the psychological pattern known by the names of impostor syndrome, impostor phenomenon, or fraud syndrome. We will explore some backgrounds, try to answer why it’s especially relevant to the software development industry, talk about a mechanism that strengthens it, explain why it’s destructive, and finally or most importantly, pitch in several ideas for dealing with it. Stay tuned.

The Impostor Syndrome

The origins of the term date back to research conducted in the seventies by Pauline Clance and Suzanna Imes. The phenomenon was initially attributed to high achieving women, but later studies showed that men and women are equally affected by it and it happens at various stages of careers. Both beginners and accomplished senior professionals in their field are likely to stumble upon it, especially around some career milestones like changing jobs or finishing big projects.

The impostor syndrome is a soft personality dysfunction where an individual doubts their skill, talent, and accomplishments and has a persistent internalized fear of being exposed as a fraud. Despite numerous external evidence of their competence, they incorrectly attribute their success to luck, external factors, and tricking others to think they are more intelligent than they perceive themselves to be. As a result, they are constantly afraid of being exposed as frauds with dire consequences like losing a job or reputation and experiencing continuous destructive psychological pressure. To loosen up for a moment, check out this slightly exaggerated and humoristic depiction of Impostor Syndrome by Viva La Dirt League.

In Software Development

People working in Software development, the tech industry, or other dynamic fields heavily relying on knowledge are especially prone to impostor syndrome. Software development is evolving rapidly – new technologies, frameworks, libraries, languages, platforms, tools, etc are popping here and there at a growing rate. The number of software engineers is rising quickly – and hence the number of those technologies. We invent new layers of abstraction to solve our problems, introduce new problems by doing it, invent another layer to solve them, introduce new and keep that circle rolling. Most problems in software can be now solved in multiple such layers and the tree of choices seem to be growing endlessly. The effort put into learning old frameworks that became obsolete may seem like a wasted time now.

swamp_spirit_by_junuart_d6iutjz-fullview - Copy

Image by JunuArt

Software development is also a relatively young and unstandardised field. For comparison – engineers build bridges and towers for millennia and despite all the advancements in material science and engineering tools the general idea of a bridge has been more or less stable – to let the person or vehicle cross the obstacle without interruptions. In order to design a bridge, one has to acquire a well-established body of knowledge and skills and follow some strict regulations. In comparison, software development is a jungle of chaos. Sure, we have some science behind how computers work, we have algorithms, data structures, protocols, standards, academic courses, certifications, and good practices, but the “right” way to build software is much more blurred.

We like to compare ourselves to medieval craftsmen who attain mastery in their art through vigorous practice, patience, seeking out knowledge, etc. but as opposed to forging another horseshoe or even the sharpest sword, creating another software project is a unique set of overwhelmingly numerous challenges. We need to take into account the client’s special needs, requirements, business domain, the current state of technology, existing legacy systems we might need to integrate with or extend, limitations, opportunities, deadlines, budget, the skillset of our team, and even company politics. All of that is difficult. All of that is more or less different every time. And while we might have done multiple projects and accumulated lots of experience, we need to face a fact that every time we are thrown into deep all over again. And this might be intimidating for everyone.

The Vicious Cycle

People with impostor syndrome tend to be getting stuck into cycles. When presented with a challenge – whether it’s a big project or a small task, after going through an initial set of self-doubts and worries they choose one of two paths. Path one is over-preparation – they took additional time and effort to ensure the job is done to the best of their abilities and perfect – they read additional materials, review the work multiple times and spend lots of extra time polishing it. Path two is procrastination – they postpone the job or improvise – e.g. if it’s a presentation, they just go with the flow without much preparation and hope it will go well. As competent people, they succeeded in both cases.


Image by ThemeFinland

Depending on the path, they have different rationale for that. In case of over-preparation – the success was not due to competence, but due to additional work. The person thinks, that others wouldn’t have to do that much to succeed. In the case of the second path – procrastination, a person attributes success to pure luck. In both cases, immediately after the success, the person feels relief “I made it this time, but for sure the next time they will discover that I’m a fraud”. Positive feedback is ignored or pushed away, the feeling of being an impostor and self-doubt is reinforced – “I made it again only because of luck or over-preparation”. Another challenge arises and the vicious circle repeats.

The Fallout

Being stuck in an impostor cycle may lead to low self-esteem, unhealthy perfectionism, exhaustion, anxiety, burnout, and depression. It reduces the actual effectiveness at work as we tend to either delay things or spend too much time on them (either delaying it again or sacrificing life-work balance if done over time). We tend to avoid a situation where we are being judged by others. We are reluctant to pitch in new ideas as we are afraid that they will be seen as stupid. We avoid asking relevant questions as we worry others would think they are obvious and reveal our incompetence. We don’t ask for promotions and pay raises as it’s connected with evaluation. We tend to avoid unknowns and cling to our comfort zone thus missing opportunities for learning new stuff and developing. It’s simply not cool to live in constant fear and inadequacy. And the industry suffers from losing awesome programmers as they quit their careers as a result of burnout.


Image by Pavel Kolomeyets

So what now? 

Impostor syndrome intensity might be a personal trait and depends on many factors. It might be difficult to get rid of it fully, but surely you can learn to control it to a large extent. In order to do that it’s helpful to realise several facts.

  • Acknowledge it exists. The first step to realise the problem is to know such a problem exists. You are not a fraud; you are doing just fine. You have impostor syndrome, it’s a different thing. Now, let’s fix it.
  • Acknowledge it’s common. You are not the only one out there. You are not nuts, it’s just a slight personality disorder that can be dealt with. It can happen to anyone, man or woman, junior, mid, senior, principal, or whatever else there now is in the HR department papers.
  • Learn to be comfortable with uncertainty. It’s fine to not know everything in any non-trivial field. In fact, it’s impossible to know everything. The more you know the more you realise how little do you know in fact. Our field is so vast that nobody expects you to be an expert in everything. Getting along with that might be easier or harder for some people, and it’s actually also heavily connected with our culture – the uncertainty avoidance index is one of the five metrics in Hofstede’s cultural dimensions theory. But that’s a topic for another article.
  • People around you know much less than you think. When we talk to multiple people in our team, we tend to instinctively assume that all of them know all the pieces of information you got from each individual. As a result, you create an image in your head that you only know very little, while everyone around you knows a lot. It’s not true.
  • People around you struggle just as you do. Experts with 10 or 20 years of experience still sometimes google for so-called “basic” stuff or copy parts of code from previous projects. There was a Twitter thread with developer confession some time ago started by the creator of Ruby on rails, browsing through it might really open your mind.
  • What you know is not obvious. We assume that everyone else knows what we know, therefore diminishing the value of this knowledge. In my opinion, a good cure for that is to start doing software development job interviews as a recruiter. You will be surprised by how much stuff you consider obvious is not that common. Just remember not to disfigure the purpose of a job interview – it’s to find good candidates, not to artificially boost your own ego with obscure questions.
  • Don’t compare others’ frontend with your backend. No pun intended. What you see is often what people want you to see and only their best side. You don’t know how much time and effort they spent to get to the point where they are and how much they screwed up along the way. You are comparing your true self to an image of others you create in your head and that’s apples and oranges.
  • Don’t get fooled by loudmouths. Those most active people in the industry – in social media and at conferences might create an image that every developer should be like that. You don’t have to go to every conference (or any conference), have your own Youtube channel or blog, commit every day to a dozen of open-source projects, write books, etc. Most people don’t do that, it’s fine, you are ok.
  • Celebrate your successes. Big ones and little ones. It was not luck or circumstances, it was you who did that, you deserve an inner acknowledgment of that and a healthy shot of dopamine for your nervous system.
  • Keep track of your successes. Add a finished project, a course, or a certificate to your Linkedin profile, tell your manager about it, tweet it, or whatever rocks your boat. If you have a technology guild or community of practice of some sorts in your company – have a hall of fame there for various achievements.


Image by Mas HA

  • Be aware of the spotlight effect. It’s a phenomenon where people think they are noticed and observed by everyone in much more detail than in reality. People don’t really care that much about your mistakes and don’t actively look for them – they are more concerned about how good they are doing themselves. Stop worrying too much.
  • Utilize your strengths correctly. Developers are different – some are good with algorithms, others can solve low-level problems fast, like tinkering with devopsy stuff, have an eye for details others miss, a knack for getting business requirements right, can solve conflicts in the team, and many more. And it’s all good and needed in a team, sometimes more than the coding itself. If you still don’t feel “talented” enough for what you are doing, however true it is, maybe it’s good to take some time to look around and find a slightly different niche. Also, check the next point.
  • Talent is overrated. Maybe a slight contradiction to a previous point – but the practice is much more important for success than innate talent. Most of the time when you say you don’t have a talent for something means just “I don’t like it”. As a result, you don’t spend much time doing it and don’t have the opportunity to get good at it. And it’s fine – just try to sniff around and find stuff that you like – you will get good at it naturally as a result of practice.
  • Try to control your negative thoughts. If you encounter difficulties and focus on thinking about how bad you are at something and start to fear of consequences, your brain switches to fight or flight mode managed by its reptilian legacy part which deprives you of your cognitive power and triggers a self-fulfilling prophecy. Relax, deep breath, and focus on the task, not the bullshit around it.
  • Talk to someone. Your friend, colleague, your boss – if you have a healthy relationship. Get it off your chest.


That was a longer one than I have anticipated, but I should have gotten used to not being good at article length estimations 😊 Also it was a long time since I’ve published anything here, so why limit oneself.

Confession time: I have the impostor syndrome myself despite being in the industry for 12 years and having the senior badge for 7. As I have mentioned, it’s difficult to get rid of it completely, but you can definitively dial it down from paralysing fear to mild nuisance once you get familiar with it. I used to construct elaborate excuses for all my successes and being stuck in the impostor cycle exactly as I described. It still happens to me, but it’s much less of a problem than just a few years ago.

I hope it was helpful for some of you, and you can start to get hold of your inner impostor. Stay tuned, till the next episode!

1 Comment

Posted by on November 15, 2021 in Technology



One response to “Impostor Syndrome in Software Development

  1. Doba

    December 13, 2021 at 11:20 am

    thank you for this <3



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: