Oi, boa tarde!
Se você esta começando do zero, recomendo você fazer primeiro essa formação: https://cursos.alura.com.br/formacao-programacao
Depois disso, recomendo você a treinar muito sua lógica de programação. Existem vários sites com diversos desafios: Codecademy, HackerRank, Codewars etc
No mundo da programação, existe um conceito chamado stack, que é como se fosse as tecnologias que você adotou e que vai saber mais. Aí recomendo você definir sua stack com base nas vagas de mercado de trabalho ou preferência pessoal. Por exemplo, eu fui na linha do Java, JUnit, Spring, Postgres, Mysql etc. Cabe ressaltar aí que sua stack vai ter relação direta com a área que você escolheu atuar inicialmente: frontend, backend, mobile, devops. No meu caso, eu sou backend com um pé no devops.
Depois que você pega mais experiência, pode ir aprendendo outras stacks, mas no início recomendo fortemente que você se concentre em uma stack para que o aprendizado flua melhor. Após você estar familiarizado com sua stack inicial, as outras você aprende mais rápido.
Aí também recomendo que aprenda certas ferramentas essenciais no mundo dev, como: git, github etc.
Certos conceitos, como: microserviços, arquiteturas de software, testes unitários, padrões de projetos etc.
E por último recomendo a desenvolver soft skills, que são habilidades que, não necessariamente, tem base na tecnologia, mas que vão ajudar você a desempenhar melhor suas tarefas quando estiver trabalhando, como: aprender a se comunicar melhor, aprender a melhor forma de resolver um problema, fazer uma boa apresentação de uma idéia para algum público, saber se relacionar bem etc .