O problema atual reside no fato de que muitas pessoas começam sua jornada de aprendizado diretamente com frameworks, em vez de construir uma sólida compreensão dos conceitos fundamentais. Tenho a sorte de ter iniciado minha jornada quando os frameworks web ainda não eram tão populares, o que me obrigou a dominar o JavaScript puro, no máximo utilizando jQuery.
Quando você se limita a aprender apenas os frameworks, em vez de se aprofundar nas bases, acaba apenas aprendendo a invocar as funções oferecidas pelos frameworks, sem realmente compreender como elas funcionam. Já trabalhei com pessoas que conheciam o React, por exemplo, mas não tinham ideia de como manipular o DOM usando JavaScript puro.
Embora seja mais desafiador dominar os conceitos fundamentais, é essencial, porque, uma vez que você adquira esse conhecimento, fica muito mais fácil aprender outras linguagens de programação que seguem o mesmo paradigma, bem como novos frameworks e bibliotecas.
Minha abordagem de estudo geralmente envolve a leitura da documentação -> vídeos no YouTube -> a aplicação prática desse conhecimento em projetos pessoais que considero úteis -> colocar o projeto online. Graças a essa abordagem, consegui dominar várias linguagens, como C#, Java (para desenvolvimento mobile), JavaScript, Vue.js e, atualmente, estou explorando o React.js.
Obviamente tenho muito a aprender, mas esse metodo é muito util para mim.