For the past couple of years, most of the courses and tutorials promise a fairytale of becoming a full-stack developer in 2, 4, or 6 months but no one mentions the flaws with this strategy. So let's get into it.
Skipping Core Concepts
Even though many of the courses offered online do try to teach the fundamental concepts of the ongoing topic. These concepts are hurriedly explained, and they directly try to move the learner to a framework because of which many developers have no idea about how things are working. The issue on hand might not seem like a problem at the time, but later on, while developing complex applications these concepts can/will come in handy, and not knowing these concepts cause many developers to lose faith in themselves and straight-up quit programming.
The Tutorial Hell Circle
Before discussing this problem let's just define tutorial hell so we are on the same page.
Tutorial hell is when you continuously keep on watching tutorials one after another and so on and you feel like, you are learning a lot of things and building some good projects. As soon as you start doing something on your own, you get to know that you don't know anything.
So, why do these courses cause a tutorial hell circle? Well, because these courses are pushing the learner to learn multiple things at once and skipping multiple core concepts while teaching these technologies, moreover, the project-based courses convince the learner that he is doing well and learning new technologies at a good pace all while they hide a real-world element from the learner causing the said learner to overlook the complexities that they might face while building an application by themselves. Therefore, when a graduate of any of these courses tries to implement something by themselves, they find that they do not understand or are unable to do so, hence, causing them to go through more tutorials about the same thing.
Solution
I'm not discouraging anyone from taking these courses I just want you to take your time, pace yourself, and make sure the thing you're trying to learn is as clear to you as water, even if you have to do additional research and put some extra work into it. If you think that you completely understood a topic then force yourself to do a mini-project or give yourself a scenario in which you have to use the thing you learned. Hence, allowing yourself to be in an unpredictable situation so you can counter any problem you face while developing applications on your own. In this manner, you will develop debugging skills while learning new technologies that you want to learn in an effective manner.
Disclaimer
Don't get me wrong not all people learn at the same pace or style so it might be different for you, but in my experience, most beginners are affected by this problem. Furthermore, I do want to clarify that I have nothing against any course free or paid I just want to point out some of the problems that I have seen over the years.
Thank you for the feedback.
Perhaps I wasn't clear enough while conveying my point because when I was writing the post I was thinking about how many courses move from HTML/CSS to React/Vue/Angular in 10 minutes, causing the learner to prematurely move from basic level to a framework and at the time it might not feel like you're not learning enough because you're coding along a project but later when you code something on your own it gets to you.