M02·01Introdução

CAPÍTULO 01

Introdução

O que diferencia código simples de código de produção — e por que Go foi feito para o segundo.

Por Thiago Souza5 min de leituraAtualizado em 2026-05

O que diferencia código simples de código de produção?

Analogia da cozinha: todo mundo consegue fritar um ovo em casa. Frigideira velha, fogo no chute, sal na hora. Funciona. Agora pega esse mesmo ovo e tenta servir 800 ovos por minuto num restaurante, em 4 turnos diferentes, com fiscalização sanitária, cliente reclamando do ponto, garçom sumindo, e o gás acabando no meio do almoço de domingo.

É o mesmo ovo. Mas é uma operação completamente diferente.

Código de produção é a cozinha do restaurante. Algumas diferenças centrais:

Código simplesCódigo de produção
Roda na sua máquinaRoda em servidores que você nunca viu
Você é o único usuárioMilhares de usuários simultâneos
Quando dá erro, você olha o terminalQuando dá erro, alguém te liga às 3h da manhã
Você lembra como funcionaOutras 5 pessoas precisam entender em 6 meses
Erro = irritaçãoErro = dinheiro perdido / cliente bravo
Mudar é fácilMudar pode quebrar 17 coisas que você não imaginava

O que código de produção tem que código de brincadeira não tem:

  • Tratamento de erros real — não basta panic, tem que se recuperar com elegância.
  • Logs e métricas — você precisa enxergar o que aconteceu sem reproduzir o bug.
  • Testes — porque você não vai testar 200 endpoints na mão toda vez que mexer.
  • Configuração externa — senha de banco não fica no código.
  • Estrutura clara — outra pessoa precisa abrir o projeto e entender em 10 minutos.
  • Resiliência — banco caiu, Redis caiu, rede oscilou: o sistema não pode virar pó.

Go é uma linguagem maravilhosa para backend justamente porque foi desenhada com isso em mente: compilação rápida, concorrência fácil, binário único, biblioteca padrão forte. Mas Go não te entrega arquitetura de graça — isso é com você.