Imposter Syndrome

Sun, Jul 24, 2022 8-minute read

Let’s take a slight detour from the usual programming guides. Today, I want to address the bane of all developers. The one that plagues juniors and seniors alike.

func (s *self) ImposterSyndrome() {
    for {
        doubt()
        fear()
        panic()
    }
}

s.ImposterSyndrome()

“Maybe I’m not smart enough to be a developer.”

“He’s so much better at this than I am.”

“How come she gets it and I don’t, when we started the same?”

“What if people realize that I am not well-versed in CS principles?”

“I only got this position because of luck.”

“People will realize all my successes were just sheer luck.”

“Why even start this project when there are other people who are way better than me already doing this?”

Imposter syndrome. I think this, along with burnout, is a major reason why developers get stuck in a rut. I had it too. The thoughts still haunt me today, but I got a lot better at dealing with them. I’d like to share with you how I struggled through my imposter syndrome, and how I overcame it for the most part.

My story

I am a university student, so I am always surrounded by smart people. I’ve heard people say that doing well in high school doesn’t guarantee your success in university, because you are one among many smart people who were the best performers in their high schools. At first, I was excited to start university. I got accepted to the CS department, and I was ready to butt my head against other talented and passionate students. Fast forward a couple of months, and I am starting to doubt myself. How did I even get into this program in the first place? I am slow in literally every way compared to my peers. They seem to be “getting” it as soon as they listen to the professor speak. Whenever I ask someone about the parts I’m struggling with, they would look at me as if I didn’t know how to add 1 to 1. Am I a fraud? I am a fraud, aren’t I? I shouldn’t have made it this far into the program…

I started to get a bit fearful, a bit resentful, and a bit bitter. Every time I went to a lecture, the professor would be speaking gibberish, and somehow my friend sitting next to me would nod and rub his chin as if he had connected with the professor on a deep level. I felt a sense of crushing defeat and guilt whenever anything happened in the class. Oh, she’s asking these high-level questions that I can’t even think of. Oh, he’s helping other people with their homework when I can’t even get my work done even if there were 48 hours in a day. Oh, he yawned in class - this material must be so boring for him. Oh, she didn’t come to lecture today - she probably knows everything anyways.

I always felt like a burden. I felt as if I was not meant to pursue a CS major. I felt like people would stare right through my thin-as-paper mask and into my pathetic, lying-ass self.

Why imposter syndrome is a thing

I feel like imposter syndrome affects many people, especially developers. Why would this be? 

First, I think it has to do with how many things you need to know to be a developer. I’d say that being a developer requires you to learn a lot of things, from language to syntax to frameworks to design patterns to testing, and on. This is a lot to swallow for many people. Some people will fare better, and this drives an infinite loop of comparing oneself to others. It’s as if you are running self.Doubt() on a while loop that never ends.

Second, there are many different fields in the realm of programming. One could become a web developer, while others could pursue a goal of embedded systems developer. Someone could develop an Android app, while others could develop an iOS app. There are so many different areas that you simply cannot be an expert in all of them. Yet, people tend to try and “catch ‘em all.” It’s only natural - your brain doesn’t like to leave puzzles incomplete, and not learning a certain field makes you feel like you are missing out on a lot of subjects.

Third, jargon. This was one of my gripes about this field. Whenever I was in a library trying to finish that “Intro to C++” homework, I would get stuck and consult other people for help. They would spew out everything but English. It’s not very helpful to speak in devTalk when the other person is only fluent in English and Korean. What do you mean by “don’t use the namespace std because it’s bad practice?” What about “allocating a couple of bytes in the heap with the new() function to make it persist even when the function is removed from the call stack?” What the heck even is a “Hash map”? Do you mean the hash brown we had for breakfast today? Wait, hash has another meaning?

Fourth, the ever-expanding library of new technology. Every 60 seconds on Earth, a new Javascript framework is created. Sometimes, I feel as if technology is evolving faster than the universe is expanding. For many people, learning a new technology takes a bit. It took me a good while to get used to the C++ syntax, only to realize that some of the things that I learned are now considered bad practices and have been deprecated. So what to do instead? There are six different ways you can do to accomplish the same thing. Whenever I hear about new technology, I sometimes can’t help but roll my eyes instead of getting all excited. What’s even more ridiculous is that someone’s already claiming to be an expert in that field, and at least ten thousand people are making tutorials for millions to watch. I’ve only just heard of this framework!

Finally, recursion. Finally, recursion. I don’t understand how this works I don’t understand how this works I don’t understand how this works I don’t understand how this works I don’t understand how this works

Let’s try that again.

Segmentation fault (core dumped)

F**k.

What to do about it

Realize that we tend to not see the big picture. It’s like social media. We see these stories and pictures of them having a great time, but they never show you what happens behind the scene. We usually only see each other’s highlights. But he’s probably struggling with his issues. You tend to feel a bit better if you realize that other people are struggling just as much as you are. As Sam Smith once sang, “I know I’m not the only one.”

And finally, git gud. I feel like this doesn’t get discussed very often because our society today encourages us to stay where we are.

“No, you are doing great! Keep it up!”

“Don’t let others get to you. You are perfect the way you are.”

These comments are like drugs. They feel soothing at first, but they will eat you from the inside out. These words make you complacent. Some people say this because they really mean it, but you know deep inside that you have a lot to work on. That’s why you are struggling with feelings of inadequacy.

Be confident? Yeah right, there’s nothing that I am proud of, what am I supposed to be confident about? Be yourself? Yeah, I guess I will stay pathetic because this is who I am and I can’t get any better.

Instead, focus on getting better. Prove to yourself that you aren’t a fluke. Grab a book, read the documentation, write some code, stumble upon a roadblock, tumble down, punch the ground, learn something new, and get better. Show yourself that you got what it takes. I will admit that the first step is tough. Your shadow will do whatever it takes to convince you that you aren’t worthy of taking your first step to change. But once you take that step, the rest will only become easier.

I like to think of imposter syndrome as a mask that really wants to cling onto you, sucking you dry of motivation. It’s a parasite that feeds off your feelings of uncomfort. To keep doing that, it injects you with a dose of self-help and laziness. If you become too addicted to this substance, you will be okay with the way you are currently and refuse to take that mask off. This starts a vicious cycle of not improving and constantly feeling inadequate. Don’t let this happen to you! I let it happen to me, and I passed on so many opportunities to improve.

Imposter syndrome is a tough boss to beat. It holds you like a vice, and it’s probably going to be very painful to get yourself out of its grip. But that pain is temporary. It can take you a month, or even years to escape, but you will escape. However, if you stay the way you are, you will rot away, trapped inside the face-hugger that is imposter syndrome.

Conclusion

Thank you for reading! I hope this post helped convince you to make the leap of faith. Let me tell you, it’s a very refreshing experience, to fight your demons. I’m not claiming to be perfect - I still have a lot ahead of me. But I am at least ready to take them on. I’m not perfect, but I know that I took the first step on the right path. I hope I can help you step your first foot into the dungeon as well. Imposter syndrome happens to all of us - it’s up to us to decide what to do with it.

You can read this post on Medium and Dev.to as well.