Depois de dois anos atuando com foco em desenvolvimento front-end utilizando React, Typescript e ferramentas modernas do ecossistema JavaScript, iniciei recentemente uma transição para o universo back-end, mais especificamente utilizando Java com Spring Framework.
Neste post, compartilho as principais mudanças técnicas que enfrentei, os aprendizados e as ferramentas que estou usando nessa nova fase — tudo isso conciliando com a graduação em Engenharia de Software e os projetos pessoais que estou desenvolvendo.
🌐 De Componentes a Endpoints: a virada de chave
No front-end, minha rotina era centrada em UI/UX, manipulação de estados e integração com APIs. Agora, no back-end, meus desafios passaram a incluir:
- Lógica de negócios complexa
- Gerenciamento de dados com bancos relacionais e não relacionais
- Criação de APIs RESTful com Spring Boot
- Validação, autenticação e autorização
- Observabilidade, logs e performance
- Padronização com boas práticas como SOLID, Clean Architecture, DDD
A mudança exige uma mentalidade mais sistêmica e analítica — e isso não é simples. Mas é exatamente o que me motiva.
⚙️ Ferramentas e Tecnologias em Uso
| Área | Ferramenta/Tecnologia |
|---|---|
| Linguagem | Java 17 |
| Framework | Spring Boot, Spring Security, Spring Data |
| IDE | IntelliJ IDEA (com plugin para Spring) |
| Banco de dados | PostgreSQL, MongoDB |
| Testes | JUnit 5, Mockito |
| APIs | Swagger, Postman |
| Outros | Docker, Git, GitLab CI/CD |
🔍 Dificuldades Técnicas Enfrentadas
- Nova linguagem: O paradigma mais verboso e fortemente tipado do Java exige mais atenção aos detalhes.
- IDE nova: Migrar do VSCode para o IntelliJ foi desafiador, especialmente no início.
- Complexidade: O nível de abstração e as decisões técnicas no back-end exigem mais conhecimento de arquitetura.
- Microserviços: Entender como os serviços se comunicam, escalam e se isolam foi (e ainda é) um aprendizado constante.
🎯 Expectativas e Metas
A transição não é apenas técnica, mas também estratégica. Meu objetivo é me tornar uma engenheira de software full stack de alto nível. Para isso, quero entender e dominar:
- Segurança e autenticação
- Armazenamento e performance
- Monitoramento e resiliência de aplicações
- Design de sistemas complexos
🕒 Conciliando com a Faculdade e Projetos Pessoais
Estudar Engenharia de Software me dá um suporte teórico incrível. No entanto, conciliar as aulas, o trabalho e o estudo autônomo exige gestão de tempo, paciência e resiliência.
Uma das estratégias que uso é manter projetos pessoais que aplicam o que aprendo, como APIs REST com autenticação JWT e microserviços simulando sistemas reais.
💡 Dica pra quem está nesse caminho
- Comece pequeno: pratique a criação de APIs simples e depois vá escalando.
- Aprenda os fundamentos: entenda HTTP, banco de dados, arquitetura.
- Teste tudo: o back-end exige testes robustos e controle de exceções.
- Não desanime: a curva de aprendizado é real, mas o ganho de visão sistêmica é enorme.
🚀 Em breve vou compartilhar exemplos práticos de código usando Spring Boot e testes com JUnit/Mockito. Me segue aqui no Dev.to para acompanhar!
Top comments (0)