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:

https://www.amazon.com.br/Aprendendo-intelig%C3%AAncia-instru%C3%A7%C3%B5es-c%C3%A9rebro-estudantes/dp/8576572052

https://d1wqtxts1xzle7.cloudfront.net/52470585/aprendendo_inteligencia-with-cover-page-v2.pdf?Expires=1669419078&Signature=WRCl6r37bHdIlS9Pn-E5oCgBoRYMG2tvoPcaSXBbhrXxuxyOOM3PU7UzWcNMMqaDQElJ~n62HwM-rzzF8M7yToTN08BTqmrgHJUJgk~WlGdIEkASNec1W14sTIJ2L33hTxAEXWiZd5bzdptNiJEPUp2vBCkR21Ome21q3GjnfVjdU7w~Jkrk8fhBGWqmYOg94~lyCq-~bZUR82Z2LHSgheU4A6TVzhvTeHhPIf9mQWTBjLtkZt5-H6IxYTBCRtc75ClatE4jdQ50O8JapsajzWthKdE0t6UAOg7pvw7inMmVydJsq9o3BCemhcSCHtlOghEtuLfVdl3zWOkjReSvVg__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA