Eu tinha um app em React Native. Funcionava, resolvia o problema, tava em produção. Mas me incomodava.
Aí pensei: se a IA gera código direto, por que não refazer em SwiftUI?
Fiz. E a diferença foi absurda.
O app ficou mais bonito, mais fluido, mais rápido. Respeita o design system do iPhone de verdade. Widgets na home, atalhos da Siri, animações nativas — tudo que no React Native seria um parto ou simplesmente não tem solução oficial. Em SwiftUI, com IA gerando o código, saiu em dias.
Isso me fez parar e pensar numa coisa maior.
Se todo mundo consegue codar, código deixa de ser o diferencial
Pensa no que aconteceu. Eu peguei um app que existia numa tecnologia cross-platform e refiz em nativo — não porque aprendi Swift do zero, mas porque a IA me permitiu pular a abstração.
React Native é uma abstração sobre iOS e Android. SwiftUI é mais perto do metal. A IA me deu acesso direto a essa camada que antes exigia anos de especialização.
E se eu fiz isso, todo mundo pode.
Tudo em tecnologia sempre foi abstração
Linguagem de programação é abstração sobre Assembly. Framework é abstração sobre linguagem. ORM é abstração sobre SQL. No-code é abstração sobre código. Cada camada troca controle por velocidade.
Isso sempre funcionou. É assim que progresso acontece em computação.
O problema é que a IA não é só mais uma camada em cima da pilha. Ela é um atalho que fura as camadas intermediárias. Você descreve o que quer e ela gera o resultado — sem precisar passar pelo framework, pelo drag-and-drop, pelo canvas.
O caso do N8N é o exemplo mais claro
Vi um cara num canal do YouTube que usava N8N pra tudo. Automações, integrações, workflows. Aí ele começou a usar o Claude Code e chegou numa conclusão simples: é mais rápido criar direto com código do que montar um fluxo no N8N.
E faz sentido. O N8N é uma abstração visual sobre código. Quando a IA escreve código por você na velocidade que você pensa, pra que arrastar blocos num canvas?
Não é que N8N é ruim. É que a camada de abstração que ele oferece perdeu a razão de existir quando surgiu uma forma mais direta de chegar no mesmo resultado.
As abstrações vão diminuir. Talvez desapareçam.
Se você extrapola essa lógica, chega num lugar interessante.
Hoje a IA gera código a partir de linguagem natural. Amanhã pode ser que a gente descreva o que quer e a máquina compile direto — sem linguagem de programação no meio, sem framework, sem lib.
Parece ficção científica, mas cada geração achou isso da anterior. Quem escrevia Assembly achava que C era "abstração demais". Quem escrevia C achava que Python era "lento demais". Quem escrevia Python acha que no-code é "limitado demais".
A tendência é clara: as camadas do meio vão sendo eliminadas conforme formas mais diretas de resolver o problema aparecem.
Se código vira commodity, o que sobra?
Aqui tá o ponto que me importa.
Quando qualquer pessoa consegue fazer um app, um site, um sistema — o que diferencia um engenheiro de software de alguém que só pediu pra IA gerar?
Não é o código. Código vai ser gerado por máquina cada vez mais.
O diferencial passa a ser tudo que envolve o código:
- UI/UX polida — interfaces que respeitam o design system da plataforma, que são fluidas, que o usuário sente que são bem feitas
- Arquitetura — decisões de como o sistema se organiza, escala, se mantém ao longo do tempo
- Performance — a diferença entre um app que abre em 200ms e um que trava no scroll
- Distribuição — como o software chega nas pessoas, como cresce
- Design polido — a atenção aos detalhes que separa amador de profissional
Isso sempre foi importante. Mas vai ser cada vez mais gritante porque vai ter muito mais apps, sites e sistemas no mercado. Quando a oferta explode, qualidade percebida vira o filtro.
O que eu aprendi refazendo meu app em SwiftUI
Quando meu app rodava em React Native, ele funcionava. Mas tinha aquele feeling de "quase nativo". O scroll era bom, mas não perfeito. As animações eram ok, mas não fluidas como os apps que a Apple faz.
Em SwiftUI, com widgets na home, atalhos, animações nativas — o app passou a fazer parte do iPhone. Não é mais um app que roda no iPhone. É um app que pertence ao ecossistema.
Essa diferença parece sutil. Mas é exatamente o tipo de diferença que faz um usuário assinar, recomendar, e não deletar depois de uma semana.
E eu só consegui fazer isso porque entendo o que faz um app ser bom — não só o que faz um app funcionar.
Engenheiro de software não é quem escreve código
Essa é a conclusão que fica.
O cara que sabe "codar" vai perder relevância. A IA coda. A IA coda rápido, coda barato, coda em qualquer linguagem.
O cara que sabe por que uma decisão de arquitetura importa, como uma interface polida retém usuário, quando performance é inegociável — esse vai ter mais trabalho do que nunca.
Porque todo o resto foi automatizado. E quando todo o resto é automatizado, o que sobra é justamente o que máquina não resolve sozinha: bom gosto, visão de produto e domínio profundo.
Código é só a abstração mais recente que a IA vai engolir. O engenheiro que entende o que está por baixo — e por cima — das abstrações vai ser mais valioso, não menos.