I didn’t realize I was starting a 1.5-year journey when I opened my first LeetCode problem.
It didn’t start with motivation.
It started with… curiosity.
There was no plan, no roadmap, and definitely no idea that I would still be doing it a year and a half later.
It started very simply. I had just created my LeetCode account, and like most developers at that stage, I was trying to figure out where I stood.
Global rank: ~6,000,000.
Yeah… not exactly inspiring 😅
I remember thinking it was almost funny. Not in a bad way, just… far. Like starting a game from the lowest possible level without really knowing the rules.
So I did the only thing that made sense at the time. I opened a problem.
And recently, something arrived that made me reflect on that entire period differently.
BTW, I already shared another part of my journey in my previous article about my 373-day consistency streak, but this one is slightly different. It’s not about streaks or badges. It’s about something quieter, what happens after you’ve been doing it long enough that it stops feeling like a “challenge” and becomes part of your routine.
When Nothing Feels Serious (and That’s Exactly Why It Works)
At the beginning, nothing felt serious. I wasn’t grinding, and I wasn’t tracking anything. Some days I solved 3 problems; other days I stayed stuck for hours on a single one. It was completely casual.
But something subtle happens when you keep coming back to the same thing. Even if it’s irregular. Even if it’s messy.
You start recognizing patterns.
At first, every problem feels like a new language. You read it, you stare at it, you try random things, and eventually you check the solution and think: “I would never have gotten that.”
And you’re right. You wouldn’t. Not yet.
The Slow Shift You Don’t Notice Happening
What I didn’t realize at the time is that nothing changes suddenly in LeetCode. There is no moment where you wake up and feel smart. Instead, there is a long stretch of confusion where things slowly stop feeling completely foreign.
A tree problem that once felt impossible starts looking familiar. A dynamic programming question still hurts, but at least you know where to begin. You start failing less because you understand more, not because the problems get easier.
And somewhere in that process, without noticing, consistency replaces motivation.
A Small Package That Made Everything Feel Real
About a year and a half later, something arrived at my door.
The LeetCode kit.
Inside it:
- a T-shirt 👕
- a keychain 🔑
- a coaster ☕
- a sticker sheet 🎴
It sounds simple. Almost too simple to matter.
But it did matter.
Because it wasn’t about the items themselves. It was about what they represented, not a milestone, not a rank, not a badge… but time.
Time spent showing up. Time spent failing. Time spent returning again and again without knowing if it was “working” or not.
And somehow, seeing that package made everything feel real in a way numbers never did.
Around the same period, I checked my profile again.
My rank had moved from ~6,000,000 to ~26,000.
No celebration. No big moment. Just a quiet realization that something had shifted over time, even if I never noticed it happening day by day.
The Weird Relationship I Developed With Badges
At some point during this journey, I realized something slightly embarrassing about myself.
I really like badges.
Not in a “this is useful for my career” way. More like… I see a badge and my brain goes “yes, give me that shiny thing” 😄
Right now, I have 37 LeetCode badges, and I’ve somehow turned collecting them into a side hobby I didn’t plan for.
The most “serious” one so far is the 500 Days badge, which I honestly didn’t expect to care about… until I got it.
And then I cared a lot.
It’s funny how something so small on the screen can feel like a small checkpoint in your life. Not because it changes anything externally, but because it quietly marks the time you spent showing up when nobody was watching.
Of course, I didn’t stop there.
I’ve basically turned my GitHub README into a small museum of achievements, LeetCode badges, streaks, little milestones… all sitting there like trophies nobody asked for but I proudly display anyway 😄
And yes, my dev.to badges are there too, because at this point I’ve fully accepted that I am the kind of person who enjoys collecting digital stickers.
It’s slightly ridiculous.
But also kind of motivating.
Every time I see them, it reminds me of something simple: I didn’t get here in one jump. It was just a lot of small days stacked together.
1040 Problems Later, It Was Never About the Number
The number of problems I solved during that time crossed 1,000, eventually reaching 1,040.
But the number itself doesn’t really matter. What matters more is what happens to your thinking after a few hundred problems.
Most of those problems were solved using JavaScript, Python, and MySQL, and over time, each language started teaching me a different way to think.
At some point, you stop panicking when you see something unfamiliar. Not because you know the answer, but because you’ve been stuck before and survived it. You learn that being stuck is not a special state; it’s just part of the process.
You also start noticing that improvement is not dramatic. It’s quiet. It shows up in small decisions: how you break down a problem, how quickly you recognize a pattern, how often you avoid going in the wrong direction.
The Days That Felt Slower (But Never Stopped)
There were also periods where progress felt like it slowed down.
Some days I would sit in front of a problem for a long time and not get the solution immediately. Other days I would solve problems quickly, just to keep momentum. And sometimes I would spend more time thinking deeply about a single problem than actually writing code.
But one thing never changed: I solved LeetCode problems every single day.
The consistency was never in question; what varied was the experience of each day.
And that’s probably the part people don’t talk about enough. Consistency isn’t always about intensity or output. Sometimes it’s just about showing up every day, even when progress doesn’t feel dramatic.
When Problems Start Looking Familiar Instead of New
Around the middle of this journey, I started noticing something interesting about memory. Not memorizing solutions, but recognizing shapes of problems.
You stop thinking in terms of individual questions and start seeing patterns: this feels like a graph traversal, this smells like dynamic programming, this can probably be reduced to a greedy choice.
It’s not instant. It builds slowly, almost invisibly, until one day you realize you’re thinking differently than before.
The Quiet Shift From “Solving” to “Understanding”
There is also a strange psychological shift that happens when you do something long enough. At the beginning, you measure progress in correctness: Did I solve it or not?
Later, you start measuring it in understanding: Did I learn something new, even if I failed?
That shift matters more than any ranking change.
A Small Tool That Helped Me See Patterns
At some point during this journey, I found a tool created by my friend @extinctsion called NeedCode. It is an AI-based platform that analyzes your LeetCode profile and helps you identify strengths, weaknesses, and learning directions. It was interesting to think about patterns I might have missed myself.
The Real Change Was Never Visible in the Rank
Now, looking back, I don’t think the most important thing was solving 1040 problems or moving from rank 6,000,000 to 26,000.
The more important change is simpler.
I stopped seeing problems as threats.
They became something closer to puzzles I’ve learned how to sit with, even when I don’t immediately know the answer.
And maybe that’s the real outcome of all of this: not becoming someone who always knows, but someone who doesn’t immediately quit when they don’t.
If You’re Just Starting, This Is the Only Thing That Matters
If you’re just starting out, or if you feel like you’re not improving fast enough, I don’t think the solution is to push harder.
It’s probably just to stay in the process long enough for it to start making sense.
That’s really all this was for me.
Not a transformation.
Just time passing… with problems in between.
| Thanks for reading! 🙏🏻 I hope you found this useful ✅ Please react and follow for more 😍 Made with 💙 by Hadil Ben Abdallah |
|
|---|



Top comments (32)
This matters to me:
It goes with anything you do as a developer and a good mindset to have. If you succeed, did you learn something. If you fail, did you learn something? Learning gives you growth and that what matters and what makes you stand out. If you didn't learn anything whether you won or lost, then you are not making progress. You are measuring your ego than what matters in life, which is constant improvements to yourself and the things you want to learn.
I hate when someone try to prove they are right and being egotistic (even I fell victim to this). Trying to get good scores or showing off while ignoring on what really matters. I am glad you made progress on LeetCode and transparent on what you are feeling. Makes a lot of people understand you more clearly and knowing that as long as you learn something, than it weights more than how many completion problems you have. Quality over quantity!
Great work :D
Thank you so much 🙌🏻
I honestly agree with you. At some point, learning becomes a much healthier metric than “winning” or being right all the time.
And yeah… ego sneaks into learning way more easily than we like to admit 😄 I’ve definitely fallen into that trap too.
Really appreciate you taking the time to write this. The “quality over quantity” part resonated with me a lot.
The 'quiet progress' is such a real concept. Going from 6 million to 26k isn't a fluke.
Thank you so much Syed 😍
That’s honestly why I called it “quiet progress”, because while it’s happening, it rarely feels dramatic at all 😄
Most days just felt like “solve a problem and move on,” but over enough time, those small days really do stack up.
Consistency is key. Your post is proof of that.
Great work! You can be proud of these accomplishments.
Thank you so much, Julien 😍
Honestly, consistency ended up mattering way more than motivation for me. A lot of the progress happened so slowly that I barely noticed it day to day 😄
This article felt very real and relatable.
More than solving 1040 problems or the huge rank jump, what stood out most was the mindset shift you described: problems no longer feel like threats, but something you can patiently work through and learn from.
The part about badges was also refreshingly honest 😄
Sometimes those small rewards are exactly what keeps us going.
I think this piece captures an important truth about programming growth: real progress is usually quiet and built through small daily repetitions, not sudden dramatic breakthroughs.
Thank you so much 😍
That “quiet progress” part is exactly what I didn’t notice while I was in it; only looking back does it become obvious.
And yeah, the badges thing is probably more emotional than I’d like to admit 😄 They somehow turn abstract progress into something you can actually see.
Glad it resonated with you!
This article is really great!
And thanks for mentioning needcode.in
I hope students and professionals prepping for interviews will get advantage in their interviews.
Thank you so much, Aditya 😍
NeedCode is really amazing, and I'm sure it will be helpful for too many developers.
Congrats on the amazing journey, digital badges and the packages. Loved your hardwork and dedications.
Keep growing and shining. I need to see you at rank 1000 haha. You should start tutoring DSA now and make everyone DSA experts.
Haha I appreciate this a lot 😄
Rank 1000 sounds wild right now, but I’m just taking it one problem at a time like always.
And about tutoring DSA… I’m still very much in “learning mode” myself 😅, but I’d love to share what I learn along the way in a simple way that actually helps people.
Thanks for sharing this approach! The diagrams really help visualize the concept. One thing I'd add: measure everything in the early days, even if it feels overkill. For indie hackers focused on user acquisition, finding the right audience is crucial - Rixly automates prospect discovery so you can focus on building.
That’s actually a really good point 🙌🏻
A lot of people skip measurement early on because it feels unnecessary, but patterns become much clearer when you have real data instead of just intuition.
And yeah, audience discovery is honestly one of the hardest parts for indie hackers. Building is usually the fun part 😄
It is definitely inspiring ,I am coding mostly frontend and afraid of losing my capacity of coding backend and algorithm skills. Also I believe the more agents we use the rustier we get. This feels like a good peptalk to me, great article 🤩
Honestly, I relate to this a lot 😄
It’s so easy to stay inside one area for too long and slowly feel rusty in others, especially now with AI agents handling more and more for us.
That’s actually one reason I kept doing LeetCode consistently, not just for interviews, but to keep my problem-solving muscles active.
Really happy the article felt motivating to you 😍
I do find this very interesting. You're clearly a talented problem solver to complete some of those puzzles, but I wonder if you could have learned as much, just by finding a project on GitHub to get involved with, while at the same contributing to something real. There are some great projects out there that truly could use the help.
I agree that contributing to real-world projects teaches a very different set of skills, especially around collaboration, code quality, and dealing with real constraints.
For me, LeetCode was more about building consistency and strengthening pure problem-solving, but I don’t see it as “better” than project work at all, just a different kind of practice 😄
In reality, both together would probably give the most balanced growth.
1040 problems is impressive, but I keep thinking about the time cost of finding what actually works. In my experience, the biggest unlock wasn’t the practice itself — it was the people who pointed me in the right direction early. One good conversation with someone who’s already made the mistakes saves months of wrong turns. The rank improvement probably happened faster once you found the right communities, not just the right problems.
That’s a really fair point.
I agree, the “right direction” early on can save a lot of unnecessary wandering. I definitely had moments where I was just grinding without much structure at the beginning.
And yeah, being part of communities where you see how others think probably helped more than I realized at the time 😄
In the end, it’s rarely just repetition; it’s repetition + better feedback loops.