I'm a full-stack developer skilled in Java, Spring Boot, Angular, React, and JavaScript, but I've been putting off diving into Data Structures and Algorithms (DSA). I can manage to build production apps, but I find myself freezing up when faced with problems on LeetCode. I'm curious about where to actually begin with DSA. Should I go with a book, an online course, or just jump straight into solving problems on LeetCode? I've seen mentions of resources like NeetCode, Grokking, and CTCI, but I'm not sure which ones are truly worth my time, given that I already have experience building real projects. Any advice on a roadmap or resources that worked for you would be really helpful!
3 Answers
I'd suggest diving into NeetCode's free YouTube series first; just follow the videos in order. After that, try their medium-level problems on LeetCode. Since you already know how to code, it’s all about recognizing the patterns rather than needing detailed guidance. That freeze you feel is just a lack of familiarity, not a skills deficit. Books can be helpful, but often they just serve to delay getting into hands-on problem solving!
One great resource is a book our professor recommended that can be found online. It’s a solid alternative if you find textbook explanations a bit tricky. Also, check out MIT's open courseware; they offer tons of free computer science lectures that include assignments and solutions without the grading pressure. This way, you can learn at your own pace and see real academic content.
Thanks! I'll check it out!
Remember that DSA are language-agnostic concepts. Once you wrap your head around the fundamental ideas, implementing them in any language becomes a lot easier, and you’ll also understand their pros and cons. A sound grasp of DSA is beneficial for every programmer, not just for coding them from scratch but for recognizing when to use built-in DSA or libraries in your chosen language. Websites like NeetCode and LeetCode are great for applying DSA concepts and prepping for interviews, so don’t shy away from them!
Thanks! I'll definitely take a look at that.

Thanks, mate! I’ll look into that.