How I’m coding through Impostor Syndrome

Do you ever have the sneaking suspicion that you might be a fraud? That your greatest achievements might just be slick manipulation, or that you’ve just skated by to success through pure happenstance?

If so, you’re not alone.  You might have a case of Impostor syndrome.

“Impostor syndrome” was coined by psychologists Dr. Pauline R. Clance and Suzanne A. Imes in 1978 to describe the phenomenon of an “internal experience of intellectual phoniness” in high-achieving women. (Further studies have indicated that men and women may have similar experiences with Impostor syndrome.) Impostor syndrome isn’t a psychological condition or mental illness — nor is it uncommon, especially among high-achievers. As much as 70% of the population may experience impostorism during their life, especially students.

I’m a new coder and student, and like many women in tech, each day I face my text editor with a fresh crop of fears. My overwhelming fear: Today will be the day my peers will realize that I have absolutely no idea what on earth I’m doing.

When I’m this afraid of being found to be a fraud, it’s hard to get much done. Each keystroke could bring me closer to my inevitable, spectacular, public failure! But despite my anxieties, I know I want to write code, and somewhere within me, I believe I can do it. Here’s what I’m doing to keep committing code I’m proud of.

  1. Mind my mindset.
    Our world is often achievement-oriented. We’re praised for our ability to perform, our output, and what we’ve accomplished. Focusing on accomplishments can foster a fixed mindset, which is characterized by the belief that people (more specifically: you) have a static capability to achieve. People with a fixed mindset value skill and outcome over effort and process; they are likely to see difficulty as a sign of weakness or even incompetence. The opposite of fixed mindset is growth mindset, the belief that intelligence and ability can be developed. Those with a growth mindset welcome challenges and criticism as opportunities to learn. They see the successes of others as opportunities to learn — not signs of their own failure. (For more about mindset, this infographic is a helpful illustration of Dr. Carol Dweck’s theory.)
    When I feel like an impostor, I know that I’m giving in to my fixed mindset. When I catch my automatic fixed mindset thoughts, I try to correct them. Instead of worrying that I’m not good enough when my code unexpectedly breaks, I gently remind myself: My broken code is an opportunity to learn. Each mistake I make is a chance to develop a new skill. The time I couldn’t pass an rspec test until my peer helped me? That wasn’t the moment he noticed I didn’t deserve to be there. It was the time I learned that using “self” for a class method in a module would refer to the module, not the class. And so the next time I built a module, I’d have a better sense of what I was doing. Fostering a growth mindset has allowed me to learn without fear of failure.
  2. Choose my words carefully.
    How do you talk to yourself when you code? When I step back, I’m shocked at the insults I’m slinging at myself. Whether it’s misspelling a variable or forgetting to close out a method, I react to little mistakes with a scoff: “Rachel, you dumb idiot!” It’s a joke — or is it? After a day of groaning “Duh!” when seeing a solution, telling myself how stupid my mistakes are, and internally panicking with every error message, it’s no wonder that I don’t have much faith in my abilities. And when I trash talk myself, a part of me assumes that everyone else is thinking the same thing. For example, when asking for help, I avoid my instinct to declare “I’m bad at this.” Actually, I’m working on it. Choosing the right words encourages the right thoughts.
  3. Admit what I don’t know. 
    Acknowledging the areas I’m still learning or struggling with goes against everything I crave: as an “impostor,” my greatest fear is that others will discover my weaknesses. When I come up against material that’s over my head, my first instinct is to BS my way through. That ensures that no one will see me fail — but it also ensures that I spend so much energy pretending that I don’t learn anything at all. Which just perpetuates the cycle of not knowing/pretending to know. The first time I calmly admitted, “I actually don’t know what you’re talking about. Can you explain?” to a group of programmers talking trade was a huge relief. Not only did it take a load off my psyche, but I actually learned something about Angular.js, which I had no experience with.
  4. Embrace the imperfect. Getting past Impostor Syndrome means facing the facts: I can build some things and explain some concepts. I have reasonable aptitude with Ruby. No, I’m not a complete failure. But I’m not an expert by any means — and that’s okay. I’m a student, and I’ll be a student for as long as I work with code — just like I’m a student of music, literature, politics, and everything else I’m passionate about. Chances are, I’ll never be the world’s best coder (whatever that means!), and I don’t need to be. I just need to enjoy what I do and build mastery in something I care about. Part of my Impostor Syndrome comes from extreme perfectionism; when I’m not the best, I’m a failure, and therefore at risk of being discovered as a fraud. And if I told others I was a master coder, I would be a fraud! I’m proud of being a student and taking on something new. I’m even proud of writing code that’s imperfect. It means that I have somewhere to go. If coding was easy, it wouldn’t be a worthwhile endeavor.

I’m no expert at overcoming Impostor Syndrome. I’m no expert at anything, actually. But each day I try to be a little more gentle on myself — and each day, I write better code.

Leave a Reply

Your email address will not be published. Required fields are marked *