Pular para o conteúdo

O Programador de Linhas Morreu. Viva o Engenheiro.

Escrever código linha por linha não é mais o trabalho. O trabalho é conduzir agentes — saber o que construir, como decompor e como direcionar a IA para a solução correta. A habilidade que importa agora é o julgamento de engenharia, não a velocidade de digitação.

Durval Pereira
Durval Pereira
6 min

A crise de identidade

Por décadas, o ofício da engenharia de software era inseparável do ato de escrever código. Seu valor era medido pela sua capacidade de produzir linhas — linhas elegantes, linhas eficientes, linhas corretas. Engenheiros sêniores eram aqueles que conseguiam escrever o código mais complexo mais rapidamente. "Desenvolvedor 10x" significava dez vezes a produção.

Essa era acabou.

Não porque o código não importa. Ele importa. Mas porque o ato de produzir código não é mais o gargalo. Agentes de IA podem gerar centenas de linhas de código funcional em segundos. Eles podem estruturar módulos inteiros, escrever testes, refatorar padrões, implementar boilerplate — toda a produção mecânica que costumava preencher o dia de um engenheiro.

Se sua principal habilidade é escrever código, você agora está competindo com uma ferramenta que escreve código mais rápido, mais barato e sem se cansar. Essa não é uma posição confortável.

Mas se sua principal habilidade é saber que código deve existir — essa é uma história completamente diferente.

A metáfora do maestro

Pense em um maestro de orquestra. Ele não toca todos os instrumentos. A maioria dos maestros não consegue tocar todos os instrumentos. Mas eles entendem como a música deve soar, quais seções devem entrar em que momento, como o tempo deve mudar e — criticamente — quando algo soa errado.

Esse é o papel do engenheiro agora. Você não é quem toca o violino. Você é quem sabe como a sinfonia deve soar.

Um agente de IA é um músico extraordinariamente capaz. Ele pode tocar quase qualquer peça que você colocar na frente dele. Mas ele não tem gosto. Ele não sabe se a peça é adequada para o público. Ele não sabe se o tempo deve mudar no segundo movimento. Ele tocará exatamente o que você pedir — lindamente, tecnicamente — mesmo que o que você pediu seja a peça completamente errada.

O engenheiro-maestro traz três coisas que o agente não pode:

1. Decomposição de problemas. Quebrar um requisito vago em uma sequência de tarefas bem definidas que um agente pode executar. Esta é a habilidade que separa um prompt como "build a user dashboard" (que produz lixo genérico) de uma sequência de instruções precisas que produz exatamente a coisa certa.

2. Julgamento arquitetural. Saber quais padrões aplicar, quais trade-offs aceitar e quais atalhos o assombrarão em seis meses. Um agente implementará alegremente uma solução que funciona hoje e desmorona sob carga no próximo trimestre. O engenheiro vê a carga chegando.

3. Percepção de qualidade. A capacidade de olhar para o código gerado por agentes e saber — rapidamente, instintivamente — se está certo. Não apenas "compila" certo, mas "esta é a abstração correta, isso escalará, isso lida com os casos de borda" certo. Isso requer um profundo entendimento do domínio, da base de código e da realidade operacional do sistema.

Como "conduzir" se parece na prática

Veja como é meu dia de trabalho típico agora versus três anos atrás:

Antes (2022): Passava 6 horas escrevendo código. Passava 1 hora em reuniões. Passava 1 hora revisando código.

Agora: Passo 2 horas projetando e decompondo tarefas. Passo 3 horas direcionando agentes através da implementação — revisando a saída, corrigindo a direção, refinando prompts. Passo 1 hora em reuniões. Passo 2 horas revisando, testando e validando o resultado final.

A produção total é 3-5x maior. Mas a natureza do trabalho mudou fundamentalmente. Eu escrevo talvez 20% do código eu mesmo — geralmente as partes mais sensíveis arquiteturalmente. O restante é gerado por agentes sob minha direção.

A disciplina chave é a especificidade. Instruções vagas produzem resultados vagos. Quando digo a um agente para "adicionar tratamento de erros", recebo blocos try-catch genéricos. Quando digo a ele para "adicionar lógica de retry com exponential backoff para falhas de rede transitórias, circuit breaking após 3 falhas consecutivas, e structured error logging que inclua o ID da requisição para correlação" — recebo exatamente o que preciso.

Essa especificidade vem do conhecimento de engenharia. Você não pode especificar o que não entende.

As habilidades que importam agora

A hierarquia de valor da engenharia se inverteu. As habilidades que eram "boas de ter" agora são essenciais, e algumas habilidades que eram essenciais agora são comoditizadas.

Em ascensão de valor:

  • System design e arquitetura
  • Decomposição de problemas e definição de escopo de tarefas
  • Code review e avaliação de qualidade
  • Compreensão do contexto de negócios e requisitos
  • Debugging de problemas complexos e multi-componentes
  • Conhecimento operacional (como os sistemas se comportam sob carga, em escala, em modos de falha)
  • Comunicação e escrita técnica

Comoditizadas pela IA:

  • Escrever boilerplate e operações CRUD
  • Memorizar sintaxe e assinaturas de API
  • Implementar padrões conhecidos do zero
  • Escrever documentação para código direto
  • Refactoring básico e formatação de código

Observe o que está em cada lista. As habilidades comoditizadas são mecânicas — elas seguem padrões conhecidos com saídas previsíveis. As habilidades valiosas são judicativas — elas exigem a compreensão do contexto, a tomada de trade-offs e a antecipação de consequências.

O problema do engenheiro júnior

Essa mudança cria um problema genuíno para o desenvolvimento de carreira. Historicamente, engenheiros juniores construíam suas habilidades escrevendo muito código. A repetição construía a intuição. Você aprendia como era um bom código escrevendo código ruim primeiro e descobrindo por que era ruim.

Se os juniores pularem direto para a condução de agentes, eles correm o risco de desenvolver uma lacuna de habilidades — eles podem direcionar a produção de código sem entender profundamente por que ele funciona. É como um maestro que nunca tocou um instrumento. Eles podem produzir música aceitável, mas perderão sutilezas que só vêm de ter feito o trabalho você mesmo.

Meu conselho para engenheiros juniores: use a IA para acelerar seu aprendizado, não para pulá-lo. Quando um agente produz código, não o aceite apenas — leia-o, entenda-o, modifique-o manualmente. Peça ao agente para explicar suas escolhas. Em seguida, implemente deliberadamente algumas coisas você mesmo, sem assistência de IA, para construir a memória muscular e a intuição que o tornarão um maestro melhor mais tarde.

Os juniores que fizerem isso superarão aqueles que tratam a IA como uma caixa preta. Porque os melhores maestros são aqueles que já tocaram na orquestra.

A verdade incômoda sobre os "engenheiros 10x"

O engenheiro 10x costumava ser a pessoa que conseguia produzir dez vezes mais código. Agora, todos com um agente de IA são produtores 10x. O multiplicador foi democratizado.

O novo engenheiro 10x é aquele que toma a decisão arquitetural correta que economiza seis meses de retrabalho para a equipe. Aquele que decompõe um problema complexo tão claramente que os agentes produzem código correto na primeira tentativa. Aquele que revisa um PR e detecta a condição de corrida que teria causado um incidente em produção.

Estas não são habilidades novas. São as habilidades que engenheiros sêniores sempre tiveram. O que mudou é que agora são as únicas habilidades que diferenciam. A camada de produção — a escrita real do código — foi nivelada. O que resta é julgamento, experiência e a capacidade de ver o que o agente não consegue.

A era do programador de linhas acabou. A era do engenheiro acaba de começar.


Este é o artigo inaugural da Technic. Mais sobre o ofício da engenharia, arquitetura e a natureza mutável do trabalho de software a seguir.

Tagsaicareerengineeringagentsproductivity