DEV Community

Cover image for Comprehension Debt: o custo invisível de programar sem entender🇧🇷
Daniel Cerverizzo
Daniel Cerverizzo

Posted on

Comprehension Debt: o custo invisível de programar sem entender🇧🇷

🇺🇸 Read in English

Afinal, tecnologias que geram código são nossas inimigas?

A resposta é não. A tecnologia nasce para ajudar.
Mas nem sempre o efeito é exatamente o que esperamos.

No final de 2022, tivemos o lançamento do ChatGPT, uma das ferramentas mais impactantes desde a invenção da internet. Desde então, vimos mudanças rápidas na sociedade e no mundo do desenvolvimento não foi diferente. Entramos na onda: usamos IA para tirar dúvidas, gerar soluções e, principalmente, escrever código.

Com esse avanço, algo curioso começou a acontecer. Fóruns técnicos mudaram de comportamento. Plataformas como o Stack Overflow passaram a receber menos perguntas. O padrão mudou: menos dúvidas públicas, mais prompts privados.
Isso indica uma transição importante: as pessoas deixaram de perguntar por quê e passaram a pedir faça por mim.

Imagem de gráfico demonstrando o numero de perguntas geradas no stack over flow

Para um desenvolvedor sênior, usar um prompt para gerar uma classe pode ser apenas um atalho de produtividade.
Mas e para um desenvolvedor iniciante?

Se até Linus Torvalds já afirmou usar ferramentas de IA, por que nós não poderíamos?
A diferença está em um detalhe que quase não entra na equação:
o iniciante entende o que a máquina está escrevendo?

Mensagem de commit de Linus afirmando que gerou o codigo usando IA

Esse ponto nos leva ao conceito de comprehension debt.

Assim como technical debt surge quando escolhemos atalhos técnicos, comprehension debt surge quando escolhemos atalhos mentais. É o acúmulo de código que funciona, mas que ninguém realmente entende nem mesmo quem escreveu.

Você copia, cola, ajusta… mas não compreende o motivo.
Isso cria uma falsa sensação de progresso.
A tarefa foi concluída, mas o aprendizado não aconteceu.

Imagine um navio navegando sem bússola e sem mapa. Ele até anda… mas não sabe para onde está indo.
Programar sem entender é exatamente isso: produzir código sem compreender o “porquê” das decisões.

Não é código ruim.
É código sem dono.

A IA não cria esse problema.
Ela amplifica.

A partir de um prompt, o código aparece rápido e a tarefa parece resolvida. Isso gera a impressão de eficiência, mas também pode gerar aprendizado superficial.
Se a IA resolve rápido, quem aprende?

Como saber se você está acumulando comprehension debt?

Algumas perguntas simples ajudam:

  • Você conseguiria implementar essa funcionalidade sem usar prompts?
  • Você sabe explicar o que o código gerado está fazendo?
  • Você tem medo de mexer no código sem pedir ajuda da IA?
  • Você apenas testa no localhost e torce para funcionar?

Se você não consegue explicar a solução, provavelmente não entendeu o problema.
E se você só testa e torce… algo está errado.

O custo disso aparece com o tempo.
Você evolui mais devagar, cria dependência das ferramentas e fragiliza sua base como desenvolvedor.
Em um processo seletivo, sem IA, como você se sairia?

Você troca velocidade hoje por estagnação amanhã.

O objetivo não é parar de usar IA.
É mudar como você usa.

Como conselho prático:

  • Peça para a IA explicar o código que ela gerou.
  • Reescreva a solução com suas próprias palavras.
  • Simule mentalmente o fluxo do programa.
  • Faça pequenos testes e alterações para ver o efeito.
  • Tente escrever primeiro e só depois peça revisão da IA.

Use a IA como copiloto, não como motorista.

Como ferramenta auxiliar, ela é incrível.
Mas só se você estiver navegando com mapa e bússola e não apenas sendo levado pela corrente.

Top comments (0)