Para mim o que mais ajuda é resolver exercícios de lógica tem vários sites excelentes para isso como beecrowd e leetcode . Considero o beecrowd melhor para iniciar, o leetcode tem uns exercícios um pouco mais avançados. Sobre a linguagem, acredito que linguagens tipadas são melhores para iniciar, como C, C++, Java e até mesmo TypeScript. Acredito que entender os tipos e estruturas de dados é essencial para um programador, por isso, não começaria meus estudos com JavaScript e Python,mas isso é minha opnião, vários programadores recomendam elas para iniciar...

Muito interessante sua posição em relação às linguagens tipadas. Eu comecei pelo JavaScript e realmente senti uma deficiência quando comecei a faculdade e a disciplina de estrutura de dados tomou por base a linguagem C. As vezes é bom eu repensar e tocar meu aprendizado em JavaScript paralelo a uma dessas linguagens (acredito que continue em C).

Muito obrigado por compartilhar sua opinião.