Uma das melhores coisas que você pode fazer ao iniciar no mundo do desenvolvimento em TI é um Curso de Algoritmos. Ele vai te dar a base para entender como funcionam estruturas básicas do dia a dia do desenvolvedor, como:
- Variáveis
- Blocos de código
- Escopo
- Condicionais
- Loops
- Como resolver problemas usando código
- Entre outros...
Depois disso, recomendamos fortemente que vocês resolvam problemas de algoritmo, em sites como:
Para o leetcode, recomendo conferir esse roadmap. Nele, são fornecidos os exercícios fundamentais do para uma boa base de algoritmos, e que seguem uma ordem de dificuldade de conteúdo.
Não é obrigatório, mas qualquer nível de inglês que você tenha vai te ajudar muito. Inglês te permite ler a documentação oficial de linguagens, frameworks e tecnologias em geral, que nem sempre são disponibilizadas em português, e isso faz parte da rotina diária de um dev.
Por fim, não é obrigatório, mas é interessante que se saiba um pouco sobre metodologias ágeis, como o SCRUM.
Em poucas palavras, você deve ser capaz de:
- Aceitar tarefas
- Respeitar prazos
- Saber pedir ajuda, mesmo que isso resulte em uma extensão do prazo
- Comunicar seus problemas de maneira clara e efetiva
De maneira simples, desenvolvedores backend são aqueles que trabalham com o que você não vê acontecendo. Para trabalhar nessa área, alguns requisitos são:
- Ser fluente em Javascript (isso não quer dizer saber tudo, e sim ser capaz de resolver problemas usando javascript)
- Aprender Node.js (runtime que permite executar javascript fora do navegador)
- Familiarizar-se com SQL e PostgreSQL (banco de dados relacional)
- Conhecer a arquitetura de software MVC
- Aprender sobre testes manuais e automáticos
- Aprender como usar o Jest (framework de testes do javascript)
- Dominar HTML, CSS e JavaScript
- Aprender um framework frontend como Angular
- Aprender a criar e analisar documentos de requisitos
- Desenvolver habilidades de comunicação e colaboração em equipe
- Compreender o ciclo de vida do desenvolvimento de software
- Aprender Python
- Ter uma visão geral sobre ciência de dados
- Compreender modelagem de dados e normalização
- Aprender linguagens de consulta SQL
Ótimo, mas o mundo do desenvolvimento é vasto e você pode ter certeza que isso que destacamos é apenas o mínimo para você poder começar a contribuir com um projeto. A partir daí, muitos outros desafios vão surgir, e nós recomendamos os seguintes materiais para aprofundar seus estudos:
Esse site contém trilhas para vagas específicas por tecnologia, com alguns conteúdos introdutórios para cada tópico.
Esse site contém trilhas para as vagas descritas aqui e muitas outras, como desenvolvimento mobile, por exemplo. As trilhas são bem completas e te dão uma visão geral excelente sobre o mundo do desenvolvimeto e sobre as áreas específicas dele.