Pular para o conteúdo

O custo de dizer sim mudou: decisões técnicas na era da IA

A IA generativa transformou radicalmente a economia da programação. Ferramentas como GitHub Copilot e outras assistentes de código tornaram a escrita de código significativamente mais rápida e barata. Mas existe um aspecto crítico que muitos desenvolvedores e líderes técnicos ainda não internalizaram completamente: o custo de manter código permanece exatamente o mesmo — ou até aumentou.

Essa é a reflexão central de um artigo recente publicado no GitHub Engineering Blog, que apresenta um framework de decisão técnica essencial para a era atual: quando dizer “sim” e quando dizer “não” para mudanças no código, considerando essa nova realidade econômica.

A ilusão da produtividade infinita

Com IA, podemos gerar funções, componentes e até arquiteturas inteiras em minutos. O que antes levava horas ou dias de digitação agora acontece com alguns prompts bem elaborados. Isso cria uma tentação perigosa: aceitar mais features, mais mudanças, mais complexidade — afinal, “escrever” ficou tão barato, por que não?

O problema está no que vem depois. Cada linha de código aceita no seu projeto representa um compromisso de longo prazo:

  • Manutenção contínua: bugs precisam ser corrigidos, testes precisam ser atualizados, documentação precisa refletir as mudanças
  • Custo cognitivo: desenvolvedores precisam entender esse código, carregar esse contexto mental, considerar suas implicações em futuras mudanças
  • Débito técnico: código escrito rapidamente com IA frequentemente precisa de refatoração posterior
  • Dependências: bibliotecas e frameworks adicionados precisam ser atualizados, vulnerabilidades monitoradas

A IA pode ter mudado a primeira etapa, mas não alterou em nada as demais. Na verdade, ao facilitar a escrita, ela pode até aumentar o custo total de propriedade do código se não tivermos critérios rigorosos de decisão.

O framework de decisão: custo de escrita vs. custo de propriedade

O artigo do GitHub Engineering propõe uma mudança fundamental na forma como avaliamos propostas de mudanças técnicas. Tradicionalmente, o argumento “é fácil de implementar” tinha peso significativo. Com IA, esse argumento perdeu valor — tudo ficou mais fácil de implementar.

O novo framework exige que façamos perguntas diferentes:

1. Qual o custo de longo prazo dessa mudança?

Não pergunte “quanto tempo leva para escrever?”, mas sim “quanto custo mental essa mudança adiciona ao sistema?”. Uma nova abstração pode ser gerada em minutos por IA, mas cada desenvolvedor que tocar nesse código nos próximos anos precisará entendê-la.

2. Isso simplifica ou complexifica o sistema?

A facilidade de adicionar código com IA torna ainda mais crítico o princípio de simplicidade. Cada nova feature deveria idealmente remover ou substituir código existente, não apenas adicionar mais camadas.

3. Estamos resolvendo o problema certo?

Com IA, é tentador criar soluções elaboradas muito rapidamente. Mas uma solução elaborada para o problema errado é ainda mais prejudicial quando foi “barata” de criar — porque gera débito técnico sem entregar valor real.

4. Temos capacidade de manter isso?

A pergunta não é se conseguimos escrever o código (com IA, provavelmente sim), mas se temos capacidade de equipe, conhecimento de domínio e infraestrutura para suportar essa mudança pelos próximos meses ou anos.

Implicações práticas para líderes técnicos

Para arquitetos de software, tech leads e engenheiros seniores, esse novo contexto exige uma postura mais rigorosa:

Dizer “não” ficou mais importante. Quando escrever código era caro, o próprio esforço de implementação servia como filtro natural. Agora, esse filtro desapareceu. Você precisa ser o filtro, aplicando critérios de arquitetura, manutenibilidade e alinhamento estratégico com ainda mais disciplina.

Code review precisa mudar de foco. Revisar se o código “funciona” é menos relevante (IA é boa nisso). O foco deve estar em: esse código é necessário? Está no lugar certo? Adiciona complexidade justificável? Será compreensível daqui a seis meses?

Documentação de decisões arquiteturais é crítica. Com código sendo gerado rapidamente, o porquê de certas decisões se perde ainda mais facilmente. ADRs (Architecture Decision Records) e documentação de contexto são mais importantes do que nunca.

Princípios de design se tornam âncoras. SOLID, YAGNI, DRY, separação de responsabilidades — esses princípios são seus guardrails quando a IA torna tecnicamente possível fazer quase qualquer coisa.

Um exemplo concreto de decisão

Imagine que sua equipe propõe adicionar uma nova camada de abstração no sistema de autenticação para suportar um caso de uso específico. Com IA, implementar essa camada levaria algumas horas.

A pergunta antiga era: “Vale a pena o esforço de desenvolvimento?”

A pergunta nova deve ser: “Essa abstração adicional justifica o custo mental permanente? Quantos desenvolvedores precisarão entender essa camada? Ela resolve um problema recorrente ou é otimização prematura? Existe uma solução mais simples que reutiliza estruturas existentes?”

Note que o tempo de implementação nem entra mais na equação de forma significativa.

Conclusão: propriedade sobre autoria

A IA democratizou a capacidade de escrever código, mas não mudou nada sobre o que significa possuir código — carregar a responsabilidade de mantê-lo, evoluí-lo e eventualmente descomissioná-lo.

O desenvolvedor ou líder técnico moderno precisa desenvolver um novo músculo: o de dizer “não” baseado em custo de propriedade, não em custo de autoria. Paradoxalmente, em um mundo onde escrever código ficou trivial, a habilidade de não escrever código desnecessário se tornou uma das competências mais valiosas.

Como o GitHub Engineering aponta, o custo de dizer “sim” realmente mudou — e com ele, a responsabilidade de quem toma decisões técnicas ficou ainda maior.