Cover do episódio 97: Aprender a trabalhar sozinho em problema que não tem resposta no Stack Overflow
#09725 de agosto, 20193 min leituraA Mente que ConstróiS3 · 2018–2019

Aprender a trabalhar sozinho em problema que não tem resposta no Stack Overflow

Em pesquisa, os problemas que você encontra raramente têm solução documentada. Aprendi a trabalhar sem rede de segurança — e esse músculo nunca mais sumiu.

AprendizadoAutonomiaResolução de ProblemasPesquisa

Passei três dias num problema sem encontrar nada útil no Stack Overflow.

Não porque o Stack Overflow fosse ruim. Mas porque o problema era específico demais — combinação de biblioteca, dataset, e hipótese que ninguém tinha documentado antes. Não existia a pergunta. Não existia a resposta.

Tive que ir para os papers.


A maioria do aprendizado técnico que acontece nos primeiros anos de carreira tem uma característica: sempre existe alguém que já passou por aquilo. Tutorial, documentação, Stack Overflow, GitHub issue, artigo. Você está trilhando um caminho que outros trilharam.

Pesquisa é diferente. Quando o problema é novo — ou específico o suficiente para não ter sido documentado — não existe caminho. Você está construindo o caminho enquanto anda.

Isso é desconfortável de uma forma específica. Não é a ansiedade de não saber a resposta. É a incerteza de não saber se a resposta existe, se você está no caminho certo, se o tempo que está investindo vai produzir resultado.


O que aprendi a fazer quando não existe resposta documentada:

Ler o código-fonte. Quando documentação não responde, o código responde. A implementação é a fonte de verdade. Passei horas lendo código de biblioteca que não tinha documentação para o comportamento específico que eu precisava entender.

Formular hipótese e testar. Sem resposta pronta, você formula: "se funciona assim, então quando eu fizer X, deveria acontecer Y." Testa. Revisa. Reformula. É o loop científico aplicado a debugging.

Documentar o próprio caminho. Aprendi a escrever notas do que eu estava tentando, o que não funcionou e por quê, o que funcionou. Não para o professor — para mim mesmo no dia seguinte, quando o contexto some da cabeça.

Aceitar que alguns problemas não têm solução elegante. Às vezes a conclusão é "este caminho não funciona, mudo a abordagem." Esse descarte de hipótese não é fracasso — é aprendizado. Mas leva tempo para internalizar isso.


Esse músculo de trabalhar sem rede de segurança ficou.

Em plataforma de engenharia, você frequentemente está construindo algo que não existe ainda. Não existe tutorial de "como construir developer portal para empresa de fintech de tamanho médio com esses requisitos específicos." Você lê o que existe, adapta, experimenta, documenta.

O dev que só trabalha bem quando tem documentação completa vai travar quando o problema sair do ordinário. O dev que aprendeu a trabalhar sem resposta pronta consegue navegar o espaço não documentado.

Pesquisa forçou esse aprendizado mais cedo do que a maioria dos ambientes de trabalho força. Fui grato por isso mais tarde do que consegui ser na época.

Essa semana: pensa num problema técnico que você travou recentemente. Você foi para o Stack Overflow primeiro? Já tentou ler o código-fonte da ferramenta que estava usando?