← All posts
leetcodemindsetcomputer sciencedata structuresalgorithms

I hated LeetCode: The Three Lessons I Have Learned While Getting Over My Fear For LeetCode

Genuinely couldn't think of a description for this one. Guess it's all in the title.

Have you ever hated something so much that even the thought of it makes your heart jump? That was me with LeetCode less than a year ago.

When I decided on computer science as my major, I thought all I had to do was know Python and be able to build a word guessing game. I didn’t think I’d have to solve mind-racking problems to get internships or even a job. So by the time I figured that out, I felt way behind everyone else.

I would see an easy tagged question and have no idea where to start. I’d get so frustrated I would start crying. For real, I would actually cry because I had no idea what to do with the question.

Lesson 1: Try Everything But Don’t Forget The Basics

And then I decided to try everything. You name it: YouTube videos, NeetCode, Reddit, meetings at my school, HackerRank, textbooks, everything.

But I still sucked.

It didn’t help that every recruiting season felt like I was trying to catch up to where I was supposed to be. I would be rushing to solve tree problems because the company I was targeting often asked tree questions, meanwhile I wasn’t even able to solve an easy tagged array question without hints.

Looking back, I realize I was trying to learn everything at once instead of actually understanding the things I already knew.

I needed to reinforce my understanding of the concepts I had already learned, solve more questions on them, and understand the mechanism behind the algorithms. That foundation would make it easier to learn the harder concepts later.

Lesson 2: Gather The Things That Work And Turn Them Into Your Plan

After failing first-round interviews for a couple of companies (not that many), I realized I needed to revamp my plan. The funny thing is, I didn’t really have one.

I knew I hated LeetCode too much to rely on just motivation to get through it. I needed accountability, a routine, repetition, and an entirely different mindset.

I had done a couple of mock interviews on Exponent and realized how helpful they were at keeping me on my toes, so I got my very sweet friend on board and we started doing mock interviews twice a week, which has now expanded to three times a week.

I joined CodePath TIP 103 after struggling with TIP 102 because I knew I needed something that would push me and force me to show up twice a week for 10 weeks.

I wake up every day at 6:15 because my mind is sharpest at that time, and then I solve at least one question.

I repeated this routine so many times that I began to look at LeetCode like a long-time buddy that I hang out with every day. I don’t even remember when we became friends, but somehow we’re good friends now.

Lesson 3: Don’t Overthink Everything

I realized I’m able to do these things because I don’t think too much about them.

I used to wake up and then think about whether waking up that early was worth it. After debating with myself, I’d go back to sleep.

Now, I just wake up, say thank you to Jesus, and grab my laptop.

I don’t overthink how I’m going to solve a medium-level question I have never seen before. I take a deep breath, say thank you to Jesus, and then read the question out loud.

Of course, sometimes I won’t feel like waking up that early. I don’t beat myself up for that. I snooze my alarm and wake up 10 minutes, 20 minutes, or even an hour later.

Hey, as long as I woke up, we’re good.

I don’t overthink how I’m going to make it. I just say thank you to Jesus, and then get right into whatever it is I need to do to get there.

And I will.

← Back to all posts