Reflexões sobre engenharia de software na era da IA
Fluxos de trabalho acelerados por IA e produtividade
- Vários desenvolvedores descrevem fluxos de trabalho de ponta a ponta em que LLMs ajudam na redação de requisitos, escolhas de design, schemas, mockups, testes, codificação e refatoração.
- Benefícios relatados: construir sozinho produtos que antes exigiriam uma equipe, comprimir semanas de trabalho em dias e usar IA para refatorações em grande escala e caça a bugs em codebases enormes.
- Outros limitam a IA a prototipagem, detecção de bugs ou documentação e depois reescrevem manualmente para obter qualidade e manutenibilidade.
Qualidade do código gerado por IA
- Forte discordância: alguns dizem que LLMs são “programadores terríveis” e devem ser usados principalmente como analisadores ou como um pato de borracha; outros afirmam que o código escrito por IA é rápido, sólido e já domina sua produção com revisão humana.
- Muitos observam que a IA atinge cerca de 90–95% do nível de qualidade desejado; polir os 5–10% finais (casos de borda, estilo, coerência) é mentalmente desgastante e pode anular os ganhos de velocidade.
- Há consenso de que a saída da IA precisa ser revisada e de que os modelos esquecem restrições, interpretam mal feedback e podem propor correções perigosas.
Limites de escopo e problemas difíceis
- Vários comentários destacam domínios em que os LLMs atuais têm dificuldade: motores de jogo (por exemplo, advanced occlusion mapping), simulações complexas, algoritmos de ponta e escolhas de arquitetura não bem representadas nos dados de treinamento.
- A IA tende a escolher stacks e padrões “médios” ou populares (por exemplo, frameworks web comuns), mesmo quando são subótimos.
Funções, carreiras e erosão de habilidades
- Uma visão: a maioria dos engenheiros de software tradicionais que “implementam features” se tornará obsoleta; os papéis restantes se agrupam em:
- Uma pequena elite criando bibliotecas, ferramentas e open source que alimentam os dados de treinamento.
- Profissionais que “canalizam” e impõem limites ao código gerado por IA dentro das organizações.
- Funções semelhantes a QA, verificando e testando a saída da IA.
- Outros argumentam que boa arquitetura, manutenibilidade e design continuam essenciais em software comercial e não podem ser substituídos por geradores de código.
- Persistem preocupações de que desenvolvedores juniores percam “repetições” de implementação e que haja atrofia de habilidades no longo prazo.
Experiência, prazer e ofício
- Alguns acham trabalhar com LLMs frustrante: os modelos alucinam, ignoram instruções e se comportam como colaboradores esquecidos e excessivamente confiantes.
- Outros se sentem liberados de tarefas chatas e gostam de se concentrar em arquitetura, definição de problemas e design de nível superior.
- Vários comentaristas enfatizam a programação como construção pessoal de modelo mental e como ofício, prevendo um futuro em que humanos cada vez mais “moldam” vastos fluxos de código de IA — mais parecido com cultivo de bonsai do que com construção do zero.
Debates econômicos e sociais
- Discordância sobre se estamos realmente em uma “Era da IA”:
- Lado pró-IA: enormes ganhos de produtividade, analogia com tratores e linhas de montagem.
- Lado cético: hype, benefício social limitado até agora, questões éticas com dados de treinamento e uma mudança de aprendizado aberto e democratizado para ferramentas de IA centralizadas e com acesso pago.