Por Werner Vogels (*)

Os empregos têm vindo a mudar, surgiram novas profissões e as pessoas adaptaram-se. Tecnologias de cloud computing, o Machine Learning e a IA generativa a tornaram-se mais acessíveis, com impacto em quase todos os aspetos das nossas vidas, desde a escrita de e-mails, ao desenvolvimento de software, até ao diagnóstico precoce do cancro. O futuro será repleto de inovação e o acesso à tecnologia vai ajudar-nos a acompanhar o ritmo crescente da vida quotidiana - e tudo começa com a Inteligência Artificial (IA) generativa.

Os assistentes de IA vão evoluir e passar de geradores de código básicos a professores e colaboradores incansáveis que prestam apoio ao longo do ciclo de vida do desenvolvimento de software. Eles vão explicar sistemas complexos numa linguagem simples, sugerir melhorias específicas e assumir tarefas repetitivas, permitindo que os programadores se concentrem nas partes do seu trabalho que têm mais impacto.

Em 2021, previ que a IA generativa iria começar a desempenhar um papel importante na forma como o software era escrito. Seria uma forma de aumentar as competências dos programadores, ajudando-os a escrever um código mais seguro e fiável. Agora, estamos a testemunhar exatamente isso, através de um amplo acesso a ferramentas e sistemas que podem gerar funções, classes e testes inteiros com base em instruções de linguagem natural. Na verdade, no 2023 Stack Overflow Developer Survey, 70% dos entrevistados disseram que já estavam a utilizar ou a planear utilizar ferramentas suportadas por IA nos seus processos de desenvolvimento.

Os assistentes de IA que estão a chegar, não só vão compreender e escrever código, como também serão colaboradores e professores incansáveis. Com tempo infinito e paciência ilimitada, vão apoiar todos os elementos da equipa e contribuir para todas as funções, desde as revisões de código até à estratégia do produto.

As linhas entre gestores de produtos, engenheiros front-end e back-end, DBAs, designers UI/UX, engenheiros DevOps e arquitetos vão esbater-se. Com a compreensão contextual de sistemas inteiros, e não apenas de módulos isolados, os assistentes de IA fornecerão recomendações que aumentam a criatividade humana. Estes assistentes serão altamente personalizáveis - a nível individual, de equipa ou de empresa. Serão capazes de explicar o interior de sistemas complexos, em termos simples, o que os torna ferramentas educativas de valor inestimável. Os programadores juniores utilizá-los-ão para se familiarizarem rapidamente com infraestruturas desconhecidas. Os engenheiros seniores para compreender rapidamente novos projetos ou bases de código e começar a fazer contribuições significativas. Enquanto antes eram necessárias semanas para compreender totalmente os impactos de uma alteração de código, hoje os assistentes podem avaliar instantaneamente as modificações, resumir os seus efeitos noutras partes do sistema e sugerir alterações adicionais, conforme necessário.

Já estamos a ver algumas das partes mais aborrecidas do desenvolvimento de software moderno a serem retiradas do campo de trabalho dos programadores: escrever testes unitários, código boilerplate e corrigir erros. As tarefas que são muitas vezes consideradas `extra´ e que ficam pelo caminho. Estes assistentes serão capazes de reconstruir e migrar aplicações inteiras antigas, como a atualização de Java 8 para 17, ou a decomposição de um monólito em micro serviços. Não há dúvida de que os programadores continuarão a ter de planear, rever e avaliar os resultados. Mas estes assistentes vão ajudar a analisar a investigação académica e a escolher o algoritmo certo para o seu sistema distribuído, a definir a melhor forma de passar de uma abordagem de backup primário para uma implementação active-active e a compreender como os recursos afetam individualmente a eficiência e a desenvolver modelos de preços. Como resultado, haverá mais trabalho do que nunca. Sem a sobrecarga do trabalho pesado indiferenciado de tarefas como a atualização de versões Java, os programadores podem concentrar-se no trabalho criativo que impulsiona a inovação.

Nos próximos anos, as equipas de engenharia tornar-se-ão mais produtivas, desenvolverão sistemas de maior qualidade e encurtarão os ciclos de vida de lançamento de software, à medida que os assistentes de IA passam de novidade a necessidade em toda a indústria de software.

(*) VP & CTO da Amazon.com