Have you heard about imposter syndrome? Even if you haven’t, it is likely that you experienced it personally at some point in your life without being able to classify this feeling.
Suffering from imposter syndrome at the workplace is quite common across industries and regardless of the job level. Everyone, from low-qualified labour workers to C-suite executives, can have it. And software developers are no exception as well. In fact, the opposite is true — programmers seem to be prone to suffer from imposter syndrome more than others. And this ‘disease’ has very real consequences too: it can affect productivity, slow down your professional growth and ultimately, damage your career in software development
So today we are talking about imposter syndrome and how to cope with it if you’re a software developer.
What is imposter syndrome?
Imposter syndrome as a phenomenon can be characterized by the feeling of inadequacy in the workplace, being unqualified for the work you do. People suffering from imposter syndrome typically feel and believe that they aren't good enough to do their job, fail to recognise their own accomplishments and instead fixate on work-related mistakes and flaws or shortcomings in their knowledge.
The majority of software developers tend to suffer from imposter syndrome, especially at the beginning stages of their careers. As the volume of programming-related knowledge you need to possess as a professional developer is growing every year and new technologies come to replace old ones with a blistering speed, programmers are increasingly pressured to negatively compare their skills (as well as knowledge and effort at work) against the skills of others.
How to recognize imposter syndrome?
Here are some typical scenarios of having imposter syndrome if you're a software developer:
- Feeling like you don’t fit your job.
- Struggling to recognize the value of your work.
- Chronic self-doubt and fear of being “exposed” as fraud.
- Fear of communicating with other developers because this will uncover gaps in your knowledge.
- Doubts that programming is the right career choice for you.
How having imposter syndrome affects software developers?
And here are a few reasons why imposter syndrome is a real issue with serious effects.
- Some Junior software developers and programming beginners can quit pursuing this career path because of it.
- It creates unnecessary stress, which affects productivity, your health, and your relationship with the team.
- Continuous imposter syndrome stress accompanied by other factors can cause burnout.
- Work quality issues. Some programmers suffering from imposter syndrome can fixate only on certain aspects of their work, neglecting other duties.
How to deal with imposter syndrome if you’re a programmer?
When you know what it is, and are ready to deal with it, imposter syndrome is not too hard to overcome. In fact, having these symptoms isn’t always bad and with the right attitude, can even be empowering.
1. Accept and embrace it.
Changing your attitude towards imposter syndrome and its symptoms is one key change to make. Accept that software development is a field where nobody knows everything and you will always need to be learning something new. You can even embrace feelings that are typically associated with imposter syndrome but in a positive way. Use it as a motivational boost pushing you to improve your skills on a constant basis.
2. Make a list of your professional achievements.
Keeping track of your professional achievements is a good way to combat self-doubt by remembering all the accomplishments you already have. Just writing down your achievements as a brief bullet-point list is fine, but you can also use your coding portfolio
for this purpose, and embrace imposter syndrome as a motivation to make your portfolio better.
3. Ask a Senior developer for support / get a mentor.
Just asking more experienced software developers for help and advice is always an option you shouldn’t neglect. That’s why there’s a whole separate section for help-seeking
on CodeGym. Asking Senior team members for help is also a good way to establish healthy communication with colleagues. Or you can find a coding mentor
to help you go through this and other challenges typical for programming beginners.
4. Find learning approaches that work best for you.
Even though you can’t know everything as a programmer, learning quickly and effectively is important in achieving confidence and professional development that comes with it. Finding the approach to learning that works best for you is a way to maximize the effectiveness while also minimizing the time and effort you need to spend on it. CodeGym, for example, relies on gamification and practice-first approach, among other things
, to make the process of mastering Java as easy as possible even for complete beginners and people willing to switch to programming from other professions
. But you can try multiple different approaches and learning techniques
, finding out which one will bring you the most benefits.
5. Make a career plan.
Making a career plan
, if you don’t have one yet, is another step that would help you to deal with short-term anxiety that is typical for programming beginners by concentrating on a bigger picture. You can combine a career plan with a list of your current accomplishments and use them together to deal with self-doubt and don’t get fixated on mistakes and minor failures.
Here’s what experienced software developers have to say about suffering from imposter syndrome and dealing with this problem.
“I’ve been doing this for about 20 years and I’ll fall firmly into imposter syndrome at least once a week and often more. Software is big. Everyone has their area(s) and they love to talk about it. Odds are you know your area(s) but not everyone else’s. And you aren’t expected to. You are expected to solve the problems at hand - that is what engineers do. My career took off when I stopped trying to solve shit by myself and started talking to other engineers and asking for help, insights, or just for a sounding board. Pro-tip: most other people don’t have the solution to complicated engineering issues on their fingertips. I assign out tasks all the time that I’m not sure how they will be solved, so when I’m helping someone on them I’m working the problem just like they are. I’ll suggest deadends and things that don’t work. That is part of the process. If you work really hard and spend your life doing this job, you might understand about 1% of the body of software engineering. Yes. One percent. If you are lucky,” Mark Maratea, software architect and programmer with decades of professional experience, said
“The root of this so-called “impostor syndrome” is being too aware of yourself. When you think about yourself, one of the most natural comparisons is other people. Don’t think about yourself (and if you do, compare your progress against your past achievements and capabilities). Instead of thinking about yourself, think about the things you want to do. if something excites you enough, ego drops away. You don’t think about whether or not you can do something. You just do it. Absorb yourself in the problem space,” Cuyler Stuwe, an experienced web developer, recommends
“It’s pretty normal at least for me. You’d look at my resume and think I know it all. Nope. There are some fundamental differences I have with a lot of technologists and a lot of things I don’t know. I can learn to apply these things, but there is this expectation of knowing everything. I always have to look things up, or play with things to understand how they work. The thing is, I am smart enough to know how to prove things, and that is a trait that not a lot of other people have. Data is incredibly important. Show me data on technology, not ideology on technology, and we can talk,” Wallace B. McClure, another software developer expert, said