What's the developers' evolution?

Newcomer: Just read the HTML manual
Beginner: Knows Photoshop, watched some video aids, created a crude website
Worker: if one wants to develop, he has to go to some good studio and learn to do it properly. The code can be released.
Expert: Is great at solving typical tasks, thinks up new tidbits, becomes a «guru».
Engineer: Solves not typical, but new tasks. Engineering mindset combines advanced mathematics with mastery in computer science. And it's almost impossible to learn that by oneself: one has to «upgrade» himself at a university for several years.


Proportion
As a rule, there are more workers than engineers in any industry. IT is the same: about 10% of people in the field know complex instrumentation like high-level mathematical abstractions, and the remaining 90% are standard developers.
Therefore, there are not many tasks that call for advanced knowledge. Also, as soon as a new engineering task is solved, it automatically becomes typical or even solves a great haul of similar tasks. This is what happened to React: the developers solved a very complex task, so a whole wave of applications tasks followed.

Where to study?
They train engineers at universities. But it's not always simple: a university can't offer the same wages as industry does. Also, they lack time, as they have to train a whole bunch of students. Still, if one has talent, he'll learn how to solve typical tasks, be it universities or companies that train him. The latter often open affiliated degree departments. Hence, there's no lack of engineers.
So what about «workers»? They don't train laborers at universities. And in schools, they train children for the Unified State Exam. So, such professionals emerge from… self-education. And it actually works.

How to transfer knowledge?
First step: Text is the best format. Video is a waste of time. And you surely can't scan it. So, it's better to have some basic textbook that'll give you the basics. You can fill any gaps later with the same videos or articles later.
How to check your knowledge? Take some theory, study it, then reinforce what you’ve learnt. There are 300 free tasks in the HTML-Academy textbook that can give you the fundamentals.
Step two: a study project. For example, we have a layout for a barbershop website. During the last few years, several barbershops asked for our services.
Step three: an attempt at writing the code. It'll be easier to do that during a course with step-by-step demonstration.

Step four: we check knowledge of typical tasks using a student's personal project that has the same requirements as a study one. But there's one difference: the student makes it from scratch. How to check? We go to testers and use all kinds of tests.
We did a course on web-programming on ITMO's «Open Education» platform. A student gets the layouts, converts them, uploads the results into the system, and it checks everything. There are several modes of comparison. It may be impossible to check the quality of solutions, but it’s still good for checking the ability to solve typical tasks.
Courses allow to detect mistakes when making layouts, and correct them. If you already have the experience — make your own basic interactive textbook, pick an instructor. Then you might as well earn your first million.