IA generativa significa mais produtividade, mas isso ajudará os desenvolvedores de software a ter sucesso ou substituirá suas funções? ZDNET explora as reações mistas.
O papel de um desenvolvedor de software está em transição – e tudo isso se deve ao impacto da inteligência artificial (IA). Agora está claro que modelos e assistentes generativos de IA , como o GPT-4 da OpenAI e o Copilot da Microsoft , são adeptos da produção de código quase instantaneamente em qualquer linguagem, para qualquer finalidade.
Esta capacidade habilitada para tecnologia significa que os desenvolvedores de software enfrentarão reduções. O debate principal, neste momento, é "quanto?"
O veredicto atual dos observadores da indústria: Até agora, tudo bem.
Mas há reações contraditórias quando se trata de saber se isso ajudará os desenvolvedores a ter sucesso ou a substituir muitas de suas funções.
Poderia até servir para facilitar o caminho para a modernização de aplicações.
“A IA generativa está transformando dramaticamente a forma como os desenvolvedores abordam suas funções, inaugurando nada menos que uma revolução na produtividade”, diz Joe Welch, diretor e líder de tecnologia da Launch Consulting , uma divisão do The Planet Group . "Ao incorporar o GitHub Copilot no VS Code para um projeto recente, vimos os programadores reduzirem tarefas de dez minutos, como escrever uma pequena função, para os 30 segundos necessários para simplesmente escrever um comentário que explicasse a função. O código real para as funções foi escrito pelo Copilot e, muitas vezes, essas funções funcionarão imediatamente, sem qualquer necessidade de alterações. É difícil subestimar o divisor de águas que isso representa.
Embora as ferramentas generativas de IA possam substituir grande parte do trabalho pesado dos desenvolvedores, a ascensão dessas tecnologias também abre oportunidades para elevar suas funções dentro de suas organizações. Em suma, a contenção numa era de IA e automação pode não ser má – e pode levar a funções novas e mais interessantes.
Neste momento, a indústria está alvoroçada com o poder e a produtividade que as plataformas generativas de IA estão a trazer para a profissão de desenvolvimento de software. “Para muitos desenvolvedores, a IA generativa se tornará o parceiro de codificação mais valioso que já conheceram”, de acordo com um relatório da consultora KMPG. A tecnologia pode finalmente ajudar os profissionais de TI sobrecarregados e estressados a abstrair os aspectos mais mundanos de seus trabalhos e ajudá-los a se concentrar em problemas maiores e mais relevantes para seus negócios.
Em um nível básico, significa a capacidade de entregar maiores volumes de trabalho de projeto. O uso crescente da IA “tornará os desenvolvedores mais fungíveis em estruturas, plataformas, produtos e sistemas de registro”, indicam os autores do relatório da KPMG. “A IA generativa fornecerá a estrutura e a orientação de que precisam para trabalhar em uma gama mais ampla de projetos do que normalmente seriam capazes de realizar.”
Mas um aumento na produtividade é apenas o ponto de partida quando se trata do impacto futuro da IA e da automatização nos empregos . A crescente adoção da IA generativa também significará que se espera que os desenvolvedores atuem em uma função de nível superior, reunindo os recursos fornecidos pela IA para mapear os requisitos do negócio. “O que se tornará cada vez mais importante é que os desenvolvedores sejam capazes de articular claramente como desejam que um trecho de código funcione”, diz Mahesh Saptharishi , diretor de tecnologia da Motorola Solutions.
“Uma boa história de usuário deve alimentar a IA com as informações certas para chegar à resposta desejada, ao mesmo tempo que sabe como fazer perguntas e testar os resultados”, diz Saptharishi. "À medida que aumenta a velocidade de tradução de uma história de usuário em um recurso ou produto, as metodologias ágeis precisarão se adaptar. De muitas maneiras, as descrições do que o software deve fazer na forma de histórias de usuário podem se tornar o novo código."
Esta mudança de ênfase levará a uma redução que significa que as funções reais de programação diminuirão e que mais desenvolvedores focados nos negócios se concentrarão em reunir os recursos necessários para aplicações específicas.
À medida que a tecnologia evolui, “acredito que as habilidades humanas de programação desaparecerão com a necessidade e, eventualmente, serão substituídas por engenheiros humanos”, prevê Duncan Angove , CEO da Blue Yonder.
Por sua vez, Angove prevê uma diminuição das funções reais de programação e mais desenvolvedores focados nos negócios reunindo as capacidades que necessitam para aplicações específicas. À medida que a tecnologia evolui, “acredito que as habilidades humanas de programação desaparecerão com a necessidade e, eventualmente, serão substituídas por engenheiros humanos”, prevê ele.
"Analistas de negócios e gerentes de produto serão os novos engenheiros imediatos, traduzindo as necessidades de negócios em prompts que geram o código que precisamos. No curto prazo, também precisaremos de programadores para verificar a qualidade do código, mas com o tempo isso também irá desaparecer."
É claro que também é crucial ter algum sentido de perspectiva sobre a escala desta contenção. Os desenvolvedores não usarão IA para escrever aplicativos inteiros da noite para o dia, diz Saptharishi: “A IA ajudará os desenvolvedores a fazer seu trabalho com mais rapidez e cometer menos erros e, com o tempo, a IA desempenhará um papel maior no desenvolvimento de aplicativos. ambiente intensivo, a criatividade dos profissionais de TI, as habilidades de resolução de problemas e a capacidade de treinar e explicar conceitos a outras pessoas ainda desempenharão um papel fundamental no seu sucesso."
Um obstáculo potencial para a geração real de código - em vez de ajudar os desenvolvedores a serem mais produtivos ao fazê-lo - são as implicações legais do uso livre de código que é essencialmente projetado em outro lugar. “As questões de propriedade intelectual em torno da IA generativa permanecem sem solução”, alertam os autores da KPMG. “Esses modelos são treinados em código-fonte aberto, com muitos tipos diferentes de licenças, e resta saber o que acontecerá se o software que eles geram for considerado muito semelhante ao código-fonte aberto”.
Embora seja altamente discutível que tipo de redução haverá para as funções de desenvolvedor, Welch, da Launch, prevê muitos impactos positivos nas habilidades dos desenvolvedores de entregar resultados de forma muito mais rápida e conveniente para seus negócios cada vez mais exigentes:
1. Como mecanismo de recomendação: Um benefício importante será “integrar recomendações de IA no processo de desenvolvimento de código ou fornecer recomendações de IA na verificação de código”, afirma. "O GitHub Copilot é um ótimo exemplo disso e fornece recomendações e sugestões conforme os desenvolvedores digitam. Os desenvolvedores também podem indicar o código que estão tentando escrever em um comentário especialmente formatado e o Copilot fornecerá um exemplo de implementação dessa função."
2. Criação de documentação para código existente para ajudar novos desenvolvedores a embarcar: “Usamos IA para fornecer resumos de alto nível de subsistemas e, em seguida, descrições mais detalhadas de módulos individuais”, diz Welch. "Depois de ler essas visões gerais, os desenvolvedores podem interagir diretamente com o chatbot de IA para fazer perguntas detalhadas sobre as funções ou seções de código específicas do uso. Isso pode reduzir bastante o tempo total necessário para entender uma nova base de código."
3. Atualizando bibliotecas obsoletas: “Um dos nossos desafios contínuos é manter as bibliotecas de terceiros atualizadas para versões suportadas de acordo com as diretrizes de segurança apropriadas”, diz Welch. "Muitas vezes, não está claro o nível de risco na atualização dessas bibliotecas. A IA generativa é ótima para prever o esforço geral, identificando padrões de código específicos que precisam ser modificados e ajudando a garantir que essas bibliotecas e estruturas sejam mantidas atualizadas com a menor quantidade de esforço e risco de negócio possível."
4. Migração de aplicativos de linguagens legadas: “A IA pode facilitar muito a migração de uma grande base de código de uma linguagem mais antiga, como Cobol, para uma linguagem mais moderna, como Java ou C#”, diz Welch. "Essas migrações muitas vezes podem ser desafiadoras, pois exigem desenvolvedores fluentes tanto na linguagem antiga quanto na linguagem mais recente."
Mas sejamos claros: a redução nas funções de desenvolvimento de software numa era de IA e automação já está em curso. Em última análise, as oportunidades para programadores e outros profissionais de TI serão abundantes em “coisas que não podem ser facilmente copiadas ou ensinadas”, prevê Angove. "Pense no que grandes modelos de linguagem não podem fazer, e faça isso. O valor do pensamento novo também se torna ainda mais valioso. Desenvolva habilidades que ajudem a construir as ferramentas - os próprios LLMs - em vez dos aplicativos agora gratuitos."