Skip to main content

Command Palette

Search for a command to run...

Milestone: 1 year of leetcode

Updated
3 min read
Milestone: 1 year of leetcode
A

Senior Backend Engineer

1 Year on LeetCode: Lessons, Struggles, and Growth

Exactly one year ago, I made a commitment — to open LeetCode daily, without excuses, and start solving problems that once made me uncomfortable. What started as a casual attempt to improve my DSA skills has become one of the most consistent habits I’ve developed.

Today marks 365 days of learning, struggling, failing, debugging, and growing. Here's what the journey has looked like, what I learned, and what I wish I knew when I started.


Why I Started

Like many developers, I was familiar with the basics of data structures and algorithms — arrays, trees, hash maps, dynamic programming. But interviews at top companies are a different game. I needed consistency, confidence, and clarity.

LeetCode offered a structured and measurable way to build those skills. It felt like the gym for my brain — and I wanted to show up every day.


Lessons Learned

1. Consistency Beats Intensity

You don't need to solve 5 problems a day. Solve one — but understand it deeply. The compound effect of daily effort is real.

2. Hard Problems Are Teachers in Disguise

Some problems took me hours. But those were the ones that taught me why an approach worked (or failed). If you’re struggling, it means you’re learning.

3. Patterns Are Everything

After 100+ problems, patterns start to emerge:

  • Sliding window for subarrays

  • Two pointers for sorted arrays

  • Recursion with memoization for DP

  • Hashing for fast lookups

Once you recognize the pattern, the problem becomes familiar, not frightening.

4. Editorials and Discussions Are Gold

Reading others' approaches changed my thinking. It made me write cleaner, more optimized code — and sometimes, taught me simpler solutions I overlooked.

5. Debugging is a Superpower

LeetCode helped me trust my code. I became faster at finding bugs and understanding edge cases. It’s an underrated benefit of daily practice.


What I Wish I Knew Earlier

  • You don’t have to do everything in order. Jump around. Try new tags. Challenge yourself.

  • Read problem statements carefully. Most WA (wrong answers) come from misreading the constraints.

  • Don’t avoid hard problems. Attempt them — even if it means failing. That failure is part of the growth curve.

  • Use a notebook or Obsidian/Notion to record insights. Rewriting the logic in your own words helps retention immensely.


My Toolkit

  • Language: Java

  • Visualization/Dry run: Physical notebook, Excalidraw

  • Platform: LeetCode + some occasional practice on Codeforces & GeeksforGeeks

  • Tracking: Google Sheets + LeetCode Stats + Obsidian Notes


Final Thoughts

One year on LeetCode didn’t just make me better at solving problems. It:

  • Sharpened my thinking

  • Improved my coding speed

  • Boosted my confidence in interviews

  • Made me a more thoughtful developer

To anyone thinking of starting — start today. You don’t need to go fast. Just don’t stop.

Here’s to another year of curiosity, code, and continuous learning.