Cara, a resposta pra isso é simples: estude. Mas não vá atrás desses cursinhos de internet que não te levar a lugar nenhum. Estude computação de verdade.
Estude algoritmos, tecnicas de melhoria de código. Você sabe resolver o problema de ifs aninhados com guard clause? Sabe como escrever funções recursivas e quando utilizá-las?
Estude estruturas de dados. Você sabe o que é um grafo? Que uma árvore é um subcaso de grafo? Sabe pra que usar uma heap?
Estude banco de dados. Você ser frontend é só o cargo que você desempenha no momento, pois um profissional da computação deve sim entender como um banco de dados opera. Sabe em que situações usar chave primária composta? Sabe o que é um índice? Como normalizar uma tabela?
Eu poderia continuar a fio falando de cada subárea dentro da computação mas o importante já disse: vá estudar.
Usar um framework não é para você aprender a programar, mas para você que já sabe como resolver os problemas apresentados, poder ter um conjunto de ferramentas que te auxilie a fazer isso de maneira eficiente.
O que eu de fato recomendo é entrar em uma faculdade de ciência da computação, onde você verá cada uma dessas coisas e mais, mas sei que nem todos tem tempo.
Caso você não de fato consiga e queira seguir autodidata, entre em um site de faculdade e pegue as ementas das matérias. Lá descreve tudo o que é visto no semestre de cada disciplina e a bibliografia utilizada. Procure faculdades renomadas como USP, UFSCar, UNESP, etc.
Aqui seguem as ementas das disciplinas da faculdade que eu fiz: https://drive.google.com/drive/folders/1WFeb58HzCHmoe6BXgAkrSOx_sMHCrjQH.
Bons estudos