Log estruturado em JSON (nível, mensagem, horário, serviço, versão). Nada de print solto.
Checklist
O checklist de observabilidade que faz você achar o bug em minutos.
24 itens em 6 blocos: logs, métricas, traces, alertas, dashboards e incidentes. Bug em minutos: alerta no sintoma → dashboard → trace → log com o mesmo trace_id → causa.
Bug em minutosalerta no sintomadashboardtracelog com o trace_idcausa
Quem acha o bug rápido vira referência no time. Na mentoria, eu monto o plano de estudo para a vaga que você quer.
Todo log de requisição carrega o request_id e o trace_id.
Nível certo: ERROR só para o que exige ação; DEBUG desligado em produção.
Nunca logar senha, token, cartão ou dado pessoal sem máscara.
Os 4 sinais de ouro em todo serviço: latência, tráfego, erros e saturação.
Latência em histograma (p50, p95, p99), não só a média.
Métrica de negócio: pedidos, pagamentos ou cadastros por minuto.
Nomes e labels padronizados; nada de ID de usuário como label (explode a cardinalidade).
OpenTelemetry instrumentando HTTP, banco de dados e fila.
Contexto propagado entre serviços (cabeçalho traceparent do W3C Trace Context).
Span em toda chamada externa, com o tempo de cada uma.
Link do trace no log de erro: do erro ao trace em 1 clique.
Alerta no sintoma que o usuário sente (erro, latência), não em CPU a 80%.
Todo alerta é acionável, tem dono e link para o runbook.
Alerta baseado em SLO (taxa de consumo do error budget), não em limite chutado.
Revisão mensal dos alertas barulhentos: se ninguém age, apague ou ajuste.
Um dashboard por serviço com RED: taxa de requisições, erros e duração.
Deploys marcados no gráfico (anotação com versão e horário).
Infraestrutura com USE: utilização, saturação e erros de cada recurso.
A primeira tela responde em 10 segundos: está quebrado? Desde quando?
Runbook curto por alerta: o que olhar primeiro e como mitigar.
Canal e papéis definidos no incidente (quem comanda, quem comunica).
Mitigar antes de investigar: rollback ou feature flag primeiro.
Postmortem sem culpados, com ação, dono e prazo.
Checklist rápido antes de subir uma rota nova
□ Log estruturado com request_id e trace_id
□ Métrica de erro e latência p95 da rota
□ Trace da rota até o banco e as chamadas externas
□ Alerta no sintoma, com dono e runbook
□ Dashboard do serviço atualizado
□ Teste: force um erro e encontre a causa em 5 minutos
Júnior espera o usuário avisar. Sênior instrumenta antes do deploy.
O júnior espera o usuário avisar. O sênior instrumenta antes do deploy.
Antes de subir a próxima rota, force um erro e tente achá-lo em 5 minutos. Se não achar, ainda não está pronto.
Para ir além: Observability primer — OpenTelemetry (em inglês) ↗ · Traces — OpenTelemetry (em inglês) ↗ · Monitoring Distributed Systems: os 4 sinais de ouro — livro SRE do Google (em inglês) ↗ · Alerting on SLOs — SRE Workbook do Google (em inglês) ↗ · Instrumentation e Alerting — boas práticas do Prometheus (em inglês) ↗ · Dashboard best practices (RED e USE) — Grafana (em inglês) ↗ · Logging Cheat Sheet — OWASP (em inglês) ↗ · Postmortem Culture — livro SRE do Google (em inglês) ↗
Conteúdo sobre carreira dev, todo dia: @lucasadvice ↗
Mentoria
Ache o bug em minutos e vire a referência do time
Quem resolve o incidente rápido é quem o time chama, e é essa confiança que abre promoção e as melhores oportunidades. A mentoria acelera esse caminho: plano de estudo para a vaga que você quer, LinkedIn que mostra o seu trabalho e as empresas certas para conversar.