From Zero to 373 Days: How Daily LeetCode Challenges Transformed My Programming Journey šŸ”„

AI Summary7 min read

TL;DR

The author shares their journey from a novice to achieving a 373-day LeetCode streak, emphasizing how daily problem-solving improved their coding skills and mindset. Consistency and starting small were key to overcoming fears and building confidence in programming.

Key Takeaways

  • •Start with small, easy problems to build momentum and avoid feeling overwhelmed.
  • •Consistency in daily practice is more impactful than occasional intense sessions for long-term growth.
  • •Embrace failure as a learning opportunity and use resources like tutorials to improve problem-solving skills.
  • •Celebrate small wins, such as badges and accepted submissions, to stay motivated throughout the journey.
  • •Focus on personal growth rather than competition, as progress defines value more than rank.

Tags

programminglearningcodingsoftwaredevelopment

When I first heard people talking about ā€œproblem-solvingā€, I had no idea what it actually meant. It was one of those phrases I kept seeing on LinkedIn posts, in tech communities, and even in YouTube videos, ā€œImprove your problem-solving skillsā€, ā€œYou need DSA to get hiredā€, and ā€œPractice LeetCode daily.ā€

At that time, those words sounded like magic formulas that only real software engineers understood. I wasn’t one of them, at least, not yet.

🧩 How It All Started

A year ago, out of pure curiosity, I decided to give this mysterious ā€œLeetCode thingā€ a try. I remember signing up for my account, just exploring the platform. When I saw my initial global rank around 6,000,000, I was shocked.

Six. Million. People.

That’s when I realized I was standing at the foot of a mountain.
A mountain that millions of coders around the world were already climbing.

It was both intimidating and inspiring. Part of me thought, ā€œThere’s no way I’ll ever move up in that huge crowd.ā€ But another part whispered, ā€œLet’s just try one problem.ā€

So, I did.

šŸŽÆ The First Steps: Solving My First Easy Problems

I started with the simplest Easy problems. I didn’t care about efficiency, big O notation, or clever tricks. I just wanted my code to work.

At first, I copied solutions from the Discuss section. I tried to understand what others had written. Sometimes I did, sometimes I didn’t. But every time I saw that green ā€œAcceptedā€ message, I felt a small spark of satisfaction.

Slowly, that spark turned into a habit.

I began solving one problem a day, sometimes two. I didn’t even realize it, but over weeks, my confidence started to grow. Those small victories built momentum.

šŸ‘¹ Facing the ā€œMediumā€ Monster

Then came the Medium problems, and... did they humble me!

I remember the first time I tried a medium problem. I stared at it for an hour, wrote something, deleted it, tried again, failed again, and finally gave up.

But here’s what changed everything: instead of quitting for good, I came back the next day. I read others’ explanations, watched a few tutorials, and tried again.

That’s when I discovered something powerful: LeetCode isn’t about speed; it’s about consistency.

Each day I solved, I wasn’t just improving my coding skills; I was training my brain to think logically, to break problems down, and to be patient with myself.

And that mindset, breaking big problems into smaller steps, is exactly what software engineering (and life) is all about.

😟 The Daily Challenge Fear

Every day, when I opened LeetCode, I saw that big ā€œDaily Challengeā€ button.

And every day, I ignored it.

It looked like a boss fight, something reserved for experienced coders. I told myself I wasn’t ready. I’d solve random problems instead and quietly avoid the daily challenge section.

But the truth is, I wasn’t scared of the challenge itself; I was scared of failing publicly. I thought, ā€œWhat if I can’t solve it? What if I get stuck?ā€

Then one day, something changed. I don’t know what triggered it. Maybe it was curiosity, maybe stubbornness, maybe just wanting to prove something to myself.

So I clicked on it.

šŸŽ‰ My First Daily Challenge

After 50 days of random problems, I decided to click that button and because I am a lucky person, the problem of that day was a hard problem šŸ˜‚. That first daily problem took me almost three hours. I tried, failed, rethought, Googled, and debugged. But when I finally submitted and saw that glowing green ā€œAcceptedā€ message, it felt different.

That day, I made myself a small promise:

ā€œI’ll do the daily challenge every day for one month.ā€

I did it šŸ’™

When I got my first LeetCode monthly badge, I can’t describe the happiness I felt.

šŸ”„ From One Month to 373 Days

One month turned into two.
Two turned into six.
And now, I have a 373-day streak on LeetCode.

Collecting badges became something I genuinely looked forward to. Each badge felt like a chapter of progress.

I used to look at those badges as something only for ā€œreal programmers.ā€ Now, they’re part of my own story.

šŸ„‡ The Day I Earned the 365-Day Badge

There’s one day I’ll never forget: the day I unlocked my 365-Day LeetCode Badge.

It might sound funny to some people, ā€œit’s just a badgeā€, but for me, it meant so much more. It wasn’t about the pixels on the screen; it was about everything behind it.

When I saw the notification pop up: ā€œCongratulations! You’ve earned the 365 Days Badge!ā€ I just sat there smiling like an idiot. It felt like I had just crossed an invisible finish line.

Every time I look at it, I remember that version of myself, the one who started scared, clueless, and unsure, and I feel proud.

šŸ“ˆ How LeetCode Changed Me

Here’s what I didn’t expect: LeetCode didn’t just make me better at solving algorithms; it made me better at thinking like an engineer.

It improved how I write code, how I structure logic, and how I debug complex issues in real projects. Even in interviews, I started noticing I could explain my thought process much more clearly.

I became more patient with problems, both in code and in life.

Before LeetCode, I used to panic whenever I faced something I didn’t know. Now, I see it as just another problem to solve, step by step, logically, and with focus.

šŸ’™ 5 Lessons I Learned After a Year of Daily Problem Solving

If I could go back and talk to my past self (the one who was scared of the daily challenge), here’s what I’d tell them:

  1. Start small. Don’t wait to ā€œfeel ready.ā€ You’ll never feel ready, just begin.
  2. Consistency beats intensity. One problem every day for a year changes you more than 10 problems in one weekend.
  3. Read, learn, repeat. Even when you fail, you’re still learning something valuable.
  4. Celebrate progress. Whether it’s one badge or one accepted submission, it matters.
  5. It’s not about competition. Your rank doesn’t define your value. Your growth does.

Hadil Ben Abdallah on LeetCode

When I think about how far I’ve come, from rank 6,000,000 to rank 62,505, from being scared to even try a daily challenge to maintaining a 373-day streak, I just realize that every green checkmark, every small win, and every solved bug all add up to something beautiful.

And if you’re reading this thinking you’re not ready to start LeetCode yet, I have one piece of advice:

šŸ‘‰šŸ» Just click ā€œStartā€

You might be surprised by what you can become a year from now.

šŸŽ Bonus Resource: Check out my article on How to Become a Monster Problem Solver: The Ultimate Guide šŸ‘¹


Thanks for reading! šŸ™šŸ»
I hope you found this useful āœ…
Please react and follow for more šŸ˜
Made with šŸ’™ by Hadil Ben Abdallah
LinkedIn GitHub Daily.dev

Visit Website