According to Wikipedia, impostor syndrome is
a psychological phenomenon in which people are unable to internalize their accomplishments.
In short, people who are good or successful at something sometimes become sure that they are really not worthy of their job, any positive attention or bonuses that they are getting, etc.
They downplay success, and constantly worry that they're not adequate to meet the task at hand — despite consistent and often self-evident proof to the contrary.
They sometimes even go so far as to think they are actively misleading their superiors and peers in this regard.
Imposter Syndrome and Developers
This phenomenon is particularly common in developers. It's more of a personality trait than a circumstantial thing, and it may very well be something about the nature of our industry that attracts people who are fighting with this issue. Although not a mental illness or anything so severe, it can certainly affect your life, education, and work.
So how do we deal with it? First, we have to recognize it for what it is.
It's a horrible thing to sit working every day with the constant worry that any moment, someone will discover that you're really a farce, that you're not a good enough developer for this job, or this pay, or this level of seniority or autonomy. And those feelings often persist through multiple levels of promotion, education, certification, reward, even peer and superior acknowledgements. For some reason, it's a feeling that just cannot be shaken, even when the facts disprove it.
Recognizing Impostor Syndrome
Recognizing impostor syndrome is about more than just listing some symptoms. It's also about differentiating the worries and doubts we have internally from our actual performance and abilities.
There are people in our field who are impostors — who masquerade at a role and can't actually perform it. There are also many, many people who are regularly a little insecure or doubtful about themselves.
But impostor syndrome goes beyond a little self-esteem problem. It's particularly hard as a developer, because we can often find ourselves working in relative isolation. Even developers working full-time in teams do their actual work alone, submitting it to some repository or similar arrangement, where it's then reviewed or integrated with the work of others. That situation is very conducive to impostor syndrome.
Social Context Clues
If you're one of the many developers who suffer from impostor syndrome, you may already be getting feedback from others that should clue you in.
Often, people who feel this way are full of self doubt and under-accomplishment, and yet when others are approached about their performance, work ethic, or general productivity, they'll often answer with a relatively satisfactory — and sometimes, even exemplary — judgement.
Other people are constantly surprising you with their good opinions of you and your work. You may compare results of a test or a similar task to a co-worker and find that you have out-performed them, just before dismissing that.
Attitude and Development Processes
Here are some useful questions to reflect on.
Negative opinions of your own work?
Take a reality check for a moment. Ignore the question of what your work deserves, and just be honest.
- Do you have a negative opinion of your own work, overall?
- Do you doubt your ability to perform to job requirements?
- Are you worried about your grasp of the languages and tools of your trade, compared with that of your teammates or colleagues?
Attitude towards superiors
What is your general attitude when dealing with superiors?
- Are you normally worried or nervous?
- Do you assume that interactions will be negative, or positive?
- Are you worried that your superiors will
discoverat any moment that you don't really belong?
Your development process
- Do you waste more time than your peers with checks and testing after having already satisfied requirements?
- Are you extremely thorough in this regard, especially when programing in a team or with direct oversights?
- When you submit code to a shared repository or test environment, are you worried about what others will think of your work — enough to impact your working day?
These can all point to impostor syndrome (if not other equally negative states of mind). It's worth engaging in this kind of self assessment, and really thinking about your behavior and thought processes.
If nothing else, impostor syndrome can significantly wear on you mentally and emotionally, making you less efficient at your job.
What to Do about It
Dealing with impostor syndrome can be a life-long undertaking. There are a few ways that you can tackle the problem, though, and I'd like to share a few of them.
One way you can tackle both the worries that come with impostor syndrome and the ongoing struggle to keep current as a developer is simply to constantly educate yourself and improve your skills, adding on new technologies and methods as you grow as a developer.
Impostor syndrome can be a particularly harmful thing when you're in a more autonomous job, or one where you're in the company of very well-reputed peers, or even in senior positions. Bettering your education and your skill set can go a long way towards calming those insecurities, and provide a logical basis on which to refute the inadequate feelings of impostor syndrome.
Look back over your career (or your education if your career is in its infancy). Think about your performance, reviews, scores, grades, interviews. Who have you worked with? Has a lead developer ever stood slack-jawed and asked how someone with your lack of talent possibly got hired to her team? Do your peers daily look over your shoulder at your code, smirk, and make disparaging remarks? For most people, the answer to those questions is
Sometimes, it helps to simply remove the glasses of self-doubt and take a logical, analytical look at your development career. What technologies have you invested in? Are you proficient with them? Can you do your job? If so, chances are reasonable that you're at least adequate, if not more than that.
Developer Community Involvement
Getting involved with the development community is an excellent way to help with impostor syndrome. Asking questions or solving problems in communities like SitePoint Forums, Stack Overflow, and others can help you both learn and teach others — and in doing so, boost your confidence.
You can also get involved with community meetups or even national and international level conferences, which are great places to network, learn, and interact with peers in your field, often without the pressure that a workplace environment brings.
Do you think you might be experiencing or have experienced impostor syndrome? How have you managed to deal with it? Tell us in the comments!