“It's a fluke that I got this job interview...”
“I studied for weeks, but I’m still not prepared...”
“I’m not actually good at this. They’re going to see right through me...”
If any of these thoughts resonate with you, you're not alone. They are so common they have a name: impostor syndrome.
It’s that feeling like you’re on the verge of being exposed for what you really are—an impostor. A fraud.
Impostor syndrome is like kryptonite to coding interviews. It makes you give up and go silent.
You might stop asking clarifying questions because you’re afraid they’ll sound too basic. Or you might neglect to think out loud at the whiteboard, fearing you’ll say something wrong and sound incompetent.
You know you should speak up, but the fear of looking like an impostor makes that really, really hard.
Here’s the good news: you’re not an impostor. You just feel like an impostor because of some common cognitive biases about learning and knowledge.
Once you understand these cognitive biases—where they come from and how they work—you can slowly fix them. You can quiet your worries about being an impostor and keep those negative thoughts from affecting your interviews.
Everything you could know
Here’s how impostor syndrome works.
Software engineering is a massive field. There’s a huge universe of things you could know. Huge.
In comparison to the vast world of things you could know, the stuff you actually know is just a tiny sliver:
That’s the first problem. It feels like you don’t really know that much, because you only know a tiny sliver of all the stuff there is to know.
The expanding universe
It gets worse: counterintuitively, as you learn more, your sliver of knowledge feels like it's shrinking.
That's because you brush up against more and more things you don’t know yet. Whole disciplines like machine learning, theory of computation, and embedded systems. Things you can't just pick up in an afternoon. Heavy bodies of knowledge that take months to understand.
So the universe of things you could know seems to keep expanding faster and faster—much faster than your tiny sliver of knowledge is growing. It feels like you'll never be able to keep up.
What everyone else knows
Here's another common cognitive bias: we assume that because something is easy for us, it must be easy for everyone else. So when we look at our own skills, we assume they're not unique. But when we look at other people's skills, we notice the skills they have that we don't have.
The result? We think everyone’s knowledge is a superset of our own:
This makes us feel like everyone else is ahead of us. Like we're always a step behind.
But the truth is more like this:
There's a whole area of stuff you know that neither Aysha nor Bruno know. An area you're probably blind to, because you're so focused on the stuff you don't know.
We’ve all had flashes of realizing this. For me, it was seeing the back end code wizard on my team—the one that always made me feel like an impostor—spend an hour trying to center an image on a webpage.
It's a problem of focus
Focusing on what you don't know causes you to underestimate what you do know. And that's what causes impostor syndrome.
By looking at the vast (and expanding) universe of things you could know, you feel like you hardly know anything.
And by looking at what Aysha and Bruno know that you don't know, you feel like you're a step behind.
And interviews make you really focus on what you don't know. You focus on what could go wrong. The knowledge gaps your interviewers might find. The questions you might not know how to answer.
But remember:
Just because Aysha and Bruno know some things you don't know, doesn't mean you don't also know things Aysha and Bruno don't know.
And more importantly, everyone's body of knowledge is just a teeny-tiny sliver of everything they could learn. We all have gaps in our knowledge. We all have interview questions we won't be able to answer.
You're not a step behind. You just have a lot of stuff you don't know yet. Just like everyone else.
Get the free coding interview crash course
Don't leave your interviews to chance. We'll teach you the underlying patterns behind the clever algorithms you'll need to come up with during tricky coding interview questions.
Send me coding interview tips »
Top comments (8)
Thanks for using the name ‘Aysha.’ It’s nice to see an alternative to yet another Alice or Albert.
Thank you for this great write up.
I purchased Interview Cake last year after blowing an otherwise great interview when I discovered just how important big o and algorithms are. I didn't have a clue. Now I do.
Thanks for such a great service. 👍
I struggle with this a LOT. That said, Seth Godin (you know who he is, right? If not, he's an excellent writer!!) wrote a post on it that is one of the best takes on it I've ever seen. sethgodin.typepad.com/seths_blog/2... definitely worth a read
Thanks for such a thoughtful write-up! I wish I'd known these things long, long ago (or even remembered them more often). I'm really digging your illustrations - they do a good job putting things into perspective 💯
Thanks so much, this was really great for me! I'm always feeling like I'm not worthy of wanting to work in programming because I don't have a traditional university education but have instead been learning on my own. I feel like people with university background will always be better because I assume they'll know more. But your post has made me feel better about this.
:)
The "academic" side can call still be learned, even without a university background. It's easier than you think!
How are you with data structures and algorithms? We put together this helpful guide that explains things from the ground up:
interviewcake.com/data-structures-...
Thanks for the reply and motivation :). And that looks like a great resource, I will definetely use it when I get a bit more knowledge in programming! Thanks again :)!
Thank you so much for writing this down. :)