Na minha visão, aprender a programar depende muito da maneira que você aprende em geral, por isso aqui vou falar da minha experiência. No início, era muito dependente de cursos e assistia muitas aulas - mas da maneira incorreta - e absorvia pouco o conteúdo passado pelos professores.
O primeiro curso que me apresentou uma metodologia diferente foi o cs50x. (o curso é em inglês, mas existem versões traduzidas, só dar um google por cs50x br)
Esse curso é baseado em desafios e suporte no discord. São vídeos de algumas horas de aula e depois das aulas você realiza desafios de código para reforçar o aprendizado. Os exercícios muitas vezes são difíceis, mas o suporte no Discord e a comunidade ajudam muito. Me ajudou a entender a base e os princípios da programação antes de escolher minha área de atuação ou entrar no mercado.
Pessoalmente acredito que a base permite uma expansão pra qualquer área, então não é necessário escolher já e você pode experimentar várias coisas.
Saindo do tema cursos, a prática ensina muito bem. Crie projetos aplicáveis que te interessem e aprende na tentativa e erro. Muitas vezes isso é mais difícil e cansativo, mas pode funcionar muito bem.
O mais importante é aprender o seu jeito de aprender.
Caso se interesse mais sobre o assunto: