Backend profissional não é "um monte de coisa difícil". É um conjunto de hábitos aplicados consistentemente.
O que você aprendeu
- Arquitetura em camadas — Controller, Service, Repository: o que entra e o que sai de cada uma.
- Organização de projetos Go —
cmd/,internal/, separação por domínio. - PostgreSQL com pgx — pool de conexões, queries parametrizadas, anti SQL injection.
- Cache com Redis — padrão Cache-Aside, invalidação e decorator pattern.
- Observabilidade — logs estruturados com
slog, métricas RED com Prometheus. - Testes — unitários com mocks, integração com banco real, pirâmide de testes.
- Projeto guiado — API completa com CRUD, validação, logs e testes rodando juntos.
- Problemas reais — acoplamento, manutenibilidade, e como código apodrece sem disciplina.
Os hábitos que ficam
- Separar o que muda (infra) do que não muda (regra de negócio).
- Falar com interfaces, não com implementações.
- Logar como se você fosse o detetive lendo aquilo daqui a 6 meses, sem lembrar de nada.
- Testar pelas pontas certas (unitário no service, integração no repositório, e2e raro).
- Escrever pensando que outra pessoa vai herdar isso. Porque vai.
Go é uma linguagem que te recompensa por fazer simples. Não brigue contra isso querendo replicar magia de framework. Estruture com pacotes claros, interfaces enxutas — e boa parte do trabalho difícil já está feita.