Fighting Impostor Syndrome as a CS Student

By Tao Ong

“Computer science is tough. It’s for smart people, for nerds who have been coding non-stop since they were eight.”

Coming into Berkeley as an intended sociology major, I bought into that belief. Yet, it was that same line, repeated countless times by my peers, that got me interested and challenged me to take a computer science class. I seemed to pick up concepts fairly quickly and scored well on exams, so there was reason to believe that I could have a future in tech.

But just a few weeks in, it was clear that there were a select few who were different from the rest of us.

We referred to them as “CS gods”.

These were students who were ahead of course material, who could find any bug in our code, and who would have every homework assignment completed early just so they could work on their own personal projects. These kids just got it. While I looked up to them, I started to believe that I could never become one of them, and my reverence quickly turned into a case of impostor syndrome.

What exactly is impostor syndrome?

In my personal encounter with impostor syndrome, I was always clouded by a feeling of self-doubt and inferiority. I felt that no matter how hard I tried, there would always be a CS god who was just inherently better.

Soon, this mentality started to spill over onto my work. It made me afraid to try new things and learn new technologies because I felt like I was already so far behind. I asked fewer questions for fear of saying something stupid. I stopped experimenting, and so my progress halted as well.

It took me a long time to realize that many of my peers had the same case of impostor syndrome, and in hindsight it’s not very hard to see why.

So, why do so many CS students struggle with it?

To start, showing off is crucial in the industry. People try to make themselves seem more intelligent and capable than they actually are to land greater professional opportunities. After all, if I build something cool, why not throw it on my online portfolio so I might have a better shot at getting a software engineering internship at Google? While I’m at it, why not show my friends and tell them about all the obscure frameworks I used to build it, perhaps even mention that it took me a weekend when I actually worked on it for months?

This leads to another problem — that people tend to disregard the importance of the hard work they went through. It’s not often that people show the countless iterations of an app when they can simply showcase the final, polished project. Why show myself as someone who had to spend days on Stack Overflow, when I can act like a CS god who just knew how to do it?

It also doesn’t help that many programmers have an innate desire to rack up knowledge of languages and frameworks. This mentality, coupled with the fact the technology is a huge and rapidly changing field, often leads to a sense of helplessness, especially when you realize there are so many things you will most likely never have the time to master.

Beginning to understand these factors was the first step in overcoming impostor syndrome. But the next step was to correct my false belief that I could never become a CS god. I had to rethink what it meant to be a good programmer, and how I could become a CS god on my own terms. More importantly, I needed something to sustain my drive to be better at coding, even when I finally became “good enough”. I needed a purpose.

Building confidence through social good

A year ago, I worked with Meals on Wheels of Alameda County as a pro-bono consultant.

One of my tasks was simply to suggest ways to improve their current website, and provide research on how certain changes might affect certain metrics such as volunteer signup rates and total donations. Instead, I decided to create a mockup. With some HTML and CSS and a little design experience, I redesigned their website front-end so they could see how the changes would look and feel firsthand.

They loved the design, but that wasn’t what boosted my confidence. The reality was that I had taken advantage of my extremely limited knowledge of web development for social good. Suddenly, being a CS god wasn’t that wasn’t important anymore, because whatever little I knew about coding was already enough to impact the lives of others.

With that realization, I felt empowered. My drive to become more proficient at coding became much more meaningful. By keeping social good at the heart of each project from that point on, I finally had a purpose, and it became remarkably easier to stay motivated. Instead of adding to my impostor syndrome, my lack of expertise only encouraged me to learn more.

Ultimately, the key to overcoming impostor syndrome wasn’t to try and become a CS god, but to redefine its meaning completely.

“After all, it’s not about how good you are at programming, but about how much good you can do with it.”

Tao is a junior studying Computer Science and Economics at UC Berkeley. He is currently Blueprint’s Director of Content.

To learn more about Blueprint and read more about using tech for social good, follow us on Facebook and sign up for our community newsletter!