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.