Vibe Coding: programar sem programar
O mundo da Engenharia de Software está em constante evolução nos últimos meses/anos, e tem uma nova abordagem ganhando popularidade na comunidade: Vibe Coding.
Termo cunhado por Andrej Karpath no X
A Y Combinator lançou um vídeo falando sobre o tópico: Vibe Coding is the Future, mostrando como essa estratégia já está mudando a forma como software está sendo construído nas startups mais recentes da incubadora.
Se você não conhece a Y Combinator, vale a pena dar uma olhada - e acompanhar o Hacker News para ficar por dentro das maiores notícias e discussões no mundo da engenharia e startups.
O que é Vibe Coding?
Vibe coding é um novo paradigma no desenvolvimento de software onde ferramentas de IA (como Cursor, Windsurf, Claude e outras) não são usadas apenas para gerar pedaços de código, mas para criar um diálogo rápido e iterativo entre o dev e a AI para gerar, iterar, debugar e até testar software.
O papel do engenheiro está mudando.
Neste modelo, o que importa é a intuição que o dev tem sobre o produto, a capacidade de guiar a IA e o julgamento crítico, não a velocidade de escrever código ou ser super produtivo do jeito “raiz”.
Segundo os dados da última turma da Y Combinator, cerca de 25% dos fundadores relataram que mais de 95% do código dos seus produtos foi gerado por IA. E eles não estavam falando de projetos amadores, mas de startups financiadas por capital de risco, lideradas por fundadores altamente técnicos que poderiam escrever o código manualmente, mas optam por não fazer isso.
Usar IA é simplesmente mais rápido.
A nova divisão de papéis na Engenharia de Software
Um dos insights mais interessantes da discussão na YC foi a separação cada vez mais nítida entre dois perfis de engenheiros: os que focam no produto e os que focam na infraestrutura.
1. Engenheiros de Produto (o antigo frontend)
Estes engenheiros estão cada vez mais próximos da construção do produto e da experiência do usuário. Eles focam em:
- Falar com usuários: conduzir entrevistas e entender suas necessidades
- Iterar rápido: testar features sem se apegar ao código
- Ter sensibilidade para produto: traduzir boas ideias em experiências fluidas de UX
- Construir algo que as pessoas realmente querem
Ou, como um fundador resumiu bem: “Não sou mais engenheiro, sou uma pessoa de produto” - Jackson Stokes (Trainloop, W25).
2. Engenheiros de Infraestrutura/Sistemas (backend)
Enquanto isso, engenheiros mais voltados para sistemas estão focados em:
- Arquitetura e escalabilidade: microserviços, devops, cloud
- Performance e confiabilidade: observabilidade, monitoramento
- Conhecimento profundo de sistemas: segurança e otimização
Ambos são essenciais, mas o vibe coding transforma especialmente o papel dos engenheiros de produto – aqueles que precisam iterar rápido, testar hipóteses e deixar a IA cuidar do código.
Debugar vs. Regenerar
No modelo tradicional, encontrar um bug significa entrar em modo detetive: adicionar logs, testar diferentes fluxos e ajustar o código até achar a causa do problema.No mundo do vibe coding?
Você simplesmente começa de novo - regenera o código/prompt.
Se a IA pode produzir 1.000 linhas de código em segundos, gastar tempo debugando muitas vezes não faz sentido. Se algo não funciona, em vez de caçar o erro, você apenas reformula o prompt e deixa a IA tentar de novo.
“Eu não escrevo muito código, apenas penso e faço review.” – Abhi Aiyer (Mastra, W25).
O ecossistema de ferramentas de IA
O cenário das ferramentas de IA está evoluindo rápido, mas algumas opções já se destacam:
- Cursor: O IDE mais popular entre as startups da última turma da YC.
- Windsurf: Indexa automaticamente todo o código do projeto, eliminando a necessidade de fornecer arquivos de contexto para a IA (diferente do Cursor).
- Claude Sonnet: Melhor modelo para raciocínio lógico e tomada de decisão.
- Devin: Útil para pequenas funcionalidades, mas… ruim.
- ChatGPT: Muito usado para debugging e resolução de problemas complexos
- Gemini: Pouco adotado, mas útil pelo seu grande contexto para leitura de código
Curiosamente, o GPT-4 quase não é usado para geração de código (nas startups da YC), e Gemini só apareceu na conversa por causa do tamanho do contexto.
No mês passado, o GDG Londrina realizou um evento sobre IA e Prompt Engineering, abordando como essas novas abordagens estão impactando a engenharia de software. Vale a pena conferir!
Quem está adotando isso?
Se você acha que são apenas iniciantes que não sabem programar - errou! Os maiores entusiastas são fundadores extremamente técnicos, que poderiam escrever cada linha de código do zero, mas escolhem usar IA para ganhar velocidade.
Essa nova geração de engenheiros encara a IA da mesma forma que a geração Z vê smartphones: não como uma ferramenta nova, mas como algo natural e essencial.. Para eles, programar não é sobre digitar código – é sobre resolver problemas.
Benefícios e desafios
Pontos Positivos
✅ Velocidade – Funcionalidades são construídas em um ritmo absurdo.
✅ Exploração – Testar diferentes abordagens fica trivial e quase sem custo.
✅ Foco – Engenheiros podem se concentrar no produto e na experiência do usuário.
✅ Acessibilidade – Mais pessoas podem construir software. Fundadores com background em Física, Química, ou qualquer tipo de indústria.
Pontos Negativos
❌ Debug ainda é um desafio – Código gerado por IA pode ser inconsistente e difícil de corrigir.
❌ Problemas de escalabilidade – Criar um produto é mais fácil do que nunca, mas escalar ainda exige engenharia tradicional.
❌ Perda de conhecimento profundo de sistemas – Com a IA gerando código, menos engenheiros dominam sistemas complexos, tornando esse conhecimento ainda mais valioso.
❌ Dívida técnica – Código gerado rapidamente pode ser difícil de manter e otimizar no longo prazo.
E na prática?
A realidade é que não se trata de uma escolha binária. A maioria das empresas provavelmente adotará uma abordagem híbrida, com o vibe coding destacando-se na fase inicial de desenvolvimento, no qual o ganho de produtividade é impossível de ignorar.
Mas, à medida que os produtos crescem e a complexidade aumenta, engenharia tradicional continua essencial.
Um parceiro da YC fez uma analogia interessante: o Facebook começou sendo desenvolvido em PHP, o que funcionou bem no início, mas se tornou um problema em escala. Eventualmente, contrataram engenheiros de sistema para desenvolver um compilador próprio do PHP - o HipHop.
Esse padrão pode se repetir com o vibe coding: um primeiro estágio de rápido desenvolvimento com IA até o PMF (Product-Market-Fit) e primeiros milhares de usuários, seguido de uma transição para soluções mais robustas conforme o produto escala.
O diferencial na era IA
Se a IA pode escrever código, e agora? Bom, o diferencial agora vai além da sintaxe – trata-se de visão, intuição e pensamento crítico.
- Ler e avaliar código gerado por IA – Entender quando o código faz sentido (e quando não faz).
- Intuição de produto – Saber o que construir é mais importante do que saber como construir.
- Pensamento sistêmico – Compreender como tudo se encaixa.
- Debug – Quando a IA falha, alguém precisa consertar.
- Bom gosto – Saber reconhecer software bem-feito.
Um fundador comparou essa nova era com Pablo Picasso: ele dominava o desenho realista, mas escolheu a abstração para criar algo novo. Da mesma forma, os melhores engenheiros terão os fundamentos na palma da mão, mas usarão IA para ir além e focar no que realmente importa.
O mercado de trabalho
O que as empresas esperam de engenheiros de software está mudando.
O foco está deixando de ser apenas o conhecimento técnico isolado e passando a ser a capacidade de construir produtos reais.
- Testes de tradicionais de algoritmos e estrutura de dados estão se tornando obsoletos.
- O que importa agora é a capacidade de desenvolver e iterar um produto funcional.
- “Você sabe implementar uma árvore binária?" está sendo substituído por “Você consegue entregar um produto funcional?"
Empresas como Stripe e Gusto já adotaram esse modelo anos atrás. No entanto, muitas empresas ainda empregam métodos tradicionais de entrevista.
Conforme a IA acelera o desenvolvimento, os processos seletivos das empresas terão que evoluir para esta nova tendência.
Tendência: Duradoura ou Transitória?
No nosso mundo, é comum ter ceticismo sobre grandes “revoluções”. Mas, segundo a discussão no YC, essa mudança não é apenas mais um hype:
“Isso não é transitório. Não vai desaparecer. Esta é realmente a forma predominante de escrever código. E se você não estiver adotando isso, poderá ficar em desvantagem."
Quando ferramentas melhoram em ordens de magnitude em questão de meses, e os principais fundadores do momento as usam para construir suas startups, a questão não é mais se essa tendência vai durar, mas quem vai conseguir acompanhar.
Não tem como permanecer cético por muito mais tempo.
Mas e aí?
O vibe coding representa uma transformação em como nós devs realizamos nosso trabalho. Não se trata de substituir engenheiros - trata-se de redefinir as nossas funções.
Os melhores desenvolvedores não serão aqueles que memorizam algoritmos, dominam sintaxes ou decoram documentações. Serão os que entendem as necessidades dos usuários, usam ferramentas de IA efetivamente e possuem discernimento para determinar quando o código gerado é bom o suficiente versus quando um sistema mais robusto e escalável é necessário.
Em um contexto onde a geração de código torna-se uma commodity, a criatividade humana, o discernimento técnico e a capacidade avaliativa se tornam nos verdadeiros diferenciais.
A questão não é mais se devemos usar essas ferramentas, mas como usá-las para nos tornarmos os profissionais que queremos ser.