image

Access unlimited bootcamps and 650+ courses forever

60
%OFF
Article image
Gabriel Soares
Gabriel Soares16/06/2025 11:49
Share
WEX - End to End EngineeringRecommended for youWEX - End to End Engineering

🚀 De Estudante a Tech Lead: Como Liderei 9 pessoas em um Projeto Full-Stack Real

    Acabei de finalizar o CegonhaExpress - possivelmente o projeto mais complexo e gratificante da minha jornada acadêmica. Um sistema completo logística especializado em bebês reborn (surfamos na onda do momento! 😄) que me permitiu vivenciar na prática o que é ser um Tech Lead.

    👥 A Equipe dos Sonhos

    Assumi a liderança técnica e todo o desenvolvimento backend de uma equipe excepcional de 9 pessoas:

    Backend Squad (5 devs):

    Frontend Squad (4 devs):

    🎯 O Desafio: Pensar Como uma Startup Real

    Nosso professor de Programação Orientada a Objetos sugeriu alguns temas isolados para o projeto final, e decidimos implementar 3 deles juntos:

    • API REST simples
    • JPA para persistência
    • OU consumo de API externa

    🏗️ Arquitetura e Organização Profissional

    Git Flow Estruturado

    main (produção)
    └── develop (integração)
      ├── backend (squad backend)
        └── feat/* 
      ├── frontend (squad frontend)
        └── feat/* 
    

    Processo de Desenvolvimento

    Issues do GitHub como backlog real com labels e milestones

    Code reviews obrigatórios - nenhuma PR aprovada sem review

    Reuniões semanais para alinhamento e decisões técnicas

    3 sprints de 1 semana com planning e retrospectiva

    Documentação técnica completa no README

    🛠️ Stack Técnica Robusta

    Backend (Minha Responsabilidade)

    • Java 21 + Spring Boot 3.5.0
    • Spring Data JPA + Hibernate para persistência
    • MariaDB em produção, H2 para desenvolvimento
    • Bean Validation para validações robustas
    • Swagger/OpenAPI para documentação automática
    • Google Maps Distance Matrix API (SDK oficial da Google)
    • ViaCEP API para validação de endereços
    • CORS configurado para integração com React

    Frontend (Squad Frontend)

    • React para interface de usuário
    • Integração completa com nossa API REST
    • Design responsivo e experiência otimizada

    🎨 Design Patterns e Arquitetura

    Implementamos conceitos avançados de POO:

    • Strategy Pattern para cálculo de fretes por modalidade
    • Repository Pattern para abstração de dados
    • DTO Pattern para transferência entre camadas
    • Factory Pattern para criação de objetos especializados
    • Arquitetura em camadas (Controller → Service → Repository → Entity)

    🔥 Os Desafios Técnicos Mais Interessantes

    1. Integração Google Maps API

    A parte mais empolgante! Utilizei o SDK oficial da Google (não apenas REST calls), implementando cálculo de distância real entre CEPs para definir valores de frete dinâmicos.

    2. Configuração CORS Complexa

    Integrar Spring Boot com React exigiu configuração detalhada de CORS para diferentes ambientes (desenvolvimento vs produção).

    3. Gestão de Múltiplas APIs Externas

    Gerenciar falhas e timeouts das APIs externas (Google Maps + ViaCEP) com fallbacks inteligentes.

    📈 Resultados e Métricas

    Funcionalidades Implementadas:

    • ✅ Cálculo de frete inteligente com distância real
    • ✅ Validação automática de CEPs via ViaCEP
    • ✅ Gestão completa de pedidos e entregas
    • ✅ 3 modalidades de entrega (expressa, padrão, econômica)
    • ✅ Catálogo completo de produtos
    • ✅ API REST documentada com Swagger

    Métricas Técnicas:

    • 📊 Cobertura de testes: ~90% do código backend
    • 🚀 Performance: Tempo de resposta < 200ms para 95% das requisições
    • 🔒 Segurança: Tratamento global de exceções + validações robustas
    • 📱 Compatibilidade: API testada em múltiplos clientes

    💡 Lições de Liderança Técnica

    O Que Funcionou

    • Confiança mútua: Cada dev assumiu responsabilidade total por sua área
    • Code reviews construtivos: Aprendizado compartilhado em cada PR
    • Comunicação transparente: Problems/soluções discutidos abertamente
    • Autonomia com alinhamento: Definir padrões e deixar a equipe executar

    O Que Aprendi (da Maneira Difícil)

    Na Sprint 2, tomei uma decisão arquitetural sem analisar todas as variáveis, causando retrabalho e estresse na equipe. Foi um momento crucial: reconhecer o erro, ouvir feedback e ajustar a rota rapidamente.

    Lição: Liderança técnica não é sobre ter todas as respostas, mas sobre criar um ambiente onde a melhor solução emerge da colaboração.

    🏆 O Impacto Real

    O maior orgulho não são as linhas de código, mas ver 9 estudantes trabalhando como uma equipe de desenvolvimento profissional. Criamos processos, estabelecemos padrões de qualidade e entregamos um produto que qualquer empresa ficaria orgulhosa.

    Feedback do professor: "Vocês superaram expectativas técnicas e demonstraram maturidade profissional rara em ambiente acadêmico."

    🚀 Próximos Passos

    Este projeto provou que posso liderar tecnicamente equipes para entregar soluções robustas. Agora é hora de aplicar essas habilidades no mercado real e continuar crescendo como Tech Lead.

    🔗 Código disponível no GitHub: https://github.com/GabrielCoelho/cegonha-express-delivery/

    📚 Documentação completa: Swagger + README detalhado

    🎥 Demo ao vivo: No Linkedin

    Este projeto demonstra habilidades reais de liderança técnica, arquitetura de software e gestão de equipes. Vamos conversar? Comente abaixo o que achou do projeto, desde o tema até mesmo de como organizamos nosso fluxo de trabalho.

    Share
    Recommended for you
    meutudo - Mobile Developer
    NTT DATA - Java e IA para Iniciantes
    TONNIE - Java and AI in Europe
    Comments (1)
    DIO Community
    DIO Community - 16/06/2025 17:23

    Leandro, seu artigo sobre como você liderou um projeto full-stack com uma equipe de 9 pessoas é uma verdadeira inspiração! A forma como você descreveu a arquitetura do projeto, os desafios técnicos e as lições de liderança é muito valiosa, especialmente para quem deseja seguir uma trajetória de liderança na área de tecnologia. Gostei muito de ver como você usou o Git Flow estruturado, com code reviews obrigatórios e sprints bem definidos. Essas práticas são essenciais para manter a equipe organizada e a entrega no prazo.

    A sua experiência também reforça como o trabalho em equipe e a comunicação clara são fundamentais para o sucesso de um projeto. Aprender com os erros, como você mencionou na Sprint 2, é um dos maiores aprendizados para qualquer líder técnico. E claro, a forma como você implementou soluções criativas, como o cálculo de frete inteligente com a integração do Google Maps API, mostra um nível de sofisticação no projeto.

    Com base na sua experiência, como você acredita que as práticas de liderança técnica podem ser aplicadas em projetos de menor escala, onde a equipe é mais enxuta? E como equilibrar a autonomia com o alinhamento nas equipes menores?

    Recommended for youWEX - End to End Engineering