IA e o Impacto no Desenvolvimento de Software
Tem várias publicações aqui que falam sobre IA. Então, com base nelas, e em mais algumas matérias e a vivência do dia a dia, eu decidi trazer o meu ponto de vista sobre o assunto.
Antes da IA?
A Inteligência Artificial mudou completamente a forma como lidamos com informação no dia a dia. Ela mudou e tem mudado constantemente como aprendemos, como pesquisamos e principalmente como trabalhamos.
Eu lembro antigamente que qualquer pessoa que já tentou resolver algo simples na internet sabe como era o processo, coisa boba, tipo abrir o Google, entrar em um site, depois em outro, comparar respostas, abrir várias abas e tentar encontrar algo direto, pelo menos comigo era assim kkkkkkkkk.
Hoje com ferramentas como ChatGPT, Google Gemini, GitHub Copilot, e mais uma penca de ferramentas similares, você faz uma pergunta e recebe a resposta pronta, e na programação eu vejo que essa mudança foi ainda mais radical.
Como surgiu esse elefante??
Claro que essa transformação não aconteceu do nada. Fazendo algumas pesquisas, vi que o ponto de virada foi o lançamento do ChatGPT em 2022. Em cerca de dois meses, a ferramenta chegou a aproximadamente 100 milhões de usuários, tornando-se uma das tecnologias com crescimento mais rápido da história. Esse número foi citado por análises de mercado e estudos sobre adoção de inteligência artificial, que mostram que o crescimento do uso de IA generativa foi mais rápido do que redes sociais e aplicativos populares.
Pela primeira vez, qualquer pessoa podia escrever código, aprender tecnologia ou resolver problemas usando uma linguagem natural, sem enrolação, sem viajar na maionese (pelo menos, era pra ser assim). Não era mais necessário saber exatamente o que procurar, bastava perguntar e em questão de segundos, uma enxurrada de blocos de respostas.
Avançando no avanço
Depois disso, o segundo momento decisivo aconteceu quando a IA começou a escrever código de verdade. Ferramentas como GitHub Copilot passaram a gerar funções inteiras, sugerir soluções completas e explicar código em tempo real dentro do editor. Muitos desenvolvedores começaram a descrever a experiência como algo parecido com mágica (aqui começava a ilusão) porque tarefas que antes levavam minutos ou horas passaram a ser feitas em segundos.
Não é apenas impressão.
Pesquisas recentes (mas não tão recentes assim kkkkkkkk) indicam que mais de 80% dos desenvolvedores usam alguma ferramenta de IA no dia a dia, e cerca de metade utiliza essas ferramentas diariamente, e é aí que mora o perigo.
O uso se tornou padrão na indústria, principalmente para tarefas como autocomplete, geração de código, documentação e debugging.
Por isso, a adoção da IA no desenvolvimento de software é considerada uma das mais rápidas da história da tecnologia.
Para se ter uma noção de forma bem simples, a AWS foi lançada em 2006, mas levou pelo menos 10 anos pra se tornar padrão de mercado da forma como vemos hoje em dia, ou pelo menos pra cair no hype.
Vantagens?
Claro que a IA trouxe um mar de vantagens, porém, nem tudo são vantagens. Existe uma parte dessa história que recebe menos atenção e eu sinto que fomenta ainda mais a ilusão do uso exagerado de IA em tudo.
Que a IA funciona isso é um fato, mas o lance é se ela realmente melhora a produtividade da forma que parece e como é mostrada/vendida em diversos cursos online (Torne-se um engenheiro de prompt em até x tempo).
Fatos
Alguns estudos mostram que existe uma ilusão de produtividade. Desenvolvedores que usam IA frequentemente relatam que se sentem mais rápidos (às vezes também caio nisso, não nego), mas medições reais mostram que isso nem sempre acontece.
Um estudo publicado no arXiv observou que desenvolvedores experientes chegaram a produzir menos código próprio depois da introdução de assistentes de IA porque passaram mais tempo revisando, corrigindo e adaptando código gerado automaticamente. Em alguns casos a produtividade individual caiu cerca de 19%, mesmo com a sensação de que o trabalho estava mais rápido.
Outro ponto importante é o efeito inesperado que aparece no trabalho em equipe. Com IA, desenvolvedores menos experientes conseguem produzir mais código, mas isso aumenta a carga de revisão para desenvolvedores mais experientes. O mesmo estudo mostra que, depois da adoção de assistentes automáticos, a quantidade de código que precisava de manutenção aumentou, e a responsabilidade por corrigir esse código ficou concentrada nos profissionais mais experientes.
Impacto - Qualidade e Eficiência
Com IA, o desenvolvedor escreve menos código manualmente, mas consegue focar mais em resolver problemas reais, em vez de perder tempo com detalhes de sintaxe ou configuração, só que ai vem um porém, o código gerado por IA muitas vezes parece correto, mas contém erros sutis.
Para iniciantes, o impacto é ainda maior. A barreira de entrada diminuiu. Hoje é possível aprender mais rápido, testar ideias com facilidade e ter explicações imediatas sobre praticamente qualquer tecnologia. Só que iniciantes, por conta da pressão de estarem iniciando, e de realizarem a entrega, acabam confiando demais na IA sem reconhecer certos padrões de falhas que ela pode deixar passar.
Algumas pesquisas de mercado mostram que muitos desenvolvedores não confiam totalmente no código gerado automaticamente, e uma parte significativa admite que nem sempre revisa tudo antes de usar. O que por consequência, aumenta o risco de bugs, retrabalho e dívida técnica.
Dependência
Quando a IA resolve tudo rápido demais o desenvolvedor pode parar de raciocinar profundamente sobre o problema. Esse efeito costuma reduzir o aprendizado, diminuir a retenção de conhecimento e pode criar uma dependência da ferramenta para tarefas que antes eram básicas.
Existe também um efeito indireto na carga de trabalho que em vez de reduzir a pressão, a IA muitas vezes aumenta a expectativa de entrega. Afinal, se algo pode ser feito mais rápido, o mínimo é que mais coisas sejam feitas no mesmo tempo.
Nem tudo não são flores
Seria erradissimo dizer que a IA é negativa, tem seu lado obscuro como tudo. Também existem benefícios reais e comprovados, por exemplo, alguns estudos mostram que assistentes de código podem acelerar tarefas específicas, principalmente aquelas repetitivas ou mecânicas. Em experimentos controlados, desenvolvedores usando Copilot completaram tarefas significativamente mais rápido do que sem a ferramenta.
Quando se juntam todos os estudos, da a entender que a inteligência artificial tende a aumentar a produtividade individual em certos aspectos, mas nem sempre melhora a produtividade do sistema como um todo. Em alguns casos, o ganho de velocidade vem acompanhado de mais revisão, mais manutenção e mais complexidade no longo prazo.
Por isso, o maior risco da IA não é técnico. É cognitivo. O risco não é perder o emprego para uma máquina.
No fim, a pergunta não é se a IA é boa ou ruim. A pergunta é como ela está sendo usada e e como o hype em excesso prejudica a área.