A 'revolução na produtividade' da IA Gerativa está reestruturando os papéis dos desenvolvedores de software
Até agora, as reações são mistas quanto a se isso ajudará os desenvolvedores a terem sucesso ou deslocará muitos de seus papéis
O papel de um desenvolvedor de software está em transição, e tudo isso se deve ao impacto da inteligência artificial (IA). Está claro agora que modelos de IA gerativa e assistentes, como o GPT-4 da OpenAI e o Copilot da Microsoft, são adeptos em gerar código quase instantaneamente em qualquer linguagem, para qualquer finalidade. Esta capacidade habilitada pela tecnologia significa que os desenvolvedores de software enfrentarão um retrenchment. O debate chave, agora, é "quanto?"
Até agora, as reações são mistas quanto a se isso ajudará os desenvolvedores a terem sucesso ou deslocará muitos de seus papéis. Pode até servir para facilitar a modernização de aplicações. "A IA Gerativa está transformando dramaticamente a forma como os desenvolvedores abordam seus papéis, inaugurando nada menos que uma revolução na produtividade", diz Joe Welch, 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 programadores reduzirem tarefas de dez minutos, como escrever uma pequena função, para os 30 segundos que levou para simplesmente escrever um comentário que explica a função. O código real para as funções é escrito pelo Copilot, e muitas vezes essas funções funcionam diretamente sem necessidade de alterações. É difícil subestimar o quanto isso é um divisor de águas."
Enquanto as ferramentas de IA gerativa podem substituir muito do trabalho árduo dos desenvolvedores, o surgimento dessas tecnologias também abre oportunidades para elevar seus papéis dentro de suas organizações. Em resumo, o retrenchment na era da IA e automação pode não ser uma coisa ruim - e pode levar a novos papéis mais interessantes.
Agora, a indústria está agitada com o poder e a produtividade que as plataformas de IA gerativa estão trazendo para a profissão de desenvolvimento de software. "Para muitos desenvolvedores, a IA gerativa se tornará o parceiro de codificação mais valioso que eles já conheceram", de acordo com um relatório da consultoria 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 mais relevantes para seus negócios.
Em um nível básico, isso significa a capacidade de entregar maiores volumes de trabalho de projeto. O uso crescente de IA fará "com que os desenvolvedores sejam mais intercambiáveis entre frameworks, plataformas, produtos e sistemas de registro", indicam os autores do relatório da KPMG. "A IA Gerativa fornecerá a estrutura e orientação de que precisam para trabalhar em uma gama mais ampla de projetos do que normalmente seriam capazes de lidar."
Mas um aumento na produtividade é apenas o ponto de partida quando se trata do impacto futuro da IA e automação nos empregos. A adoção crescente de IA gerativa também significará que os desenvolvedores são esperados para atuar em um papel de nível mais alto, reunindo recursos entregues 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 eles querem que um pedaço 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 a uma resposta desejada, enquanto saber como fazer perguntas e testar resultados", diz Saptharishi. "À medida que a velocidade de traduzir uma história de usuário em um recurso ou produto aumenta, as metodologias ágeis precisarão se adaptar. De muitas maneiras, 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 um retrenchment que significa que os papéis reais de programação diminuirão, e desenvolvedores mais focados nos negócios se concentrarão em montar as capacidades de que precisam para aplicações específicas. À medida que a tecnologia evolui, "acredito que as habilidades de programação humana diminuirão em necessidade e, eventualmente, serão substituídas por engenheiros de prompt humanos", prevê Duncan Angove, CEO da Blue Yonder.
Para Angove, os papéis reais de programação diminuirão, e desenvolvedores mais focados nos negócios montarão as capacidades de que precisam para aplicações específicas. À medida que a tecnologia evolui, "acredito que as habilidades de programação humana diminuirão em necessidade e, eventualmente, serão substituídas por engenheiros de prompt humanos", ele prevê. "Analistas de negócios e gerentes de produto serão os novos engenheiros de prompt, traduzindo necessidades de negócios em prompts que geram o código de que precisamos. No curto prazo, também ainda precisaremos de programadores para verificar a qualidade do código, mas com o tempo isso também desaparecerá."
Claro, alguma perspectiva sobre a escala desse retrenchment também é crucial. Os desenvolvedores não usarão a IA para escrever aplicações inteiras da noite para o dia, diz Saptharishi: "A IA ajudará os desenvolvedores a fazerem seus trabalhos mais rapidamente e cometerem menos erros, e com o tempo, a IA desempenhará um papel maior no desenvolvimento de aplicativos. Em um ambiente mais intensivo de IA, a criatividade dos profissionais de TI, habilidades de resolução de problemas e capacidade de treinar e explicar conceitos para outros ainda desempenharão um papel chave em seu sucesso."
Um potencial obstáculo para a geração real de código - versus ajudar os desenvolvedores a serem mais produtivos ao fazê-lo - são as implicações legais de usar livremente código que é essencialmente projetado em outro lugar. "Questões de propriedade intelectual em torno da IA gerativa permanecem não resolvidas", alertam os autores da KPMG. "Esses modelos são treinados em código de código 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 de código aberto."
Enquanto é altamente debatível que tipo de retrenchment haverá para os papéis de desenvolvedor, Welch, da Launch, prevê muitos impactos positivos nas habilidades dos desenvolvedores de entregar resultados muito mais rapidamente e de forma mais expediente para seus negócios sempre exigentes:
Como um motor 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 no check-in de código", afirma ele. "O GitHub Copilot é um ótimo exemplo disso e fornece recomendações e sugestões à medida que os desenvolvedores digitam. Os desenvolvedores também podem indicar que código eles estão tentando escrever em um comentário formatado de maneira especial e o Copilot fornecerá uma implementação de amostra dessa função."
Criando documentação para código existente para ajudar novos desenvolvedores a se integrarem: "Usamos a 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 esses resumos, os desenvolvedores podem então interagir diretamente com o chatbot de IA para fazer perguntas detalhadas sobre funções ou seções de código específicas. Isso pode reduzir muito o tempo total necessário para entender uma nova base de código."
Atualizando bibliotecas obsoletas: "Um de nossos desafios contínuos é manter 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 ao atualizar essas bibliotecas. A IA Gerativa é ótima para prever o esforço geral, identificar padrões de código específicos que precisam ser modificados e ajudar a garantir que essas bibliotecas e frameworks sejam mantidos atualizados com o menor esforço e risco comercial possível."
Migrando aplicações 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 podem ser desafiadoras, pois exigem desenvolvedores fluentes tanto na linguagem mais antiga quanto na mais nova."
Mas vamos ser claros: o retrenchment nos papéis de desenvolvimento de software na era da IA e automação já está em andamento. Em última análise, as oportunidades para desenvolvedores e outros profissionais de TI serão abundantes em "coisas que não podem ser facilmente copiadas ou ensinadas", prevê Angove. "Pense no que os grandes modelos de linguagem não podem fazer, e faça isso. O valor do pensamento fresco também se torna ainda mais valioso. Desenvolva habilidades que ajudem a construir as ferramentas - os próprios LLMs - versus as aplicações agora gratuitas."