My first Leetcode Hard and my story (so far).

Disclaimer: I don't really know if there's a lesson or a point to my story. Maybe for those of you in my shoes, I can help shed some light and some hope. I know we're not the same people, so I can only hope someone is out there who's been through a similar situation like me and that would benefit from this, but maybe it helps no one.

I just did my first Leetcode hard today: August 17th just before midnight. I don't have any perspective, so maybe its the easier hard question -- you tell me. I did Word Break II.

I cannot express how happy and proud I am of myself. I've always been afraid of hard leetcode questions and steered clear of it for a long time. In fact, the only time I tried it was when I got "tricked" into doing it when I did a mock interview and ended up doing the the golf tree question. I got a solve (just TLEd), so I didn't count that as a win.

The most shocking thing I discovered when solving Word Break II, was that I only had a vague idea on how to approach the problem but never a full picture, nevertheless, but I dove right in and coded it part-by-part, step-by-step. I set a goal, that I wanted to do a hard-level question that day, so I just did it. It took me by surprise that I was able to solve it almost effortlessly. I couldn't beleive my eyes when I ran the test cases and it worked. (Well, it TLEd and I got help from discuss saying just add an if statement reusing Word Break I 😇).

You see, there are some things, you might not believe in yourself you can do, even if the time is right to move on difficulty levels. Sometimes, you just have to dive in and start someting new and you'll be pleasantly surprised at what you can do. There are such odd parallels, between how I got started with Medium levels and eventually having easies be actually easy and how I started my first hard. There wasn't a sign that it is the right time -- I wasn't comfortable with easy-level questions when I did Medium and I wasn't comfortable with Medium when I did hard. I just did it. And if it were truly impossible, then you can always take a step back.

I have to constatly remind myself Failure shouldn't be feared, fail now when it doesn't matter as much, when the stakes aren't as high. The worst that can happen a little ego bruising (and demotivation), which is why striking a balance in ease of problem solving and challenge is necessary. I had to force myself to recognize that in interviews and interview practices, I cannot win, given my definition of a win which hedges towards perfection or simply solving the problem and solving it quickly. The reality is, there's no win because there's always more questions and you can always be faster. You are gonna encounter things that just challenge and puzzle you. So, when you feel demotivated, it is very likely that it's time for you to change your definition of "a win." Facing challenges and struggles, then putting effort to solve the problem, should be rewarded not the actual solve.

I know all of you in the Leetcode platform, very likely, have experienced what it was like to be on top in the academic realm. That's the norm for people like us, and for the rare few who never got to experienced what it's like to struggle and have always been at the top, I envy you. I can only dream of being that talented. I've always fallen innately on the side of having little locus of control (https://en.wikipedia.org/wiki/Locus_of_control), which is not a good thing. I have to consciouly pull myself away from believing that I'm just dumb or as I call it a natural-born screw up. I have fallen from the top, and constantly putting the blame on intelligence. Yet the truth I failed to acknowledge is that the failure are due to actions or inactions within my locus of control, attributed by not possessing the skill to learn and to motivate myself internally, and countless more reasons that are all signs of a lack of dilligence and maturity.

Yes, I do believe that there are some among us who are simply more talented. I won't deny and I believe anyone who does is fooling themselves. Some are born with perfect pitch and no amount training can compete with that. These are just luck factors in our genetic pool. I'd say most if not all of us on Leetcode lucked out, even a natural-born screw up such as myself. However, there is a distinction in believing in talent and 'magic.' That is to say, in the realm we are concerned with, these people with talent, do need to study and practice. I have noticed that many of my so-called more intelligent friends are better than me in all aspects of life -- hence why I consider myself a screw-up in every aspect. It is necessary for one to take one's blinders off to realize that they are better in every aspect NOT because of talent but because they have hones the skills to put 100% in everything that they do, no matter how miniscule. They have an immense amount grit, discipline, passion, and curiosity, on top of talent. They never stop questioning and are always aware of what they might not know and I cannot wait to see where my colleagues go 5 years from now. When you're in a pool of smart people, the truth is, talent matters less.
But also know that because there are people who are "simply talented" (those who are either gifted or just got an early start in life mastering the craft of hard work, pedagogy, grit, etc.), the sad reality is: you're at the bottom of the pool, so you have to work 10, 100, 1000 times harder than other people. It's not fair, yet its the only option, so keep persevering. Call it the tough luck protocol. I hate it, but here I am trying because that's my only option, the only escape. It reminds me of when I went hiking on a trail in BC called the grouse grind -- and being the couch potato (computer potato? martian tomato?) that I am, I sucked. Acutally, I took forever to hike the mountain, but I always reminded myself that there's only one way out and that is UP. It sucks but feeling sucky, but it means you're doing good, so keep at it.

I saw this picture a few years back and it resonated with me, especially the lower left side. I hope that this gives you some hope and a much needed reality check.
image

I am blessed, that I have never, from my knowledge, been in a situation where I have nothing to blame for the results that I see but myself. To put it in other words, I have never been in a situation where I have tried my absolute best, and its not good enough within the academic realm. (I have in many occasions felt infinitely incompetent in other realms no matter how hard I tried.) I may have felt that way for a time or two momentarily, but quickly realizing that I was idiot and here's X things I did wrong. For those of you who are there and feeling hopeless, implement the tough luck protocol, and for helpful advice which I am absolutely not qualified give because I cannot emphathize your situation is to take a step back and stop banging your head on the wall. Maybe all it takes is learning how to learn. Maybe stop Leetcode and read a book. Perspective is golden. I would sometimes stop Leetcode and read a book like EPI or CTCI, and everytime I do, there are always golden nuggets where I'd go "wow, I'd never thought of that." The more of these moments you have -- the better you become. So, when you don't feel like you've learned something you can write or explain or you don't feel challenged -- I think it's time to step back and reevalute because the challenges never end, learning never ends; even olympic champions have to work hard.

I hit rock bottom in University. A top student in high school where I have never done anything in advance not even study for an exam and yet get top result. I was on other side of the unfair coin, so the transition to University, where talent mattered less, was extremely rough. I failed a class. I probably hit a new record of pity passes. Exact 50%s and I knew failed those classes marginally. Thank you profs for giving me the pity passes. I ended up on probation. I was almost was forced to take a year off school where I probably would've rather been dead than face that reality. I continued grazing by school until I finally got a break with our year long co-op program after I finished my 3rd year. Then I had to not only re-learn all the past materials that I never learned from the struggles to just stay afloat in the program, but also learn to learn. Somehow things just clicked and in my final year I ended up with a 3.5/4.0 GPA in my final year, a far cry from my cGPA. I don't how but thankfully it did, perhaps my frontal lobe just needed some time to fully develop. I never got the 4.0 I dreamed of, but for someone who barely had 1st, 2nd, or 3rd year education, 3.5 is pretty good, eh? I am lucky because once I put some effort I can manage being above average and my self worth began improving. I still have a lot of work to do in consciously fighting with my inner 'shallow' outlook on intelligence, but I finally feel like I'm getting somewhere.

Here's another quote I copied from Wikipedia that I really liked on Deliberate practice
People believe that because expert performance is qualitatively different from a normal performance the expert performer must be endowed with characteristics qualitatively different from those of normal adults. [...] We agree that expert performance is qualitatively different from normal performance and even that expert performers have characteristics and abilities that are qualitatively different from or at least outside the range of those of normal adults. However, we deny that these differences are immutable, that is, due to innate talent. Only a few exceptions, most notably height, are genetically prescribed. Instead, we argue that the differences between expert performers and normal adults reflect a life-long period of deliberate effort to improve performance in a specific domain.

I'm still not anywhere where I wanted to be. I've been doing a lot of learning and leetcode. For the last few months I've been rejected by every single company I applied to. I don't know where to go or where to apply. I feel like I'm the worst that I've always been. Keep reminding yourself that you are the best coder that you have ever been. That's what Leetcode does, you can't regress. Knowing that present me is much better than 3 months ago me, has always been a great comfort. Remember that what you are now, is what you thought was impossible, just a little while back. To quote The Flash -- you "became the impossible."

Comments (3)