The Unseen Plague Among Software Engineers: Imposter Syndrome
Too many engineers let imposter syndrome screw up their confidence and career. This is such an important topic because, for software engineers, it's not a question of if you'll encounter imposter syndrome, it's a question of when. Here's how to deal with crippling self-doubt.
What is Imposter Syndrome?
Imposter syndrome is the belief that you are not as competent as people perceive you to be. It’s a feeling that:
- You don’t deserve that award
- You shouldn’t lead the meeting
- You shouldn’t go up for promotion.
Like everyone else in the world with any amount of ambition, I have certainly felt the impact of imposter syndrome, and I’ve only recently discovered tactics to better manage it.
Especially in the software industry, everyone will deal with imposter syndrome to varying degrees. Change is constant. You can never be "up to date" since there are always new tools, languages, and frameworks to learn. This can easily lead to feelings of inadequacy and fear.
I made my very first Android app back in 2011. I used Eclipse for the IDE and Java as the programming language. Today, Android apps are developed using Android Studio and Kotlin. The whole ecosystem around Android has changed dramatically. That constant challenge of re-learning or potentially even reinventing yourself as a developer can be quite taxing and isolating.
The other reason imposter syndrome is especially damaging is that we often feel its impact most when we achieve a milestone — for example, receiving a promotion or an award. Even though we should be feeling the proudest at that moment, we ironically feel the most like a fraud.
Here are 4 ways to deal with imposter syndrome:
Tactic 1: Permission to Fail
One of the symptoms of imposter syndrome is that you lack initiative. You don’t advocate for yourself because you’re afraid of failure.
I loved the solution my founder friend came up with for this – she rewired her brain! Every time she feels uncomfortable with something, she reframes it as a feeling of growth. So instead of avoiding discomfort, she seeks out discomfort because she knows that's a great opportunity to grow.
For example, take interviewing. If you interview at ten companies, and get all ten offers, I would actually be disappointed. It indicates to me that you didn’t stretch yourself enough. You didn’t put yourself out there enough to actually get something where you’re rejected. In my opinion, you should be failing at least a few interviews.
Rejection is a good thing. Discomfort is a good thing.
Another way this manifests is when you’re onboarding onto a new team or a new company. A lot of people will have a lot of hesitation around asking a question. Instead, your goal should be to ask many high quality questions as possible. Rather than viewing a question as a sign of failure ("I couldn't figure it out"), view it as an opportunity to ask a question that you and the entire team, will benefit from.
I love this quote from Alice Walker: “People do not wish to appear foolish. To avoid the appearance of foolishness, they are willing to remain actually fools.”
Because we’re so afraid of the judgment of looking stupid, we actually end up remaining stupid. A much better thing is to put yourself out there. Be okay with some judgment. Be okay with some failure, as long as you actually feel like you’re getting better.
Tactic 2: Seek out Supporters + Feedback
Next, seek out supporters and feedback. For example, if you’re going up for promotion, there will be a bunch of people who advocate and support you, but there will also be people who don’t think you’re ready. Spend time and seek out the people who do believe in you and do advocate for you.
A good analogy here is with startup fundraising. (This is top of mind since Taro just wrapped up fundraising after Y Combinator.) The vast majority of startups face rejection constantly, either for VC funding or for recruiting. Your job as a founder is not to let that negativity or rejection get in your way of building a big and successful company. Instead, you should surround yourself with people who believe in you and the mission.
Beyond finding a supportive group of people, the more common issue is not getting adequate feedback. A big part of imposter syndrome is caused by ambiguity: how am I doing on this team or in this company? Am I meeting the expectations of the people around me?
An effective way to combat imposter syndrome is to schedule time for dedicated feedback. Go to your manager, team lead, or other team members, and schedule a dedicated feedback 1:1. Instead of just asking a generic question like “how am I doing?” ask deeper questions: “For that project last month, I feel like these two things went poorly and I wonder if I could have done better. What do you think?” This lets you get deeper feedback which can mitigate a lot of the anxiety that comes with the unknown.
Tactic 3: Find Community
When I graduated from college with my Stanford Computer Science degree, I had offers from Facebook and Microsoft, among others. The sense of community at each company played an important role in which company I chose.
- Microsoft felt stodgy and plain. Everyone sat in their own cubicles and the employee base was much older.
- Facebook had a better vibe. Tons of people on campus ate lunch together, the population was much younger, and it felt very collaborative.
Having a community of like-minded people, whether that means gender, ethnicity, or age, is critical for fighting imposter syndrome. You need to feel the sense of belonging.
This is a big part of why imposter syndrome is much more pronounced for underrepresented minorities and women in tech -- there simply aren’t that many of them, especially in software engineering. Sheryl Sandberg wrote a book called “Lean In” in 2013 where she talked about the gaps between men and women in the workplace. A report at Hewlett Packard showed that women applied to a job if they met a hundred percent of the criteria, but men applied to the same job if they met only 60 percent.
This is problematic because if you don't feel like you’re going to succeed, then you unnecessarily disqualify yourself. Having a community of people with shared experiences will give you encouragement and support.
If you don’t have that community at work, then check out the company I’m building called Taro. Think of Taro as a job optimization service for software engineers. You can get the personalized help you need while discovering questions and answers from other engineers, organized by level and company.
Tactic 4: Identify + Take Action
The best way to combat imposter syndrome is to take action toward your goal. This might sound obvious, but many people get paralyzed by the overwhelming number of things to do.
Instead of all that, write down a simple step-by-step plan and do the smallest possible thing toward the first objective of your plan. The important thing here is, to be honest with yourself about whether the action you’re taking is helping you move towards your goal. Time management is critical to getting stuff done.
I often find that people will tend to do the thing that they’re comfortable with, rather than the thing that will actually help them, even if it’s uncomfortable.
For example, if you’re dealing with a severe issue on the app or website you’re working on, the best way to mitigate the problem is probably not reading the documentation for a programming language. A more direct way of helping would be to look at dashboards or logs, and figure out how to stop the bleeding.
I still feel imposter syndrome today, but I'm able to work through it productively. Here is some relevant advice from Taro's Q&A:
- “How do I deal with imposter syndrome stemming from my super talented peers?” from a Senior Eng at Amazon: https://www.jointaro.com/question/MPUkGXFDaBixmxfjOg9i/ive-felt-imposter-syndrome-from-seeing-super-talented-peers-how-do-i-deal-with-this/
- "How to overcome imposter syndrome with amazing teammates?" https://www.jointaro.com/question/bDksy8eiVUQeARDJjgkD/how-to-build-up-my-confidence-and-overcome-imposter-syndrome-with-amazing-teammates/