> debugando_ideias_

#carreira

Rubber Duck Debugging: como explicar seu código pode destravar a solução

Fernanda C D Soares

Fernanda C D Soares

engenheira de software · 31 de julho de 2026 · 6 min de leitura

#produtividade#debugando#mentalidade
~/posts/rubber-duck-debugging.png
Rubber Duck Debugging: como explicar seu código pode destravar a solução

Se alguém me dissesse alguns anos atrás que explicar um problema para um pato de borracha poderia me ajudar a encontrar a solução, eu provavelmente daria risada.

A ideia parece estranha à primeira vista. Afinal, como um objeto que obviamente nunca vai responder poderia ajudar a resolver um bug?

Foi justamente essa curiosidade que me fez prestar atenção quando conheci a técnica do Rubber Duck Debugging no livro The Pragmatic Programmer, de Andrew Hunt e David Thomas.

Quando li esse trecho pela primeira vez, achei curioso. A proposta era simples: diante de um problema, explique detalhadamente o que está acontecendo para outra pessoa. Mas havia um detalhe importante: essa pessoa não precisava sugerir soluções, interromper ou responder. Ela apenas deveria ouvir, quase como um pato de borracha balançando a cabeça enquanto você organiza o próprio raciocínio.

Foi justamente essa ideia que acabou popularizando o nome Rubber Duck Debugging entre desenvolvedores.

Na época, confesso que achei engraçado.

Pensei: "Será mesmo que simplesmente explicar um problema pode fazer tanta diferença?"

Hoje posso dizer que sim.

O simples fato de verbalizar ajuda muito em entrevistas técnicas, melhora nosso olhar sobre determinadas soluções e nos permite nos expor mais. Quando me deparo com um problema ou tento entender algo, falo comigo mesma para deixar tudo muito claro na minha cabeça. Falar sozinho consigo mesmo traz uma segurança e um entendimento muito legal.

Pode ser um quadro branco, pode ser um papel, pode ser uma nota no Notion — o importante é falar em voz alta com você mesmo antes de partir para a solução.

Vale a pena tentar essa técnica: quem está começando na programação costuma notar a diferença mais rápido. Falar em voz alta ajuda a organizar dúvidas, expor hipóteses e enxergar o que ainda não está claro.

Eu até preciso comprar meu patinho de borracha para deixar na mesa, de tanto que falo sozinha, pelo menos ele vai estar ali fazendo parte da decoração e me lembrando sempre de falar com ele rs.

O pato não faz nada, quem muda somos nós

E não porque o pato tenha algum poder especial. Na verdade, ele não faz absolutamente nada. O que muda é a forma como nós pensamos.

Quando estamos há muito tempo olhando para o mesmo trecho de código, nosso cérebro começa a completar as lacunas automaticamente. Passamos a enxergar o código como gostaríamos que ele fosse, e não necessariamente como ele realmente está. É uma armadilha bastante comum e, provavelmente, toda desenvolvedora já passou por isso em algum momento.

Explicar o código em voz alta quebra esse ciclo.

O simples ato de verbalizar

Enquanto organizamos as ideias para explicar o que determinada função faz, quais valores ela recebe, quais condições são verificadas e qual resultado esperamos obter, começamos a perceber pequenas inconsistências que antes estavam invisíveis.

É comum acontecer algo como:

“Espera… essa variável nem sempre chega preenchida.”

Ou então:

“Agora que estou falando, essa condição não faz sentido nenhum.”

O interessante é que ninguém precisou responder nada. O simples ato de verbalizar o raciocínio já foi suficiente para revelar o problema.

O maior benefício não é achar o bug

Depois que comecei a utilizar essa técnica com mais frequência, percebi que o maior benefício dela nem era encontrar bugs. Era aprender a pensar melhor.

Quando somos obrigadas a explicar uma solução, organizamos nossas ideias de uma forma muito mais estruturada. Aquilo que parecia fazer sentido apenas na nossa cabeça precisa ganhar uma sequência lógica. Se essa sequência não existe, o problema tende a aparecer sozinho.

Esse processo também melhora muito nossa comunicação técnica. Explicar código deixa de ser um desafio apenas durante uma entrevista ou uma apresentação. Aos poucos, passamos a construir um raciocínio mais claro para discutir soluções com outras pessoas da equipe, durante um pair programming ou até mesmo em uma mentoria.

Questionando nossas próprias certezas

Outro ponto que gosto muito nessa técnica é que ela nos faz questionar nossas próprias certezas.

Quantas vezes escrevemos um código assumindo que determinada variável “sempre” terá valor? Ou que uma função “nunca” retornará nulo? Ou que um fluxo “jamais” será executado?

Na prática, muitos bugs aparecem justamente porque tratamos hipóteses como verdades absolutas.

Explicar o código nos obriga a revisar essas premissas. E isso faz toda a diferença.

O pato evoluiu

Curiosamente, acho que o rubber duck debugging evoluiu bastante nos últimos anos. O pato continua existindo como símbolo da técnica, mas hoje ele pode assumir várias formas.

Pode ser um documento em branco. Pode ser uma anotação no Notion. Pode ser uma colega da equipe. Pode ser uma mensagem que estamos escrevendo para pedir ajuda. E, mais recentemente, pode até ser uma conversa com uma inteligência artificial.

Muita gente acredita que utilizar IA para depuração significa simplesmente pedir a solução do problema. Eu vejo de outra forma. Em muitos momentos, uso a IA como uma interlocutora. Explico o contexto, descrevo o comportamento esperado, conto o que já tentei fazer e organizo meu raciocínio durante a conversa. Muitas vezes, a resposta mais valiosa nem é a solução em si, mas o fato de que explicar o problema me fez enxergar algo que eu ainda não tinha percebido.

No fim das contas, a essência continua exatamente a mesma descrita em The Pragmatic Programmer há mais de vinte anos.

O valor nunca esteve no pato. Sempre esteve na explicação.

Programar vai muito além de escrever código. É construir hipóteses, validar ideias, identificar inconsistências e tomar decisões o tempo todo. Quanto mais conseguimos organizar nosso pensamento, melhores tendem a ser nossas soluções.

Desde que conheci essa técnica, ela se tornou uma das minhas primeiras alternativas sempre que fico muito tempo presa em um problema. Antes de sair procurando respostas na internet ou pedir ajuda para alguém da equipe, tento explicar para outra pessoa — ou até mesmo para mim mesma — exatamente o que está acontecendo.

Falar em voz alta me ajuda a entender melhor os sinais, expor hipóteses e enxergar o problema com mais clareza. Essa é a técnica que, de fato, o rubber duck ajuda a resolver.

$ compartilhar

Posts relacionados