I've long avoided the subject because I think the phrase is used to subsidize bad behavior, but my friend was recently talking to me about shame in tech, and that inspired me to write this post.

Imposter Syndrome

To cut to the chase, my distaste for this social phenomenon stems from observing many people excusing no intent to improve themselves by identifying as an imposter. In many circles, announcing that one is an imposter is seen as a gesture of vulnerability that ought to evoke acceptance in return. Accepting that vulnerability in good faith is saying, "look, no one is born a subject matter expert; we know you feel out of place, but just take some time to grow your skills and you'll get there." I have seen this acceptance often abused via bait-and-switch and received as, "phew, now I can continue exactly as I am."

An imposter is someone who presents themselves as someone they are not. The Platonic Imposter Syndrome meant well. We needed a concise way to identify the feeling of having a job title of "Software Engineer" (disregard the rank, such as Senior, Staff, etc.) and looking to our left and seeing a similarly-aged "software engineer" who can run circles around us. We can avoid imposter syndrome altogether by simply not presenting ourselves as someone we are not. This is easier said than done, complicated by implicit shaming in the workplace and at least a couple other common assumptions.

Having the title of Software Engineer says nothing about your skill. Having the rank of Senior says nothing about your ability to craft software. Rank is more indicative of how well aligned you are with your company's local economy. This applies even to people hired into a company as, say, a Staff engineer. They likely haven't done anything for the company's local economy to have been promoted at the time of hiring to Staff. No, they were just valued as Staff through the lens of the hiring committee. I've personally worked with many Senior (and higher) software engineers who were not particularly skilled at crafting software at scale but were perceived to bring value to the local economy in other ways. I have also been demoted when hired into another company.

An aspiring artist is someone who has yet to produce art. A new artist is still an artist albeit with weaker skills than seasoned artists. Similarly, an aspiring software engineer is someone who has yet to engineer software. A new software engineer engineers, on average, poorly relative to a seasoned engineer. Regardless of capability, someone who produces art is an artist, and someone who engineers software is a software engineer.

Yet we are prone to assume that if we are called a Software Engineer, we must be good at...well, what? Finish that sentence on your own and sort the subjective from the objective. I certainly have some things in mind as non-negotiables, such as having a decent grasp on computer science fundamentals (data structures and algorithms), but the required degree of mastery of even those "non-negotiables" is problem-context-dependent. It's easy to compare ourselves against standards meaningless in the context we actually need to operate in and then speak over ourselves that we're not good enough to the point where we live as if that's going to be our forever. It's also easy to live in constant fear that if someone were to find out that we don't have some particular skill, our image will be tarnished in their eyes, and how shameful that would be, to be the guy who was found out to not have what it takes when people dependend on him.

Now, the above paragraph is about unrealistic expectations and self-imposed pressure. There are realistic expectations and reasonable pressures. We are often not good enough, initially. The reaction to this powered by shame is hiding, deflection, manipulation, domineering, etc. The healthy reaction is honesty.

Hey guys, I've been assigned to this project with you all. I'm not a compiler engineer, but I have done a lot of systems programming, so maybe my background in resource-frugal programming will lend itself here. With that said, I'll probably do some silly things while I get up to speed with what I need to know to be most effective here. In the meantime, can anyone recommend any resources I ought to learn from or maybe some code to start reading?

The above hypothetical honest response bundles quite a few things together. First--unspoken--it is rooted in accepting that not being enough initially is both natural and okay. It then justifies this because coupled with the admission that the speaker is aware they have skill gaps is not only the indication that they intend to close those gaps but also a request to the more experienced people on the team for mentorship. Finally, the speaker even provides some evidence that they've already done some legwork to try and understand what it is they need to know to be a more effective teammate (compilers are often memory-hungry, systems programs are often memory-frugal).

If you are this speaker, you just need to remember that after all the nice words are exchanged, you actually have to do the work. You actually have to bring yourself up to speed and close the skills gap, and this might mean doing so even after-hours for some time. If you do these things earnestly, you've done your part, and it is now up to the receiving team to do theirs. Their reaction should give you strong signal on whether this team and company is worth investing your time in.

The unfortunate reality is that even with honest admissions like the above, many workplaces are not primed to receive such statements well, for many reasons. Sometimes the team is too burned out to care, and someone with a skill gap just looks like a liability. Sometimes others in the team have large egos or are themselves struggling with shame and use such honest admissions as targets to pick on. Sometimes the explicit expectation in the team is that everyone already has the skills required to get the job done--I've been on such teams before, often transient and called task forces. Or sometimes the fact of the matter is that it's easier for your company to go back to the labor market and hire the skills they need than it is for them to pay you until you can do the job.

If you're on the receiving end of the example honest admission and you sense the person is indeed worth investing in, do what you can to reciprocate honestly. Create around you a culture that does not view the honest admissions as vulnerability, because vulnerability implies being open to attack, and we have no need to attack each other when work needs to be done. There is simply work that needs doing, and a person is either fit to do the work or not. If the person is not fit to do the work, the person is then either fit to grow into being able to do the work or not. If not, the person is not a match for the work that needs to be done, and we need to go our separate ways, not with bruised egos, but with mutual respect--we saved everyone time by just being honest. If the person is a match, it's still fair to directly acknowledge skill gaps honestly, not as an assault on the person's worth or as a device to manipulate them, but as a stroke of luck! We've found precisely what we need to work on to bring the person up to speed.

The above is predicated on your company or at least your team having a measurable, software-for-others goal (relative to what I call "software-for-self;" this is also another post in itself) that can be used to filter work and guide the culture's value system. Otherwise, if everyone is jockeying for status or stake (this example comes to mind), your environment's foundation itself does nothing to discourage employees from weaponizing shame against one another while competing internally.

Imposter syndrome ultimately has no place in a healthy culture. Being an imposter means being dishonest. Theoretical imposter syndrome is rooted in shame, but there is no shame in not having what it takes if you are open about your gaps and earnest about closing them. Cultures that promote the weaponization or victimization of imposter syndrome are not cultures that encourage human behavior that raises the general quality of life for everyone.


As I live and work in Japan at the time of this writing, I want to share some observations about the Japanese workplace I find interesting in the context of this post. Shame plays a much larger and more fundamental role as a device in Japanese society and therefore the workplace, but curiously the workplace expectations are different in Japan relative to, say, Silicon Valley in a way that makes the role of shame in the workplace different.

In Japan, as a new hire, even if you have decades of experience elsewhere, it is unspoken that you are expected to have gaps, and it is unspoken that you are expected to close those gaps and that everyone around you is expected to help you do it. Just as you have senpais in school, you have them at work as well. When you have been given ample instruction and guidance and still cannot pull your weight in the team, then shame sets in. This of course is a generalization, and we can always find counterexamples, but in general shame seems to be much more of a natural consequence in Japan, and I have yet to hear a single person excuse their performance by calling themselves an imposter.