Colunistas

A inteligência artificial vai acabar com os programadores? O problema não é escrever código

A inteligência artificial está tornando o desenvolvimento de aplicativos aparentemente mais fácil e, certamente, mais rápido

Publicado em 29 de outubro de 2026 às 21h00.

Priorizar nos meus resultados Google

Não acredito que a inteligência artificial vá acabar com os programadores, mas que está transformando a profissão. Ferramentas de IA conseguem produzir código rapidamente, mas desenvolver software exige muito mais do que implementar funcionalidades. Segurança, desempenho, arquitetura e manutenção continuam dependendo de conhecimentos técnicos que nem sempre são considerados por quem solicita um aplicativo.

Nos últimos meses, tenho acompanhado cada vez mais discussões sobre o fim dos programadores. A evolução da inteligência artificial generativa tem possibilitado, cada vez mais, a criação de aplicativos, sites e até sistemas inteiros apenas descrevendo, em linguagem natural, aquilo que desejamos. Ferramentas que antes exigiam conhecimento em linguagens de programação agora permitem que pessoas sem experiência em desenvolvimento criem soluções funcionais em pouco tempo.

Essa transformação é real e considero que estamos apenas no começo. A inteligência artificial está mudando profundamente a maneira como desenvolvemos software, aumentando a produtividade e permitindo que mais pessoas transformem suas ideias em aplicações.

Mas acredito que estamos confundindo duas coisas diferentes: escrever código e desenvolver software.

## Qual é a diferença entre escrever código e desenvolver software?

Para entender essa diferença, precisamos considerar alguns conceitos importantes da engenharia de software, que muitas vezes passam despercebidos por quem utiliza essas novas ferramentas.

Quando alguém solicita o desenvolvimento de um aplicativo, normalmente consegue explicar aquilo que deseja que ele faça. Um aplicativo bancário, por exemplo, precisa permitir consultar saldos, realizar transferências, pagar contas e consultar extratos. Na engenharia de software, chamamos essas necessidades de requisitos funcionais.

São as funcionalidades que o usuário espera encontrar e que, em grande parte, consegue descrever.

Mas existe outro conjunto de requisitos, tão importante quanto o primeiro, que nem sempre é conhecido por quem solicita o desenvolvimento: os requisitos não funcionais.

Eles definem características relacionadas à qualidade e ao comportamento do sistema. No mesmo aplicativo bancário, precisamos garantir que as informações estejam protegidas, que o sistema responda rapidamente, suporte milhares de usuários simultaneamente e continue funcionando mesmo quando algum componente apresentar falha. Também precisamos estabelecer mecanismos para evitar operações duplicadas, como uma transferência executada duas vezes por engano.

Além disso, precisamos garantir que esse aplicativo possa ser atualizado, corrigido e ampliado sem comprometer as funcionalidades existentes.

Esses requisitos nem sempre são visíveis para o usuário, mas são fundamentais para que um software possa ser utilizado com segurança e confiabilidade.

Essa é uma diferença importante. A inteligência artificial pode acelerar a criação das funcionalidades de um aplicativo, mas isso não significa que todos os requisitos necessários para sua utilização tenham sido considerados.

## O que as vulnerabilidades do PHP mostram sobre a engenharia de software?

O caso recente do PHP ajuda a entender essa diferença.

Em 21 de outubro de 2026, foram divulgadas duas vulnerabilidades críticas no PHP, uma das linguagens de programação mais utilizadas no desenvolvimento de aplicações web. Identificadas como CVE-2026-109618 e CVE-2026-109619, ambas receberam classificação de gravidade 9,2 em uma escala de 10, conforme informações divulgadas pelo [Google Cloud](https://cloud.google.com/blog/products/identity-security/responding-to-core-php-vulnerabilities-cve-2026-109618-cve-2026-109619).

As falhas estavam relacionadas ao gerenciamento interno de memória e poderiam, em determinadas condições, permitir que invasores executassem códigos remotamente em servidores vulneráveis, mesmo sem autenticação.

O que isso significa na prática? Significa que um hacker com conhecimentos técnicos poderia explorar essas falhas para executar comandos no servidor que hospeda a aplicação, podendo acessar informações, alterar arquivos ou comprometer o funcionamento do sistema, dependendo das permissões e das proteções existentes.

Não estamos falando de um botão que deixou de funcionar ou de uma informação apresentada incorretamente na tela. Estamos falando de problemas na estrutura interna da tecnologia utilizada para executar aplicações, que podem comprometer a segurança de sistemas inteiros.

Essas vulnerabilidades não foram provocadas por código gerado por inteligência artificial. O caso demonstra que desenvolver e manter software exige conhecimento técnico profundo, inclusive em componentes que o usuário final sequer conhece.

Existe ainda um aspecto interessante nesse episódio. Segundo a [pesquisa divulgada pela Wiz](https://www.wiz.io/blog/php2shell-php-rce), foram utilizadas ferramentas de inteligência artificial na identificação e análise das vulnerabilidades, incluindo o GPT-5.6 Sol, da OpenAI, o Gemini 4 Argon, do Google, e a plataforma Wiz Atlas.

A IA contribuiu para encontrar os problemas, desenvolver e testar formas de exploração das falhas e validar as correções. O trabalho também envolveu especialistas em segurança e os responsáveis pela manutenção do PHP.

Temos, portanto, um exemplo de como a inteligência artificial pode ampliar a capacidade dos profissionais de engenharia de software. Mas, para aproveitar esse potencial, é necessário ter conhecimento técnico para compreender os problemas, interpretar os resultados e avaliar as soluções propostas. Nesse caso, a IA não substituiu o conhecimento dos especialistas, mas permitiu que eles o aplicassem de maneira mais eficiente.

E esse cuidado deve existir também quando utilizamos IA para escrever nossos próprios aplicativos.

## Código gerado por inteligência artificial é seguro?

Um [estudo da Veracode, publicado em 2025](https://www.veracode.com/wp-content/uploads/2025_GenAI_Code_Security_Report_Final.pdf), avaliou mais de 100 modelos de linguagem em 80 tarefas de programação envolvendo Java, JavaScript, Python e C#. Em 45% das gerações avaliadas, os modelos produziram código com vulnerabilidades de segurança conhecidas.

Esse resultado não deveria causar tanta surpresa. Afinal, os modelos de inteligência artificial são treinados com grandes volumes de códigos já produzidos ao longo dos anos, incluindo soluções bem construídas, mas também códigos com falhas, práticas ultrapassadas e problemas de segurança. A IA aprende padrões a partir desse material e pode reproduzir tanto as boas práticas quanto as inadequadas.

Isso não significa que a IA simplesmente copie os erros existentes ou que essa seja a única explicação para o resultado. Mas ajuda a entender por que sua capacidade de produzir código funcional não vem necessariamente acompanhada da capacidade de garantir sua segurança.

O próprio estudo da Veracode identificou que, embora os modelos tenham evoluído significativamente na geração de códigos sintaticamente corretos, a segurança não apresentou avanços equivalentes. Modelos maiores e mais recentes também não demonstraram resultados significativamente melhores nesse aspecto.

É importante considerar que se tratava de tarefas específicas, escolhidas para avaliar vulnerabilidades, e não de uma medição de todos os aplicativos produzidos por inteligência artificial. Ainda assim, o resultado demonstra que gerar código aparentemente correto não garante que ele seja seguro.

## Por que um aplicativo criado por IA pode apresentar problemas de desempenho?

A questão também não se limita à segurança.

Imagine um aplicativo desenvolvido com IA para consultar informações de clientes. Nos primeiros testes, com uma base de 100 registros, tudo funciona perfeitamente. O sistema apresenta os dados, permite realizar pesquisas e entrega exatamente as funcionalidades solicitadas.

Mas, quando essa base passa a ter um milhão de registros, o comportamento pode ser completamente diferente.

Dependendo da maneira como o software foi construído, uma consulta que antes levava poucos milissegundos pode passar a consumir vários segundos. O aplicativo pode realizar operações desnecessárias, repetir consultas ao banco de dados ou utilizar algoritmos inadequados para o volume de informações.

É nesse momento que conhecimentos de estruturas de dados, algoritmos, bancos de dados e arquitetura de software fazem diferença.

Uma estrutura de dados define como as informações são organizadas e acessadas pelo programa. A escolha adequada pode permitir que uma pesquisa seja realizada rapidamente, mesmo com um grande volume de registros. Uma escolha inadequada pode aumentar consideravelmente o consumo de processamento, memória e recursos computacionais.

Não significa que a inteligência artificial seja incapaz de utilizar essas técnicas. Ela pode, inclusive, propor soluções muito eficientes. O problema está em assumir que, por ter produzido um resultado funcional, a ferramenta necessariamente escolheu a melhor abordagem para aquela aplicação.

## Como a IA pode aumentar os custos de manutenção de software?

Existe ainda outro aspecto que considero especialmente importante para as empresas: a manutenção.

Um software não termina quando é colocado em produção. Ao longo de sua utilização, surgem novas funcionalidades, integrações, mudanças nas regras de negócio, atualizações de segurança e necessidades que não estavam previstas originalmente.

Se o código foi desenvolvido sem uma arquitetura adequada, com componentes excessivamente dependentes entre si, duplicação de funcionalidades e pouca preocupação com testes e documentação, qualquer alteração pode se tornar complexa.

Na engenharia de software, utilizamos o conceito de dívida técnica para descrever as consequências de decisões de desenvolvimento que podem facilitar uma entrega no curto prazo, mas gerar custos e dificuldades no futuro.

Com a inteligência artificial, podemos desenvolver mais rapidamente, mas também podemos acumular dívida técnica mais rapidamente.

Esse ponto merece atenção dos executivos. O custo de um sistema não está apenas na sua criação. Ele inclui operação, infraestrutura, segurança, manutenção e evolução ao longo de vários anos. Uma aplicação aparentemente barata pode acabar exigindo investimentos significativos para corrigir problemas que poderiam ter sido evitados durante o desenvolvimento.

A IA pode reduzir o esforço necessário para criar um sistema, mas isso não significa que necessariamente reduzirá seu custo total ao longo do tempo.

## Como a inteligência artificial está transformando o trabalho dos programadores?

A percepção dos próprios desenvolvedores também merece atenção.

Na [Stack Overflow Developer Survey de 2025](https://survey.stackoverflow.co/2025/), 84% dos participantes afirmaram utilizar ou planejar utilizar ferramentas de inteligência artificial no desenvolvimento. Ao mesmo tempo, 66% apontaram como uma das principais frustrações receber soluções de IA quase corretas, mas que ainda exigem ajustes. Outros 45% destacaram que depurar código gerado por essas ferramentas pode consumir mais tempo.

Esses números mostram que a utilização da inteligência artificial já faz parte da rotina de desenvolvimento, mas também que existe uma diferença entre receber código pronto e ter uma solução pronta para utilização.

Isso não significa que a profissão de programador permanecerá como conhecemos hoje.

Parte das atividades repetitivas de codificação tende a ser automatizada. A necessidade de escrever manualmente determinadas estruturas, implementar funcionalidades simples e produzir códigos padronizados deverá diminuir. Novas ferramentas também permitirão que profissionais de outras áreas participem mais diretamente da criação de sistemas.

Mas acredito que isso aumentará a importância de outras competências.

Será cada vez mais necessário compreender o problema que precisa ser resolvido, definir a arquitetura da solução, avaliar riscos, estabelecer critérios de segurança, escolher tecnologias, testar resultados e garantir que os sistemas possam evoluir.

O desenvolvedor deixa de concentrar tanto esforço na produção manual de código e passa a dedicar mais atenção às decisões de engenharia. Isso também exigirá mudanças na formação dos profissionais e na maneira como as empresas organizam suas equipes.

A inteligência artificial será parte importante desse processo, inclusive apoiando revisões de código, identificação de vulnerabilidades, otimização de algoritmos e testes. Não faz sentido ignorar essas possibilidades ou defender que tudo continue sendo feito manualmente.

O cuidado está em compreender o que podemos delegar à tecnologia e o que ainda precisa ser definido, avaliado e acompanhado por profissionais com conhecimento técnico.

Vejo a inteligência artificial ampliando significativamente a capacidade de desenvolver software. Pessoas que antes dependiam de uma equipe inteira para criar uma aplicação simples poderão construir suas próprias soluções, e equipes experientes poderão entregar sistemas cada vez mais complexos.

Mas essa facilidade não elimina os desafios da engenharia de software.

## O futuro da programação exige conhecimento técnico e capacidade de utilizar IA

Criar um programa que funciona é apenas uma parte do desenvolvimento. Garantir que ele seja seguro, tenha desempenho adequado, possa ser mantido e continue atendendo às necessidades da empresa ao longo do tempo é um trabalho muito mais amplo.

É por isso que não vejo o fim dos programadores, mas uma transformação importante da profissão. O conhecimento técnico continuará necessário, e a capacidade de utilizá-lo em conjunto com a inteligência artificial será cada vez mais relevante.