pré-lançamento · 4 meses
tentativa e erro até funcionar método científico

Debug como um Sênior Pare de testar coisas aleatórias até funcionar.

Aprenda o método científico que devs experientes usam pra diagnosticar qualquer bug — isolando variáveis, formulando hipóteses e chegando à causa-raiz com clareza. Mesmo se você está começando.

Email registrado. Confira sua caixa de entrada — enviamos um link de confirmação.

Sem spam. Você recebe um email quando as vagas abrirem.

TypeError: Cannot read properties of undefined at processarPedido (orders.js:47) at handler (api/checkout.js:23) at Layer.handle [as handle_request] → Sabe exatamente o que isso significa?
01 — o problema

Você sabe programar.
Mas quando quebra, trava.

NO_HYPOTHESIS

"O erro não faz sentido pra mim"

A mensagem aparece, você lê três vezes, não formula nenhuma hipótese. Copia pro Google. Copia pro ChatGPT. Ainda sem evidência útil.

ENV_VARIABLE_UNCONTROLLED

"Funciona na minha máquina"

A variável de ambiente não foi isolada. Você não sabe o que mudou entre os ambientes — então não tem como testar uma hipótese.

AI_ORACLE_DEPENDENCY

"Copio o erro pra IA, aplico, quebra outra coisa"

A IA dá uma resposta confiante. Você aplica. Algo pior aparece. Aplica de novo. Loop infinito sem entender o que mudou — terceirizou o pensamento, não o problema.

NULL_OBSERVATION

"Aparentemente tudo certo, mas não funciona"

Sem erro no console. Sem exception. A evidência aponta pra nada porque você não sabe o que observar primeiro.

02 — o método científico do debug

7 etapas. Um loop.
O mesmo pra qualquer bug.

Não é lista de comandos pra decorar. É o método científico aplicado ao debug — o mesmo raciocínio que devs experientes usam, sem perceber, toda vez que algo quebra. Funciona com ou sem IA — e fica muito melhor quando você sabe encaixá-la em cada etapa.

01
Observação
Coletar dados antes de pensar em solução
02
Pergunta
Formular o problema com precisão
03
Hipótese
Propor causa verificável
04
Teste isolado
Mudar uma variável só
05
Análise
Hipótese sobreviveu ou caiu?
06
Conclusão
Causa-raiz identificada
07
Generalização
Evitar essa classe de bug no futuro
se hipótese cair → nova hipótese
Os módulos do curso
M01

Observação — leitura de erro sem pânico

Como coletar dados antes de formular qualquer hipótese. Decodificar stack traces, logs e exceptions sem entrar em pânico.

observar
M02

Pergunta — formular o problema com precisão

Como transformar "não funciona" num problema testável. A qualidade da sua hipótese depende da qualidade da sua pergunta.

formular
M03

Hipótese — propor causa verificável

Como gerar hipóteses boas, ordenadas por custo de teste, e saber quando uma evidência descarta uma trilha.

hipotetizar
M04

Teste isolado — uma variável por vez

Isolamento de ambiente (local vs prod), reprodução mínima e controle de variáveis. Sem isolamento, o teste não prova nada.

isolar
M05

Análise — a hipótese sobreviveu?

Como interpretar o resultado do teste. A evidência confirma, refuta ou é ambígua? Logs de sistema, containers, rede, banco.

analisar
M06

Conclusão — causa-raiz identificada

Como documentar a solução de forma útil. IA como ferramenta de diagnóstico — e como evitar as armadilhas de pedir resposta sem evidência.

concluir
M07

Generalização — evitar essa classe de bug

Bugs intermitentes, race conditions e timing issues. Como ampliar o aprendizado de um bug pra toda uma categoria de problemas.

generalizar
M08

IA no debug — armadilhas e maestria

Como encaixar IA em cada etapa do método sem terceirizar o raciocínio. A diferença entre usar IA pra gerar hipóteses e usá-la como oráculo.

dominar IA
03 — pra quem é

Seja honesto consigo.

É pra você se...
  • Você sabe programar mas trava quando algo quebra
  • É junior, autodidata, ou está terminando bootcamp/faculdade
  • Perde horas testando coisas aleatórias sem hipótese
  • Não sabe usar IA pra debug com evidência estruturada
  • Já depende de ChatGPT/Claude pra qualquer bug, mesmo os simples
  • Quer um processo repetível — não tentativa e erro infinito
  • É sênior e quer formalizar o método que usa intuitivamente
× Não é pra você se...
  • Você ainda não sabe escrever código básico
  • Quer aprender uma linguagem ou framework específico
  • Está procurando certificado ou diploma
  • Espera conteúdo motivacional ou fórmula mágica
  • Não quer raciocinar — só quer que alguém te dê a resposta
04 — quem está por trás
João Manoel Borges
Aastera Tecnologia

Dev fullstack e administrador de sistemas que vive de resolver bugs dos outros. Opera infra de produção — Linux, Docker, Kubernetes, monitoramento — e atende múltiplos clientes simultaneamente. Quando o sistema de alguém cai às 2h da manhã, ele é quem atende.

Não aprendeu isso num bootcamp. Aprendeu aplicando método científico em produção — formulando hipóteses às 2h da manhã com o sistema do cliente fora do ar.

LaravelFlutterVuePythonPostgreSQLMariaDBRedisDockerK8sLinuxnginx
joao@aastera ~ bash
$ uptime_since_last_panic
3 dias, 14h # recorde pessoal
 
$ clients --active
múltiplos # simultâneos, produção
 
$ bugs_resolvidos_hoje
não contei
 
$ stack --list
Laravel Vue Flutter Python
PostgreSQL Redis Docker nginx
K8s Linux bash e mais um tanto
 
$ ensinar_debug --modo sênior
✓ iniciando...
05 — o que vem junto

O curso. Mais alguns extras.

[PDF]

Checklist de diagnóstico

O passo-a-passo em formato de checklist pra você usar durante qualquer debug, sem depender de memória.

[PDF]

Prompts pra IA

Templates testados em produção pra extrair hipóteses úteis de IA no contexto de debug. Não os prompts que viralizaram no Twitter.

[LIVE]

2 lives de Q&A

Sessões ao vivo pra tirar dúvidas diretamente com João. Debug em tempo real, com casos reais.

[#]

Discord fechado

Comunidade dos alunos. Para trocar, tirar dúvidas, e ter um lugar pra postar aquele bug que você não entende.

[~28]

28 aulas curtas

5–10 min cada. Densas, diretas, sem enrolação. Você termina em dias, não meses.

[∞]

Acesso vitalício

Comprou, é seu. Atualizações inclusas quando o conteúdo for revisado.

06 — lista de espera

Lançamento em breve.
Seja avisado primeiro.

Sem spam. Um email quando as vagas abrirem — provavelmente com condição de lançamento.

Email registrado. Confira sua caixa de entrada — enviamos um link de confirmação.

Sem spam. Sem número inventado de alunos. Sem depoimento fake.