SyrQ, o que eu vou te responder não está ligado diretamente com sua pergunta, mas pode ser de grande ajuda. Aproveitando que, como você mesmo disse, irá fazer algumas correções na rotina e nos estudos, e pelo que entendi você é jovem. Aproveite e avalie a sua base, os fundamentos. Pode ser que você já tenha as bases bem sólidas, mas caso não tenha, invista nisso também. Muitas pessoas aprendem a programar em alguma linguagem, até aprendem a criar uma aplicação com essa linguagem em algum curso ou tutorial. Mas quando precisa desenvolver alguma solução sozinho, ou aprender alguma tecnologia nova, por conta de buracos de entendimento nos fundamentos (de computação, da linguegem que usa ...) acabam travando e estagnado. Então, aprender novos conceitos fica muito mais complicado e lento. Digo isso porque eu mesmo já fiquei muito tempo em um ciclo estagnado sem conseguir evoluir por conta dos fundamentos estarem deficientes. Quando eu tive essa sacada e fui dedicar um tempo na base, tudo começou a ficar mais claro. Aprender novas tecnologias e conceitos ficam muito mais fácil e rápido quando se tem uma base sólida. Digo isso, porque assim como eu fiquei, muitas pessoas ficam travadas tentando aprender novas tecnologias para aplicar para vagas de emprego com listas de requisitos gigantes, mas esquecem de dedicar tempo nos fundamentos. Quando se tem uma boa base, tudo fica mais fácil e rápido de aprender. O tempo que se economiza com isso também é imenso!
Quando digo fundamentos quero dizer a base da computação, os fundamentos da linguagem que você usa (vejo muita gente aprendendo Java por exemplo, que é orientada a objetos, mas não sabe o que é herança e polimorfismo) e etc...
Como eu disse, pode ser que você já tenha os fundamentos, mas caso não tenha, corre aprender antes de tentar concluir o checklist dos requisitos das vagas de emprego. Não sou um programador experiente, mas depois dessa virada de chave tudo ficou mais fácil e acho importante compartilhar. Abraço!