Hello dear friends,
I'm Back 2.5 years later, to continue my personal and professional growth
I just recently achieved 400 leetcode problems and I can tell you this was the best hundred so far.
This journey has been an epic opportunity that transcends interviews or solving algorithmic problems and I'm deeply grateful about it.
Thanks to this journey I'm more humble than ever, more eager to learn than ever, more conscious than ever, braver than ever..
Nevertheless all of this benefits couldn't be achieved without perseverance and an everlasting refusal to quit.
So, today I'll present you a small subset of some of the lessons I learned from 300 to 400.
The caveat is that I took more than 3 years to come from 300 to 400, because I was some how forced to stop because My life was very hard
and I was not able to handle leetcode and all the other duties together, hence I stopped or better... I paused, recomposed myself and now I'm back again (More on this later)
Before I actually start with the insigths I want you to understand that this is a different type of X hundred problems celebration because there was a hiatus of +2,5 years in between.
But for me this big hiatus only made my return more memorable and special.
Therefore I'll take a different approach, I'll do a lot of comparisons between the old me and the new me.
And when no specific reference is made I'll be talking about my newer self (2023-2024) which is the wisest one, albeit solving just 10 of the 100 problems.
The old 2020-2021 version of me although deprecated and obsolete was a stepping stone to be where I'm am now, and if you want to know more about it just read these:
300 Problems Celebration
200 Problems Celebration
100 Problems Celebration
EXPECTATIONS FOR MYSELF AT 400 PROBLEMS
EXPECTATIONS vs REALITY
I was able to improve my DP skills, but for the consistency of 2 questions per contest I only achieve it before my hiatus.
Now I'm working my way back to be able to achieve this, but I'm not worried at all.
I know that sooner or later I'll conquer that goal.
Regarding doing one question per day I clearly missed it, as I stopped for more than 2,5 years.. but that was also necessary to be where I'm now.
So, without further ado... Let's start with some of the takeaways of my journey
I REALIZED THAT I NEEDED TO BE BRUTALLY HONEST WITH MYSELF TO IMPROVE
While I was progressively getting more and more honest with myself during my journey from 2020 to 2021, it doesn't compare with how honest I'm with myself now.
In those years I still lied a lot to myself. I lied to myself about my consistency, I faked submissions just to have a green chart, I avoided certain unconfortable topics to protect my ego, and in the bottom of my heart I still felt like I was some special guy.

I feel ashamed of faking the majority of my submissions in 2021 just to look like someone who is consistent to others ...
I tried to make myself believe that I'm working everyday by resubmitting old answers...
This was my lowest point and it preceeded my hiatus, It lasted months but thankfully I evolved.
My newest version doesn't allow me to do that. I either submit a new answer or I don't submit. faking answers doesn't make any sense, doesn't benefit me any way, is a waste of time.
I also don't avoid unconfortable topics anymore, I might postpone them but I'll tackle them in a structured and organized manner when the time is right.
And I no longer consider myself special is pretty much the opposite, but more on that later...
THIS IS FOR YOU NOT FOR OTHERS
One thing that drastically changed is that my new version doesn't give two cents about what you think about me, my profile, my contest rating, and the number of questions I've solved...
None of that. This is my journey, My personal growth, and I don't have to be worried with what you think about my stats.
The stats exist to help me see what I can improve, and not to make me feel inferior nor trying to hack the system and pump the stats in order to be better perceived by the community. learning comes first, stats come later, and how you perceive me comes last.
learning first, numbers later, you last.
If you focus on learning you will get better.
WHY I STOP LEETCODING AT 390 PROBLEMS
One guy asked me in one of my posts why I stopped leetcoding at 390 problems, implying that I should have done 10 more and complete 400.
The thing is...Why I would do that? This is not about the numbers, It is about learning.
If you focus too much on the numbers you will miss the true point of this endeavour, which is getting better, overcome your fears and shortcomings, adapt, etc.
Numbers can trick you if you are not careful, but the knowledge you acquire doesn't.
So the reason why I stopped at 390, was because I couldn't take it anymore I was saturated with tasks outside leetcode, I was faking my consistency, my mind was not right.
and there was no point in pushing 10 more problems.
It would be just torturing myself. the extra 10 problems would not have any benefit in my life, hence I stopped.
LEAD AND LAG METRICS
If you really want to focus on numbers, you will need to focus on the right metrics.
understand the concept of lead and lag metrics and define and track the metrics that drive your results.
those are the only numbers that matter, the other ones are distractions.
I can give you an example of numbers that do not drive your results:
- Number of problems solved
- contest rating
- max leetcode streak
- total active days
This are the numbers you should not focus on, these are just results.
The important numbers are more subtle and nobody talks about them, you have to find them out and work with them.
100 PROBLEMS DON'T LOOK MUCH NOW
This only happened with the new version of myself, the older version never felt this.
My newer version, with the new mindset doesn't feel like 100 problems is a lot.
I feel like I'll hit the next 500 much more quickly than previous hundreds and if not quicker, with way less effort.
I believe I'm starting the transition from beginner to intermediate.
I'M NOT SPECIAL
My new version is the most humble ever, in the 300's I was still believing that I had something special on me, now I don't.
I fully accept my mediocrity, and I'm going to fight it back with work and time.
My new mindset of humbleness is very helpful because it allows me to do any type of question.
If an easy question is what I need to do or review, that's what I'm gonna do.
Because I'm no genius, I'm just and average guy, a try harder, a dreamer, and nothing more.
When I fully accepted my mediocrity many things have changed.
- No relutance in doing easy questions
- No fear of submitting a wrong answer
- No fear of performing badly on a contest
- No fear of not being able to solve a question
- No shame in watching solutions
- No shame in my profile
- No shame in who I am and what I'm capable of
Looking at myself as a normal individual, was the most liberating thing that happen to me.
It was a true awakening and I feel very proud of this mind achievement.
THE MORE I KNOW THE MORE I REALIZE I DON'T KNOW
In the past whenever I learned some new algorithm, or some new question I felt bloated.
I felt a big head, I felt like I was leaping forward, I felt like I was getting ahead of the pack.
I felt like I was the man.
Now, I realize that whatever I learn is just another piece of a massive puzzle that I'll never be able to fully mount.
I understood that I'll never learn all the algorithms, I'll never be able to solve all the questions, I'll never be the perfect programmer.
And this is yet another liberating realization, that helps me cope if failure. It's not a gimmick, it's not an life hack.
Is just the plain truth. I'll never learn it all, but I can get better everyday.
Right now solving a question or learning a new algorithm, is just another day at the office. No ego boosting at all.
And this is good because it makes me more stable emotionally. less flutuations on a daily basis.
It means that I don't feel that super rush of having an accepted answer.
I just move on stable and solid as a rock towards the future I envision myself in.
I'M HAPPY WHEN I CAN'T SOLVE A PROBLEM
In the past when I couldn't solve a question, I would feel shame, I felt disapointed with myself, I felt like I let someone down.
It felt like a reminder that I wasn't as good as I thought I was. This felt terrible.
This was something I could not overcome even when I realized that this problem solving thing is not about intelligence but preparation.
But Now I have a completely different approach. When I fail to solve a question, I stay happy. Genuinely happy.
Because I know that I have something to learn with that question.
This slight change in mindset makes me win 100% of the times.
I win when I solve a question, because I had the skills to do it.
And I win when I can't solve a question because there is something I'll learn with it.
EMBRACE IMPERFECTION
When I was starting my journey I was just too perfect, I wanted to learn and understand everything to the very last inch.
But there are some concepts that take years of practice e.g. Dynamming Programming.
Accepting this reality means that I don't have to pressure myself to learn everything in one go,
I can do multiple iterations, and in each iteration I'll get better, I'll learn something new about the topic.
This is much more gentle. because some topics require you to master other things first.
and if by chance you started with a topic in which you don't master its dependencies/related topics.
you will spend a huge amount of time to learn it. And I can guarantee you that you will still learn it poorly because you lack foundations.
on those situation, you can just accept you are not ready to learn the concept and move to something else.
this is being imperfect, which is perfect for me and my goals.
A rule of thumb could be, if you can't learn the concept in 1 day and implement basic version, then it's too advanced for you
YOU CANNOT ESCAPE THE GRIND
Nowadays, is very tempting to look for Hacks, but those hacks can only take you so far.
If you want to become better, you will have to work, you will have to grind.
The intensity is up to you, but you cannot escape it.
different DSA/CP people tell different things about their journey, but there is one thing in common between them...
They have thousands of problems solved. But here you are solving 20 problems, 100 problems and asking yourself Why you can't solve DP.
Well.. Because there is no Hack, there is no Shortcut. you have to put in the work, and that's how you are gonna improve.
There is no miracle but the consistency and will to learn and succeed, the moment I realized this I changed my handle and became "grindman"
FOCUS ON BASICS (The Mind-Code Connection)
As a result of becoming more humble, I realized more than ever how I'm missing the basics.
For this reason I'll be focusing most of my energy on basic stuff.
I'll try to make sure that I can implement what's in my mind with accuracy.
Rather than learning all the algorithms, I want to first improve my mind-code connection, and then I'll focus on algorithms
TRY TO LEARN SOMETHING WITH EVERY PROBLEM YOU DO
If you are an average guy, where there are a lot of problems that challenge you, why spending time with problems that doesn't?
Problems that doesn't teach you anything? I want to learn more with every problem everyday.
USE EVERY BIT OF YOUR BODY TO TACKLE THIS PROBLEMS
In order to excel on this tough task you should make use of all your senses.
Is not only about your logical prefrontal cortex part.
Is also about you using your subconscious mind, by having things clicking automatically because you practiced them a lot
Is about using your motor skills and muscle memory to tackle stroking patterns while you are coding.
Is about being focused, is about reading well and making sure your eyesight is tight, if not get good glasses.
Use your full body and perhaps beyond that to tackle this problems, don't give anything away.
Leverage on your memory
Leverage on your attention
Leverage on your pattern recognition
Leverage on your muscle memory
Leverage on your Logical and critical thinking
Leverage on your creativity
Leverage on your rest and sleep
Leverage on your diet
Leverage on your past experience
Leverage on your notes
Leverage on your processes
Leverage on your personal habits
Again, don't give anything away. If you fail at least you gave your best and there is nothing to regret.
LONG TERM IS STILL MY PRIORITY
Long-term DSA is the best for me. I'll continue to program my life to be able to sustain the marathon.
I don't like Pausing everything and just do leetcode 24/7h. It's not sustainable at all.
I'm willing to intensify the study before an interview but on average I want to do at least one question per day.
Doing little everyday can compound to huge results if you do it long enough, and that's what I'm after.
I GOT RID OF DISTRACTIONS
I limited my exposure to social media, I limited my exposure to toxic people, I limited my exposure to toxic activities, just to have more time to practice.
This is determination. My activity pruning is not perfect but I'll continue this optimization journey, as it can give me more practice time, but also more rest time.
Most things in our life are not necessary, and doing leetcode everyday is a great motivation to prune unnecessary activities.
I FEEL LIKE I FOUND MY WAY
I felt it before, from 200 to 300, I had a glimpse of what the path should be, but it was hard to execute for many reasons that I'll soon talk about.
But Now thanks to the many small changes I did to improve my life, I can see the way clearer than ever, and avoid what can derail me from such path.
This changes put me at peace with myself. I don't care about what people think of me.
I'm feeling humble enough to tackle any question, I'm enjoying the process, I've no interviews coming, I'm happy, I'm recovering my consistency.
This feels great, this feels like daily victories, that can turn into weekly, then monthly and hopefully yearly victories.
As I'm refining my daily processes I'm getting closer and closer to a Homeostatic state of life, and it shows in my mood everyday regardless of what I have to do.
I'M ENJOYING MUCH MORE
This leads to joy...Are you enjoying leetcoding? are you enjoying DSA or CP? if you are not enjoying this it will be a very hard journey for you.
A Journey that I'm confident you will give up sooner or later.
In order to be here for the long run you will have to learn the fun side of this.
And most likely you will have to learn it yourself. learn to find joy in solving this problems and puzzles.
And you won't have to grind a single day of your study process. it will be fun day in, fun day out.
this is the utopy you should look for. Although I've became grindman I have more joy now than before.
I feel grind vibes when I'm tired from work and can only do this at night.
It happens sometimes, but I can even circumvent that with doing an easier problem..
So try to make this journey pleasant, try to frame your mind in a way that this is fun. And then it will be more easy to attend practice than skip it
AT 400 PROBLEMS I AQUIRED THE DP SHARINGAN (AND MORE)
Now I'm much more able to tell when an exercise is DP.
but I'm not always able to solve them.
I'm also much more capable to identify the tools needed to solve most problems I see.
what I miss is the implementation skills and the mind-code connection to implemented them quickly with minimal mistakes.
Either way This feels good, I'm getting into something.
IF MY PHILOSOPHY IS BETTER, MY RESULTS WILL BE BETTER
I want to overcome my past performances, And I'm confident I'm gonna do it.
The reason why I believe it is because my philosophy has gotten substantialy better.
So if I'm doing about the same amount of work, my results have to get better as side effect of my improved philosophy.
There is a direct relation between what you believe and what you get in life, and sometimes in order to improve, you just have to change your beliefs.
MAKE SURE YOU HAVE A FEEDBACK LOOP
Feedback loops are very important as they can tell you what to work on.
In your journey make sure you have 1 or 2 feedback loops to guide you in your study.
COMPETE AGAINST YOURSELF
Everyone's journey is different, don't waste time comparing your profile with other guys
You don't know their journey, they might have came from a different platform, they might have a DSA or Math background
It might be an alt account, or they might be just better than you. but at the end of the day that doesn't matter.
If you focus on improving everyday, and pay attention to your feedback loops, you will get better and that's enough for most people.
because most people are enough to achieve their goals.
EXPERIMENT DIFFERENT THINGS
If you try things always the same way and you are not enjoying the results, you have to change.
Try different things and see what suits you better.
Vary your practice, vary the types of exercises, vary the type of the implementation, etc.
in this experiments you can learn something new or find new processes that will be useful in the future.
I'm practicing experimentation much more now, and I'm enjoying every single bit of it.
I don't do it everyday, but when I feel like it is necessary I experiment.
Because at the end of the day, what's the worst that can happen?
IF YOU ARE A BEGINNER YOU HAVE ADVANTAGE OVER EVERYBODY
If you are just starting your journey you have an advantage. You have the most to learn, you can learn much more than a top guy that knows most of the things already.
Thus you can learn much more concepts than them and close the gap between your knowledge and the top guys.
Is much easier to move from 1400 rating to 1900 rating, than going from 1900 to 2400.
So don't get discourage because you are a beginner, there is a lot of things to learn that can help you improve, you just have to be consistent and work intelligently.
Albeit the 400 problems I still consider myself a beginner, a hungry one, but I'm for sure motivated with my low level of skill because I know there is a lot of room to improve.

KNOW YOUR LIMITATIONS
Know your Physical and mental limitations and create a program that works for you.
you have to take advantage of your individuality and build a program around yourself and your life.
Experiment until you find the right balance. and for that you need to know your physical limitation, mental limitations, and routine limitations
THE HIATUS WAS NEEDED
I really like problem solving, but I stopped leecoding because I had too much on my plate.
Too much at work, too much outside work, too much at home.
But thanks to a lot of adjustments I was able to make space for leetcode again.
this +2,5 years were what I needed to realize how much I love problem solving.
If it wasn't the case, I would never come back. But I did.
And now I expect to be here for a long time, with or without interviews :D
Seeing my consistency growing, true consistency (not fake submisions), makes me feel happy,
makes me feel connected with my brain, and makes me feel like I'm fighting for something greater than myself (knowledge).
This Hiatus was the second most important part of my journey.
The first most important part was starting.
but the Hiatus made me think about what's really important for me, and rethink on my approaches.
which ultimately lead to breaking with old patterns in a way I would never do without a big break.
Almost a complete rupture with the past, a fresh new start.
I'm feeling like I'm breaking through, so I'm looking forward to see how all this is going to unfold.
will this really last for a long time? or is it a short motivation burst from coming back?
will this help me land a "dream job"? will my results actually improve as a side effect of the new philosophy?
we have to wait for the next chapters
I FELT A LOT O FEAR WHEN I CAMEBACK TO LEETCODE
Fear of not doing well, fear of finding problems just too hard for me.
Fear of having regressed way more than I thought,
Fear of being stuck at mediocre level no matter what I do (I never broke 1500 contest rating)
But I pushed through, and now I feel strong and brave. I almost cannot believe I was feeling fear.
I only remembered it because I wrote about it in my journal, which I read in preparation for writting this article.
one or two months ago I was very scared, and now I feel fearless, hopeful and ready for war. This is beautiful.
MY COMEBACK IS GOING SLOWLY BUT I'M CONFIDENT
Coming back after a long hiatus (years) can be daunting
To make my comeback easier I bypassed the most common traps by:
- avoiding comparing my current self with my old performances.
- accept that my implementation skills took a hit and I'll need some time to comeback
- accept that there were things that I was more confortable in the past and now I'll have to relearned them
- accept that there were problems that I could solve in the past that I cannot solve now in the first attempt or without help
- don't compare myself with others
- focus on improving daily
- focus on consistency
- not paying too much attention to the number of problems solved
I'LL START SKIPPING 100 LEETCODE PROBLEM CELEBRATIONS
This is because I know where I'm going now and I can already foresee How I'll be at 500 problems and perhaps 600 too.
So I Estimate that I'll do my next celebration at 600 or 700 problems, but only time will tell.
The other reason is that writing this articles is very exhausting, time consuming, and takes away time from my practice.
And despite efforts I never say it all, because there are so many lessons that I have to select a small set them to share with you all.
Nevertheless to the ones who might read this, thank you so much for reaching the end.
This article comes from my heart and I believe anyone can benefit from it.
MY MOST PROMINENT WEAKNESSES RIGHT NOW
- My Debugging skills have to be improved
- My DP Skill needs to be improved
- My Binary Search is weak, In general I either miss I can use it or can't implement advanced usages of it
- I need to improve my mind-code connection so I can be faster writting a solution. I take too much time and commit too many mistakes.
- My ability to foresee edge cases took a massive hit with my hiatus, I feel like a junior developer in some cases, This was where I regressed the most.
GOALS FOR 600-700 problems
- averaging 2,5 questions per contest
- resolve my WEAKNESSES
- practice 1 problem per day
Cheers,
created at: 2024/02/14, no girlfriend though