The good news is that your learning process can be improved by making better decisions and approaches to learning. The bad news? Well, it won't happen on its own. The only person who can change all this is you.
1. Rushing Through Concepts
Once you begin to understand concepts like closures or higher order functions, it's almost never a good idea to skip to the next lesson without some hands-on experience first.
But it may be super tempting to move on to the next subject, I know. It happens to everyone. But believe me, if you spend some time hands-on coding in between, even for just five minutes, it will help you to have an easier time building projects in the future. Often the feel of coding a concept is what will stick to your mind and help you to remember things in the long run.
If you do end up rushing through concepts you'll end up forgetting and searching through old materials in attempts to refresh your memory. When this happens, it can be awfully discouraging as you're losing valuable time when you already "learned" this before. Then those negative thoughts start to pile up in your head.
And that's important, because people often say they quit their programming career due to insufficient time.
When you feel like a concept is a piece of cake to you, you should be ready to move further!
2. Not Owning Your Code
A common thing I still see today are people becoming too dependent on other people's work--whether this is copying another person's file from a tutorial or using the lodash library to do everything. While there's nothing wrong with using lodash for a lot of your tasks, you can also be setting yourself back in the long run if you haven't applied many of those concepts yourselves yet. The concepts is what will stick to other tools/frameworks/languages because they're ways to think in programming.
This is the reason why a lot of interviews still give coding challenges. They want to see how you think or how you apply concepts to common problems in development. You can be using component libraries alone to make the best looking user interface while making lodash handle applying the algorithms for you, but when problems arise they need you to be ready to apply concepts and solve them. They don't look forward to npm installing another library to solve their problems. They need you.
You don't want to end up in situations where you're having hard times applying concepts you've already learned. So it's a generally a good idea to take a bit of your time to practice them on your own. Own your code!
3. Overthinking Everything
But I don't think I've seen anyone say that it was the way to learn and become better. Yet we seem to have the urge doing that because we desire having all the information in front of us so we feel set for the rest of the year.
It's all in your head.
Don't get too caught up in the act of gathering 80 tutorials, 6 ebooks, a collection of over 50 bookmarks of resources, and attempting to start tackling them down together for as long as you feel like the king of web development.
4. Overwhelming Yourself With Too Much Information
When you're spending lots of your time taking in information instead of coding in between, you're actually setting yourself up to forget and come back to the material later.
A scary place to set yourself in is spending all this time learning because you feel like your learning. But what happens a couple of months later when you end up forgetting? You'll find that for some reason you're unable to apply the concepts and material you've learned months ago.
If you need advice, spend at least fifteen minutes coding for every one hour of consuming information.
5. Comparing Yourself To More Advanced Developers
When you compare yourself to others you're actually not thinking about how they got there--instead of you're just thinking about where they're at now.
When people look at successful programmers like Dan Abramov they would automatically assume their learning process began with writing clean code from the start.
Just keep focusing on what you're learning in the present and you'll continue to get better as you go. Soon you'll end up being in a position where people start wondering about how you got there.
7. Not Splitting Concepts To Smaller Pieces
By taking small steps and encountering a concept that isn't making sense to you, it will be a lot easier for you to get assistance because you'll already have the topic narrowed down.