O que eu preciso aprender primeiro?

Essa é uma dúvida muito comum que eu vejo em comunidades de alunos universitários!

Isso porque a vida acadêmica ensina pouco ou quase nada do que realmente é necessário para se tornar um programador.

Para responder essa pergunta eu resolvi escrever esse post.

A primeira coisa importante que todo desenvolvedor deve aprender não importa a sua Stack é a usar Linux e aprender o básico sobre linha de comando, a única exceção para essa regra é se você deseja ser desenvolvedor C# .NET. Outra coisa muito importante de se aprender é versionamento de código com Git/Github. Seja qual for a sua escolha no mundo do desenvolvimento esses conhecimentos são os mais básicos que se deve ter para iniciar sua carreira.

Escolher uma Stack, e focar nela é uma boa opção, não fique pulando de linguagem para linguagem! Foque em aprender bem uma única depois de alguns anos de experiência nessa linguagem você pode se dar ao luxo de aprender outra. No mundo do desenvolvimento você deve estar sempre aprendendo algo novo e se ficar pulando de tecnologia em tecnologia você nunca saberá fazer nada, não tente aprender tudo sobre tudo isso é impossível.

É interessante também saber um pouco de docker, como desenvolvedor você vai ter que testar diferentes bancos de dados, ou até mesmo ambientes de desenvolvimento que rodem n linguagens o docker vai te ajudar a configurar seu ambiente sem deixar resíduos de instalação.

Tente sempre aplicar a regra do 80/20 20% do esforço para aprender algo que seja utilizado 80% das vezes

Eu sugiro assistir um pouco desse vídeo sobre esse assunto que o Fábio Akita fez muito esclarecedor

Conhecimentos Básicos para Iniciantes em Programação

Aqui vai também um artigo com um mapa de tecnologias para aprender bem interessante:

Roadmap