Como estudar focado para o mercado de backend?
Soltei uma pergunta no Threads ontem sobre oque a galera que já ta no mercado acha que é o basico para começar no mercado de programação hoje.
Pra quem estuda por faculdade é bem facil se perder nos muitos assuntos e acabar deixando de lado coisas importantes pro mercado e do dia a dia como Dev. Por isso eu reuni oque achei pertinente para minha escalada como dev backend java mas que pode ser util para você que é backed de outra lang.
📌 Vou soltar um outro forum sobre front depois!
1. Dominar a sua stack principal
A discursão é sobre Java mas isso se aplica a qualquer lang e a qualquer area do TI. Entender o minimo para saber criar alguma solução dentro da sua linguagem principal é crucial.
No caso do Java, dominar POO — programação orientada a objetos é bem importante.
2. Saber desenvolver e manipular CRUD
CRUD são operações basicas de Criação, Leitura, Atualização e Deleção em bancos de dados e que são importantes nesse contexto de desenvolvimento, pois o backend lida bastante com requisições a banco de dados e no geral, o CRUD é o padrão de qualquer banco.
3. Saber o minimo sobre SQL e um banco de dados derivado dele
Inevitavelmente como Backend teremos que lidar com requisições a banco e isso significa que, mais do que abstrair o CRUD dentro do POO, teremos que lidar com os scripts que atuam diretamente no SQL.
4. Saber lidar com APIs
Entender como criar e consumir APIs (principalmente RESTful) é essencial para o backend. Saber lidar com endpoints , seus métodos (GET, POST, PUT, DELETE) e as funcionalidades associadas garante que você consiga integrar o backend com outras partes do sistema.
5. Entender e tratar dados
Obviamente, lidando com servidor, sempre vamos lidar com dados pouco ou nenhum pouco tratados e para que o banco receba, precisamos saber como validar, limpar e processar os dados, tanto no envio quanto no recebimento
6. Aprender sobre arquitetura e camadas
Embora eu acredite que isso seja algo que aprendamos naturalmente conforme entendemos de projeto, entender e dominar arquiteturas de camadas e sua separação em:
- Controller: Gerenciamento de requisições e respostas.
- Service: Regras de negócio.
- Repository: Comunicação direta com o banco de dados.
e bem importante.
7. Outros pontos importantes
Além do básico, também vale a pena explorar:
- ORM (Object-Relational Mapping): Ferramentas como Hibernate ajudam a abstrair operações com banco de dados, simplificando o desenvolvimento.
- Cloud: Saber como implementar e administrar código na nuvem (exemplo: AWS ou Google Cloud).
- Git: Controle de versão é indispensável para o trabalho em equipe e para organizar seu progresso.
- Docker: Conhecimento básico para criar ambientes de desenvolvimento isolados e consisten
Claro que todas essas coisas eu acredito que aprendamos com o tempo, mas quanto mais cedo isso ficar dentro do nosso dia a dia, provavel que, melhor preparados para as vagas estejamos.
Vou deixar o link da thread completa caso alguem queira contribuir aqui ou la e alguns roadmaps.