O fato de a IA poder produzir resultados que varia de impressionante a chocantemente problemática pode explicar por que os desenvolvedores parecem tão divididos sobre a tecnologia. Em março, perguntamos como os programadores pesquisados se sentiram sobre a codificação de IA e descobrimos que uma porcentagem de ferramentas de IA (36%) se refletia pelas peças que eles se sentiam céticos (38%).
“Sem dúvida, a IA mudará a maneira como o código é produzido”, diz Daniel Jackson, cientista da computação do MIT, atualmente explorando maneiras de integrar a IA no desenvolvimento de software em larga escala. “Mas se formos decepcionantes, não ficaremos surpresos que o hype passará”.
Jackson alerta que os modelos de IA são fundamentalmente diferentes dos compiladores que convertem o código escrito em idiomas de alto nível em idiomas de baixo nível. Às vezes, o modelo de IA é executado com mais direção que o desenvolvedor. Pode então piorar a tarefa.
Jackson acrescenta que, quando todos estão construindo software sério, a codificação da atmosfera cai. “Existem muito poucas aplicações que são suficientes para apenas ‘funcionar principalmente'”, diz ele. “Assim que você se preocupa com o software, você se importa corretamente”.
Muitos projetos de software são complexos e a alteração de uma seção de código pode causar problemas em outras partes do seu sistema. Programadores experientes são bons em entender imagens maiores, diz Jackson, mas “grandes modelos de idiomas não podem inferir como cercar essas dependências”.
Jackson acredita que o desenvolvimento de software pode evoluir com bases de código mais modulares e menos dependências. Ele espera que a IA possa substituir alguns desenvolvedores, mas força mais pessoas a repensar sua abordagem e se concentrar mais no design do projeto.
Muita dependência da IA pode ser um “desastre ligeiramente iminente”. “Não é apenas o código quebrado cheio de vulnerabilidades de segurança, mas existem novas gerações de programadores que não podem lidar com essas vulnerabilidades”, disse Jackson.
Aprenda o código
Mesmo as empresas que já integram ferramentas de codificação em seus processos de desenvolvimento de software dizem que a tecnologia permanece menos confiável para uso mais amplo.
Christine Yen, CEO da Honeycomb, que fornece tecnologia para monitorar o desempenho de grandes sistemas de software, diz que projetos simples ou de rotina, como a construção de bibliotecas de componentes, são mais abertos à IA. Ainda assim, ela diz que os desenvolvedores de sua empresa, que usam a IA no trabalho, aumentaram apenas a produtividade em cerca de 50%.
O iene acrescenta que “ai, francamente, não é suficiente para aumentar ainda” se algo exigir julgamento adequado, o desempenho é importante ou se o código resultante tocar um sistema ou dados sensíveis.
“A parte difícil de construir um sistema de software não é apenas escrever muito código”, diz ela. “Pelo menos hoje, os engenheiros ainda serão necessários para possuir essa curadoria, julgamento, orientação e direção”.
Outros sugerem que uma mudança na força de trabalho está chegando. “Não acho que exista uma baixa demanda por desenvolvedores”, diz a LIAD Elidan, CEO da Milestone, que é a empresa que ajuda as empresas a medir o impacto dos projetos de IA gerados. “Há menos demanda por desenvolvedores médios ou de baixo desempenho”.
“Se você estivesse construindo um produto, poderia precisar de 50 engenheiros e agora precisava apenas de 20 a 30 pessoas”, diz Naveen Rao, vice-presidente de IA da Databricks, que ajuda grandes empresas a construir seus próprios sistemas de IA. “Isso é definitivamente verdade.”
No entanto, Rao diz que o Código de Aprendizagem deve permanecer uma habilidade valiosa por um tempo. “É como dizer: ‘Não ensine seu filho a aprender matemática'”, diz ele. Compreender como aproveitar ao máximo o seu computador provavelmente permanecerá inestimável, acrescenta ele.
Os codificadores veteranos Yegge e Kim acreditam que a maioria dos desenvolvedores pode se adaptar à próxima onda. No livro de codificação da Vibe, o par recomenda novas estratégias para o desenvolvimento de software, incluindo bases de código modulares, testes constantes e muitas experiências. Yegge diz que escrever software usando a IA evoluiu para uma forma completamente perigosa em si. “É sobre como fazer isso sem destruir seu disco rígido e ejetar sua conta bancária”, diz ele.