I Keep Restarting DSA. Am I the Only One?
I'm a Computer Science undergraduate, and I have a confession to make: I've started learning Data Structures and Algorithms more times than I can count.
Every time, the journey looks exactly the same. I begin with arrays, move on to strings, solve a handful of easy problems, get stuck, lose momentum, and eventually stop. A few weeks or months later, I convince myself that this time will be different. And somehow, I end up back at arrays and strings again.
It's become a cycle that I genuinely don't know how to break.
The frustrating part is that I don't actually dislike DSA. When I read a problem, I can usually understand what's being asked. Most of the time, I can even think of the right approach or explain the logic to someone else. But the moment I open the editor and start coding, everything seems to disappear. I miss edge cases, my implementation doesn't work the way I imagined, or I get stuck translating the idea in my head into actual code.
After looking at the solution, I often find myself thinking, "I knew the logic... so why couldn't I write it?" That's probably the most discouraging feeling I've experienced while learning programming.
What makes it even harder is looking around at everyone else online.
You open LinkedIn and see someone celebrating their 1,000th LeetCode problem. YouTube recommends videos promising to teach "Complete DSA in 30 Days." Reddit discussions revolve around Codeforces ratings, competitive programming, and how many questions you should solve before placements. Then you hear that some companies expect candidates to have competitive programming experience, and you start wondering if you've already fallen behind before you've even begun.
Honestly, one thing I've never fully understood is why competitive programming is considered so important for some companies. I understand that it develops problem-solving skills and algorithmic thinking, but sometimes it feels entirely different. Maybe I'm missing something, and I'd genuinely like to understand that perspective better.
Another challenge is the sheer number of resources available today. LeetCode, CodeChef, HackerEarth, Striver's A2Z Sheet, YouTube playlists, roadmaps, there are so many excellent resources that choosing one becomes overwhelming. Instead of feeling prepared, I often end up feeling stuck because I'm constantly wondering whether I'm following the "right" path.
Over time, I've started to realize that my biggest obstacle probably isn't DSA itself. It's the pressure I put on myself. I expect to solve problems without hints. I expect to write perfect code the first time. I expect to make steady progress without struggling. When those expectations aren't met, I convince myself that maybe I'm just not good enough and simply rely on AI.
But maybe that's not true.
Maybe understanding a solution and implementing it are two completely different skills. Maybe writing buggy code is part of learning how to write good code. Maybe revisiting arrays for the tenth time doesn't mean I've failed—it just means I'm still building a foundation.
I'm writing this because I have a feeling I'm not the only one who's experienced this.
If you've ever restarted DSA multiple times, understood the logic but struggled to implement it, or felt overwhelmed by the endless advice and resources online, I'd love to hear your story.
More importantly, if you managed to break out of that cycle, what changed?
I'm not looking for shortcuts anymore. I just want to stop restarting and keep moving forward, one problem at a time.
Top comments (0)