Pular para o conteúdo
Rômulo Barros Repositório Acadêmico Pessoal do Professor

Blog Vigília: o ofício do desenvolvedor depois que a IA acordou

Vigília: o ofício do desenvolvedor depois que a IA acordou

Imagem: The Mummy (1932), Universal Pictures

Metallica, Enter Sandman, ao vivo na Virginia Tech.

Muita gente da minha geração ouviu Enter Sandman antes de entender metade da letra (era tudo em inglês). A música do Metallica, lançada em 1991 (lá se vão 35 anos, e eu tinha 8), fala de pesadelo de criança. Tem a oração antes de dormir, o sono que não vem e a sensação de que algo espreita no escuro, mesmo com alguém prometendo vigiar. Desde então, essa música virou referência comum entre os fãs do Metallica para noite ruim e para aquilo que a gente preferia não encarar.

Sleep with one eye open (Durma com um olho aberto) ♫

Gripping your pillow tight (Agarrando seu travesseiro bem forte) ♫

Exit light (Sai a luz) ♫

Enter night (Entra a noite) ♫

Take my hand (Segure a minha mão) ♫

We're off to Never-never Land (Estamos indo para a Terra do Nunca) ♫

Para mim, a inteligência artificial encaixa nessa situação. Não é por ela ser um monstro de filme. É porque passou décadas adormecida na ficção e no laboratório e, "de repente", acordou dentro do editor de código, do terminal e da reunião de projeto. O Sandman traz o sono; a IA faz despertar. A combinação dos dois é justamente o problema: algo acordou enquanto parte da profissão dormia.

Há uma cena de The Mummy (1932) que resume bem a situação. Um jovem arqueólogo, sozinho com os achados da escavação, lê em voz alta um pergaminho que não compreende. Atrás dele, Boris Karloff, a múmia, abre os olhos. Quando o rapaz entende o que fez, perde o juízo. O perigo não estava só na múmia. Estava em pronunciar algo poderoso sem saber o que aquilo fazia.

Troque o pergaminho por código e a cena fica muito familiar.

O pesadelo de quem dorme

Para quem está distraído ou aposta em que nada vá mudar, o pesadelo deixa de ser simples metáfora. A IA nem sempre elimina um time de desenvolvimento, mas muda o que se exige de cada profissional dele. Quem não consegue ler o que a ferramenta gerou, não testa e não entende o que acontece por trás do software entrega apenas ilusão de produtividade. O código compila, o pull/merge request é aprovado e o incidente chega depois.

Essa ilusão já foi alvo de tentativas de medição. Em 2025, o METR conduziu um estudo controlado com desenvolvedores experientes de projetos open source. Com ferramentas de IA, eles levaram cerca de 19% mais tempo para concluir as tarefas. Mesmo assim, ao final, acreditavam ter ficado mais rápidos. Os relatórios DORA, do Google, apontam na mesma direção. O de 2024 associou maior adoção de IA a uma queda na estabilidade das entregas. O de 2025 descreveu a IA como um amplificador: potencializa equipes bem estruturadas e agrava as disfunções das demais.

O que continua acordado

Para quem se prepara, o mesmo fenômeno vira estímulo. Em idos de 1986, Fred Brooks argumentou em No Silver Bullet que nenhuma ferramenta elimina a complexidade essencial do software, que é especificar, modelar e decidir. As ferramentas só reduzem a complexidade acidental. A IA é o caso mais impressionante dessa regra, mas continua sujeita a ela. O ofício mudou de forma, não de essência.

Por isso, fundamentos como lógica, estruturas de dados, redes, banco de dados, segurança e operação deixam de ser "matéria de prova" e viram condição de trabalho. Isso não torna os frameworks inúteis, porque é neles que o fundamento se aplica. Mas Joel Spolsky já avisava, em 2002, que toda abstração vaza. Quando o framework falha, ou quando o modelo falha, só quem entende o que está por baixo consegue consertar. O que vira distração é estudar apenas a ferramenta da moda, ignorando o aprofundamento na base.

Kent Beck, criador do Extreme Programming, resumiu a mudança em 2023 de forma dramática. Disse que 90% das suas habilidades tinha perdido valor quase de uma hora para outra, enquanto 10% passou a valer muito mais. Vale notar o que ficou na parte valiosa: não foi a digitação do código, que nunca foi o centro do ofício. Foram o julgamento, o desenho e a visão de sistema.

O desenvolvedor como pensador do sistema

O centro do trabalho sempre foi pensar. Pensar o sistema inteiro significa considerar limites, falhas, dados, usuários, custo, conformidade e evolução no tempo. Na prática, isso inclui:

  • Supervisionar o que modelos e agentes produzem: revisar, refutar, corrigir e recusar entrega errada. Simon Willison, uma das vozes mais respeitadas no uso de LLMs para programar, adota uma regra simples, mas, talvez, exagerada: não faz commit de código que não conseguiria explicar a outra pessoa. Em julho de 2026, Robert C. Martin (Uncle Bob) afirmou no X que sua estratégia atual é não ler o código escrito por agentes e, em vez disso, cercá-los com restrições e testes rigorosos.
  • Verificar, tratando testes automatizados como contrato. Kent Beck, que popularizou o TDD, tem descrito os testes como a principal forma de manter os agentes sob controle.
  • Orquestrar vários agentes e ferramentas, cada um com papel claro, sem duplicar decisões nem deixar lacunas de responsabilidade.
  • Governar o uso de IA no projeto: o que pode ir para produção, o que exige revisão humana, o que fica proibido. Entram aqui também a LGPD e o licenciamento do código gerado.
  • Proteger o software. Às ameaças clássicas somam-se riscos novos. Willison cunhou o termo prompt injection em 2022 e, em 2025, descreveu a "tríade letal": um agente com acesso a dados privados, exposto a conteúdo não confiável e capaz de se comunicar com o exterior.
  • Observar o que roda. Logs, métricas, rastreamento e resposta a incidentes continuam obrigatórios; gerar código rápido não elimina a operação.
  • Sustentar o sistema no sentido de SRE: disponibilidade, capacidade, deploy, rollback e comunicação com quem depende dele. Ver Ver

Escrever código à mão, como tarefa principal do dia, tende a desaparecer. Ler código, julgar se está correto e consertar o que a máquina errou tende a crescer. Assim dizem os programadores mais experientes diante da nova realidade. Quem não sabe programar de verdade não consegue fazer essa triagem com segurança.

"Mas os compiladores não tornaram o assembly dispensável?"

Essa é a objeção mais séria, e merece resposta. A comparação é tentadora, mas falha num ponto decisivo. Um compilador é determinístico: o mesmo código-fonte produz sempre a mesma saída, que foi exaustivamente verificada. Um LLM não funciona assim. Martin Fowler tem destacado justamente esse não determinismo como o que diferencia a IA de todas as abstrações anteriores. Com ele, subir de nível não dispensa conferir o nível de baixo.

Dijkstra, já no fim dos anos 1970, argumentava que a linguagem natural é imprecisa demais para programar. Para ele, a rigidez das linguagens formais é exatamente o que nos protege do erro. Não por acaso, Andrej Karpathy, que cunhou o termo vibe coding em 2025, apresentou o seu uso exclusivo como adequado apenas a projetos descartáveis de fim de semana ou a ideias muito iniciais, não a sistemas de que outras pessoas ou organizações dependem.

O campo da vibe coding passou da simples solicitação de código para uma compreensão mais profunda de como a programação funciona quando focada em contexto, intenção e orquestração. Com a implementação mais aprofundada da IA em tarefas reais, a distinção não será mais entre linguagens de programação e sintaxe específicas, mas sim entre a especificação de intenções e contextos. IBM, 2025

Formação técnica e tecnológica

Tudo isso pressiona a formação, e com mais força os cursos técnicos, integrados ou subsequentes, e os cursos superiores de tecnologia, como Análise e Desenvolvimento de Sistemas. São eles que formam boa parte de quem entra diretamente no mercado. Por isso, são historicamente os mais tentados a ensinar receita de framework em nome da empregabilidade imediata. Essa é justamente a camada de conhecimento que a IA mais barateou.

Há um paradoxo aqui que não se pode ignorar: como o estudante aprende a julgar código se a máquina escreve por ele? Addy Osmani, engenheiro do Google, descreveu o problema dos 70%. A IA entrega com facilidade a maior parte de uma solução. Os 30% finais, que envolvem casos de borda, segurança, integração e manutenção, exigem exatamente a experiência que o iniciante ainda não tem. Charity Majors insiste num ponto complementar: juniores são a única forma de produzir seniores. Uma formação que pula a etapa de aprender fazendo compromete a próxima geração inteira de profissionais.

A consequência prática é que o estudante precisa escrever código com as próprias mãos antes de delegar e aprender, aos poucos, a pensar o sistema, visualizando os problemas potenciais acontecendo na prática. Algumas formas concretas de garantir isso:

  • avaliações em que o aluno explica, defende e modifica o próprio código na hora;
  • exercícios de revisão de código gerado por IA com defeitos plantados;
  • testes escritos antes da implementação;
  • projetos integradores com operação real: deploy, logs, falha e rollback.

Tratar a IA como opcional deixa o aluno sozinho diante dela. Tratá-la como atalho o torna dependente. O caminho é integrá-la ao currículo com critério, exigindo raciocínio e prova de competência. Assim se forma quem supervisiona a máquina, e não quem é substituído por ela.

Fechamento

Enter Sandman não promete manhã fácil; o que oferece é vigília. O ofício do desenvolvedor, agora, pede o mesmo. A múmia já está de olhos abertos, e fingir que ela ainda dorme ou que não vem nos buscar não adianta. O rapaz da cena de 1932 perdeu o juízo porque leu em voz alta o que não entendia. O desenvolvedor de hoje só evita o mesmo destino se souber compreender, de verdade, o que sai da máquina.

Referências

  • BECK, Kent. Publicações sobre IA e habilidades (2023) e Augmented Coding: Beyond the Vibes (2025).
  • BROOKS, Fred. No Silver Bullet: Essence and Accidents of Software Engineering (1986).
  • DIJKSTRA, Edsger W. On the foolishness of "natural language programming" (EWD 667).
  • GOOGLE DORA. Accelerate State of DevOps Report (2024) e State of AI-assisted Software Development (2025).
  • FOWLER, Martin. LLMs bring new nature of abstraction (2025).
  • KARPATHY, Andrej. Publicação que introduziu o termo vibe coding (fev. 2025).
  • METR. Estudo sobre o impacto de ferramentas de IA na produtividade de desenvolvedores open source experientes (jul. 2025).
  • OSMANI, Addy. The 70% Problem: Hard truths about AI-assisted coding (2024).
  • SPOLSKY, Joel. The Law of Leaky Abstractions (2002).
  • WILLISON, Simon. Textos sobre prompt injection (2022), Not all AI-assisted programming is vibe coding (2025) e The lethal trifecta (2025).