The proportion I find to be good is as follows:
Programming concepts 20%
Object Oriented programming 20%
JQuery, Angular, Ember, Vue, Svelte, or React 10%
Functional programming 5%
State management 5%
JS DOM interaction 2%
You can notice that most of the time should be spent on core programming concepts. CSS is underestimated while it is very powerful. It is worth to spend substantial time to learn it in and out.
There is also a merit to spend some time to learn a framework / library.
You can also notice I didn’t include CSS frameworks because I don’t find too much value in learning them. It is nice to use them, but with limited time to learn everything it is the least important thing.
And yeah, BEM is listed because eventually I find it useful. 2% of time is a little bit too much.
If you have questions post them below.
And if you want to read more about how to become 10x developer, follow me!