I've been in web development for about three years, but if I count only the hours I've actually studied, it feels like just a year due to burnout and juggling a full-time job. I'm looking for advice on how to enhance my skills in problem-solving, breaking down projects, and knowing when to use different libraries or frameworks. While I understand that data structures and algorithms (DSA) are important, I feel they aren't really necessary for web development right now, apart from basic concepts like Big O and recursion, which seem more relevant to performance than to the initial building phase. I've created around 30 GitHub apps that I consider done, but I often find myself stuck and resorting to Google for help, which makes me feel like I'm just copy-pasting instead of actually learning. I want to get better at analyzing and breaking down problems before seeking external help.
3 Answers
Ultimately, the simplest answer is to just practice more. Work on your existing projects to improve them rather than moving on too soon. Try to think of ways to improve what you've built instead of seeing it as complete. Also, as you deal with larger projects, you'll see how DSA plays into performance and functionality more than with smaller ones. Challenge yourself with upgrades and enhancements to deepen your understanding and application of coding concepts!
It sounds like you're underestimating the importance of data structures and algorithms in web development. Knowing the practical applications of algorithms can really save you time in problem-solving, and recursion isn't just for optimization; it can be a handy tool for various problems. To improve, start writing more code without immediately Googling solutions. Allow yourself to struggle a bit before seeking help—that's where real learning happens!
Thanks for the insight! I’ll definitely give that a shot. It’s just tough when I feel stuck and want to make progress quickly.
The key here is practice! It seems like you're bouncing between small projects. Try sticking with one app and really flesh it out. Take one of your GitHub projects that you like the most and keep enhancing it—add features, improve the design, or even change the architecture. You'll learn a lot more when you're trying to scale it up. Don't shy away from making mistakes while trying new libraries or frameworks—every misstep is a learning opportunity. Plus, DSA becomes more relevant as your projects grow, so the bigger your project, the more you'll see its necessity.
That's solid advice! I built a pomodoro timer and a workout app, but I guess I'm quick to call them finished. I need to push myself to keep iterating on them.

Thanks! It definitely makes sense—I'm realizing that I might need to think differently about what it means to finish a project.