The only thing I need to fix is my mindset, tbh.

Ingrid Xu
6 min readMay 27, 2020

--

Illustration by Liberationist

I don’t know when exactly did I start to believe that CS is not for me. Perhaps it was after that Intro to Programming elective class that I took four years ago. It was my first exposure to programming, and I hated the experience. I got a B only because my friend let me copy his assignment. After that, I vowed to never touch a line of code again.

In college, I chose to major in Cognitive Science, an interdisciplinary field of Psychology, Neuroscience, Computer Science, Philosophy, and Linguistics. It’s a lot of disciplines, but that’s why I chose it — I didn’t have a passion for anything particular, didn’t like sciences but had no interests in arts either. Hence a combination of arts and sciences sounded like the “perfect” option to me — except the computer science part, but it was a good enough deal.

I had anticipated that I won’t like my CS classes very much, but I didn’t know I’d be struggling that hard. “Fun and easy”, they were supposed to be. While my friends talked excitedly about the first assignment — programming a Tic-Tac-Toe, I was having several meltdowns, and had to swallow my pride and beg my friends for the answer after spending over 20 hours on it.

The next four of five CS units were not better. I was used to aiming for As, but I got used to be happy with a passing grade on my programming exams. I got used to not understanding a single thing in lectures, and stopped panicking about that. I got used to spending hours of reviewing the lecture notes, watching every algorithm video by Chinese and Indian guys on Youtube, just to half-understand an algorithm that seemed so intuitive to the others, who would understand in class, on the spot. I got used to being the first one to start an assignment, but the last to finish, as I had to wait for my friends, who never went to the lectures, for the answer. I was lucky to take have only one CS class to take per semester, although I would spend more time and energy on that single class than on the rest of my four classes.

I believed it when people told me that it would get better, that eventually, it would just click, that I would get it. But it didn’t. It only got harder. And at some point, I stopped believing. I lost hope, and was convinced that I’m just not good and never will be good at this. I started doubting my intelligence and ability. Every time I couldn’t debug or solve a problem I’d feel insufficient. This realization of my new “reality” took a toll on my confidence, and the whole “CS” topic became so sensitive to me that I would breakdown into tears when anyone brings it up.

It’s been now four years since my first programming class, and despite my minor in Computer Science (which I took purely because I didn’t think my major could get me a job), I still suck at coding. I’m still not confident. But what I’ve began to realize is that although I’ve been “challenging myself outside of my comfort zone” by sticking to something that I’m not good at (although I did want give up just a few dozen of times), one thing that I have not yet challenged is my mindset.

In my head, I’m this victim who’s dumber and slower than everyone else, and who’s working hard to catch up yet failing miserably despite all the efforts. And this feeling is what makes me want to cry every time. Although there is some truth to that, I realized that this is perhaps not the healthiest mindset to have, if I actually want to improve myself.

I didn’t realize how fixed my mindset was, because I believed it was the truth.

But believing this truth means that I’ll forever be a victim, and I don’t want to play the victim anymore. Seriously though, I’m better than this.

You know what I want to believe? That our skills aren’t fixed in place. That we can be good at anything.

People with a fixed mindset believe that their abilities are innate, while people with a growth mindset believe that abilities can be developed through hard work, good strategies, and mentorship.

People with a growth mindset don’t see their failures as flaws in their nature or a lack of talent, but as opportunities for growth.

Another thing I was convinced that was setting me back was my lack of innate passion. But I didn’t realize that it was also tied into my fixed mindset.

In a fixed mindset, you look inside yourself to find your true passion and purpose, as if this is a hidden inherent thing. In a growth mindset, you commit to mastering valuable skills regardless of mood, knowing passion and purpose come from doing great work, which comes from expertise and experience.

I’ve been stuck in this fixed mindset for awhile, and it’s time to give the growth mindset a try. What’s holding me back? Am I afraid of the extra work I’d have to put in once I stop believing that, when it comes to coding, I am an exception to the “effort — > result” rule ? Or that I will no longer have an excuse to suck? C’mon, I know I’m better than this.

And so I’m convinced that I’m not good at coding because I’ve been trying for four years, which seems like a long time. Perhaps I should give it up, if I believe that people who’ve coded for four years should already be experts by now. But time is not a measurement of how good your skills should be. In all honesty, I still feel like a beginner at programming, and that’s because I am one. When you break down the four years, how many CS courses I’ve actually taken? I probably coded less lines in those 4 years than someone who attended a 4-month coding bootcamp, or a software engineering student in a single year. I am not special. I am not an exception to the rule. I am not a victim. I was struggling, because it’s normal to struggle when you’re a beginner, especially when learning something like programming, which, just like any other things worthwhile, is not easy. And when they told me “it will get better”, it’s because it will. It’s taking me longer, but the rule still applies. For others who also struggled at first, they might “get it” at their second, third, CS class. But just because I still don’t know what I’m doing after taking 8 (?) CS classes doesn’t mean that I never will. One thing I know is that I learn much better outside of the academic environment. I’m four weeks into my internship and find myself making so much progress already. Technical skills yes, but also mental progress. I already feel more confident than I was four weeks ago. And I’m convinced that by the end of the internship, I will be more comfortable with coding than I’ve ever been. It’s not magic. It’s just time, practice, and mentorship. And a growth mindset.

I’ll close out with this quote by Tanya Reilly, in her Being Glue talk, which only made me cry half a dozen of times:

Our skills aren’t fixed in place. You can be good at lots of things. You can do anything.

P.S.: I kinda want to print this out and stick it on my bedroom’s wall. But then I don’t want to get all emotional upon waking up every morning…

--

--

Ingrid Xu

Not your typical tech-savvy CS girl, and learning to be ok with it :) No tips, how-tos, motivational content, just sharing my fumbles and struggles.