image

Accede a bootcamps ilimitados y a mĂĄs de 650 cursos

50
%OFF
Article image
Gabriel Soares
Gabriel Soares16/06/2025 11:49
Compartir
Suzano - Python Developer #2Recomendado para tiSuzano - Python Developer #2

🚀 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.

    Compartir
    Recomendado para ti
    Suzano - Python Developer #2
    Riachuelo - Primeiros Passos com Java
    GFT Start #7 .NET
    Comentarios (2)
    FlĂĄvio Silva
    FlĂĄvio Silva - 17/06/2025 12:09

    Liderança é um processo årduo e nem todos estão preparados, tem vårios tipos de líderes, autocråticos, democråticas.

    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?

    Recomendado para tiSuzano - Python Developer #2