39 pontos por spilist2 2025-03-25 | 11 comentários | Compartilhar no WhatsApp
  • Com a ascensão do Vibe Coding, também esquentou o debate entre "agora desenvolvedores não são mais necessários" vs. "ainda falta muito para isso"
  • Vejo sentido nos dois lados. Acompanhando a evolução da IA e trabalhando como product engineer, organizei aqui algumas reflexões que venho tendo
  • Mas eu não sou especialista em IA, sou apenas um desenvolvedor. Também tenho pouca experiência com Vibe Coding. Ainda assim, escrevi este texto porque queria ouvir a opinião de outras pessoas e porque espero que ele ajude desenvolvedores júnior que estão ansiosos com esse cenário

Vibe na prática: até aqui tudo isso vs. só isso até aqui

No fim de semana, tentei criar um jogo de bolinhas com Vibe Coding. Fiz para jogar com minha filha de 7 anos. Cerca de 90% do código foi feito só com prompts, e o tempo de implementação caiu drasticamente (em 4 horas ficou pronto com uma qualidade nada ruim)

Nesse processo, fiquei alternando entre a decepção de pensar "nem uma coisa tão simples consegue fazer?" e a surpresa de pensar "com só esse nível de requisito ele consegue criar algo tão bom assim?". Principalmente no primeiro caso, porque não foi nada fácil fazer a IA "seguir o que eu dizia"

Mas, de todo modo, se eu refinar os prompts e a tecnologia evoluir mais, acredito que a parcela de "surpresa" vai crescer muito mais — e isso com certeza vai provocar uma queda acentuada na contratação de desenvolvedores júnior

Vou falar dessa sensação usando a regra de Pareto e o conceito de maturidade de produto

Lado do desespero: talvez a IA escreva 96% do código

Se enxergarmos a maturidade de produto em 3 etapas (zero-to-one, one-to-ten e além disso), o mais chocante para mim foi perceber que grande parte da programação no nível zero-to-one já se tornou passível de substituição por IA

Pela regra de Pareto, penso que 80% do código produzido por desenvolvedores para construir produtos talvez fosse justamente resultado desse estágio zero-to-one.

  • Códigos que surgem no processo de implementar uma ideia e encontrar PMF. E também códigos que até não desenvolvedores conseguem criar com facilidade usando Vibe Coding.

Indo além, se assumirmos que 80% do que é necessário em one-to-ten pode ser bem definido, dividido e tratado como trabalho de nível zero-to-one...

  • Em um cenário extremo, algo como 96% da produção de código (= 0.8 + 0.2 * 0.8) talvez possa ser substituído por IA
  • No vídeo da Y Combinator que apresentou o Vibe Coding, alguns fundadores teriam dito que "95% do código-base do produto foi escrito por IA", e curiosamente os números parecem bater

Isso deve elevar o patamar esperado tanto da capacidade dos desenvolvedores quanto do nível esperado de um produto tipo MVP.

  • Algo semelhante ao que aconteceu depois de Bootstrap e TailwindCSS, quando "um nível razoável de estilização de UI" virou praticamente conhecimento básico esperado de desenvolvedores front-end

Se for assim, parece inevitável que diminuam as vagas para desenvolvedores que antes seriam valorizados apenas por conseguirem criar produtos na fase zero-to-one. Por isso, dizer que "agora desenvolvedores não são mais necessários" deixa de soar como exagero....

...será mesmo?

Lado da esperança: ainda há muito trabalho para desenvolvedores

1) O mercado fica muito maior, então há mais trabalho

O maior significado do Vibe Coding está em reduzir a barreira de entrada para o desenvolvimento de produtos

  • A maior parte do trabalho que antes precisava ser feita manualmente por desenvolvedores no zero-to-one está sendo substituída por agentes de código com custo extremamente menor (tempo/dinheiro/pessoas).
  • Em outras palavras, ficou possível girar rapidamente o ciclo de executar e validar ideias mesmo sem desenvolvedores

Portanto, vão surgir de forma explosiva muito mais produtos de nível zero-to-one (ou até abaixo disso) que antes nunca chegariam a existir, e também vai aumentar bastante o número de pessoas que pensam "eu também quero colocar minha ideia em prática".

Tudo isso deve ampliar o tamanho do mercado no qual "desenvolvedores podem ganhar dinheiro". Pessoas que antes não eram clientes de desenvolvedores passam a formar uma nova camada de clientes. Por exemplo:

  • Ensino de Vibe Coding para não desenvolvedores, PMs e designers que querem transformar suas próprias ideias em realidade
  • Freelances curtos para ajudar a finalizar produtos que chegaram a 90% com Cursor, mas ainda não conseguiram ser concluídos
  • Consultoria para fazer um produto que foi criado de qualquer jeito realmente operar e gerar monetização contínua
  • Desenvolvimento de várias ferramentas pagas que ajudem a fazer Vibe Coding melhor e com mais facilidade

Seja como renda extra fora da empresa, seja com o surgimento de empresas focadas nisso, acredito que quem mais vai se beneficiar dessa mudança de mercado serão os próprios desenvolvedores

2) Desenvolvedores podem — e precisam — fazer muito mais do que só programar

Mesmo que a IA substitua 90% da "programação", não dá para demitir 90% dos desenvolvedores

  • Porque o peso da programação dentro do desenvolvimento de produto — e, mais amplamente, da product engineering — não é tão grande quanto se imagina

Basta olhar quantas etapas existem, em média, até uma única funcionalidade ser adicionada a um produto.

  1. Percepção do problema
  2. Geração de ideias de solução
  3. Estimativa de impacto esperado e custo, definição de prioridade de desenvolvimento
  4. Planejamento para transformar isso em funcionalidade do produto
  5. Design de UI/UX
  6. Desenho de arquitetura
  7. Implementação de backend + frontend + infraestrutura
  8. Code review, testes automatizados, QA
  9. Deploy, monitoramento, divulgação da funcionalidade, testes A/B
  10. Coleta de feedback dos usuários, operação, melhoria

Aqui, o Vibe Coding substitui apenas parte do 7 e do 8.

  • Um product engineer excepcional precisa participar, em algum nível razoável, de todas essas etapas
  • Como a IA passa a cuidar da programação, o valor de quem faz bem o restante aumenta ainda mais

3) Mesmo olhando só para programação, ainda há bastante trabalho relevante

Mesmo sem ir até product engineering, ainda existe muita coisa a fazer

  • Ainda haverá muito trabalho para fechar os últimos poucos por cento do one-to-ten
  • Se desenvolvedores ajudarem com definição de especificações, desenho de estrutura e divisão das tarefas, o custo do Vibe Coding também deve cair

E, em produtos além do one-to-ten, o Vibe Coding tem muitas limitações

  • O código-base cresce -> janela de contexto limitada
  • Para manter alto nível de segurança e melhorar performance, é preciso intervenção direta de especialistas
  • O mesmo vale ao programar em linguagens ou bibliotecas nas quais a IA provavelmente não treinou bem
  • https://pt.news.hada.io/topic?id=19923 também fala de problemas parecidos

Então, o que acontece agora com desenvolvedores júnior?

Se o mundo caminhar para o lado do desespero ou para o lado da esperança, uma coisa é certa: tudo está mudando rápido demais. Em especial, com a porta de entrada do mercado de trabalho ficando drasticamente mais estreita, como desenvolvedores júnior deveriam aprender e evoluir?

Depois de ler o artigo <O que faz um excelente desenvolvedor?>, defini assim cinco competências centrais de um desenvolvedor excepcional

  • Escrever ótimo código
  • Praticar tomada de decisão baseada em evidências
  • Ajudar colegas a tomar decisões eficazes
  • Maximizar o valor atual do trabalho
  • Aprender com constância e de forma eficaz

Tudo isso continua importante na era da IA. E dá para conectar essas competências ao lado da esperança

1) Aproveitar ativamente o mercado em expansão

Se fosse eu, tentaria coisas como estas

  • Estudar prompt engineering
  • Testar um por um os novos apps de IA que estão surgindo
  • Estudar e experimentar como dividir melhor o trabalho para que agentes de código entendam bem meus requisitos
  • Implementar e publicar, com Vibe Coding, um app que resolva um pequeno problema meu
  • Se algum conhecido não desenvolvedor quiser fazer Vibe Coding, dar aulas particulares para ele (cobrando)
  • Também ajudar esse conhecido a concluir a implementação, publicar e operar o produto (também cobrando)

2) Desenvolver competências como product engineer

Se fosse eu, tentaria coisas como estas

  • Ter interesse por todo o ciclo do produto: percepção de problemas, ideias, planejamento, arquitetura, testes, operação etc.
  • Criar e operar um app como fundador solo naturalmente ajudaria a desenvolver competências de product engineering
  • Tentar melhorar produto em trabalho em equipe para evoluir tanto colaboração quanto competências de product engineering

Quando eu contratava desenvolvedores e escrevia a offer letter, eu sempre colocava algo como: "espero que você trabalhe pensando como um mini CTO"

  • Pelo menos no projeto pelo qual você é responsável, você é o responsável final pelas decisões técnicas
  • Participe de todas as etapas necessárias para fazer esse projeto dar certo
  • Ajude colegas, em questões técnicas ou não técnicas, a tomar decisões e agir de forma eficaz

3) Entender profundamente tecnologias específicas e desenvolver sensibilidade para código

Desenvolvedores que entendem profundamente tecnologias específicas continuam tendo demanda. Para ir além de PMF e chegar a empresas unicórnio ou decacórnio, Make it Right & Fast é indispensável.

Aqui não existe atalho. É preciso investir tempo e se esforçar (com ajuda da IA, se quiser).

  • Explorar o interior de frameworks/bibliotecas, entender o contexto histórico, contribuir com open source, criar bibliotecas próprias, rastrear/corrigir bugs, melhorar padrões web/performance etc.

Ao mesmo tempo, vai ficar ainda mais importante construir seus próprios critérios sobre o que é um bom código e desenvolver uma "sensibilidade para código" que permita reconhecer isso. Porque será necessário perceber quando a IA está seguindo um Vibe errado, parar e intervir.

Para desenvolver essa sensibilidade, é preciso treino deliberado. Aqui também será necessário investir tempo e esforço

  • Ver muito código bom, receber bastante feedback sobre o código que você escreveu — seja da IA, seja de desenvolvedores sênior —, olhar o código escrito pela IA ou por colegas e tentar prever "que problemas podem surgir se continuarmos por esse caminho", depois comparar com o que realmente aconteceu

11 comentários

 
ethanhur 2025-03-27

De qualquer forma, o trabalho prático de engenharia de software vai mudar bastante. As máquinas de código vão perder competitividade, mas eu aposto que os engenheiros que realmente conseguem criar produtos end-to-end vão sobreviver.

 
bichi 2025-03-26

O trabalho de digitar no teclado diminuiu, mas foi acrescentada a tarefa de encontrar o código cheio de armadilhas gerado por IA.

 
j2sus91 2025-03-25

Muito obrigado por este texto tão significativo e excelente!

 
spilist2 2025-03-25

Cometi um erro de digitação. ;_;

Em especial, o segundo caso se devia em grande parte ao fato de que não era fácil fazer a IA 'seguir o que eu dizia' -> o primeiro

 
origolucis 2025-03-25

Acho que é bom entender profundamente a engenharia de produto necessária para startups, mas também acredito que seguir o caminho de levar a tecnologia ao limite e refiná-la ao máximo continua sendo algo muito válido. O desenvolvimento para criar aplicações web simples será substituído pela IA, mas alguém ainda vai precisar conceber o Kubernetes e projetar o ElasticSearch.

 
doolayer 2025-03-25

Como o número desses arquitetos de componentes centrais é limitado, no fim das contas acredito que a demanda pela função de "desenvolvedor" realmente vai diminuir.

 
spilist2 2025-03-25

Conforme fui respondendo aos comentários, a mensagem que eu queria transmitir no texto foi ficando mais clara.

Acho que, em empresas individuais, a demanda por desenvolvedores deve diminuir de um jeito ou de outro, mas o número de empresas — ou negócios/pessoas equivalentes — que precisam de "trabalho de desenvolvimento" vai aumentar muito mais, então ainda haverá muito trabalho para desenvolvedores.

Claro, a IA também pode substituir isso, mas, se chegar a esse ponto, será que vai sobrar alguma profissão que não seja substituída...

 
kakasoo 2025-03-25

Ótimas palavras!

 
nowdoit7 2025-03-25

Concordo. Acho que, daqui para frente, vai se dividir entre o trabalho feito com codificação por IA e o design e a revisão feitos por humanos, e acredito que vão coexistir até surgir uma IA que entenda o projeto como um todo.

 
spilist2 2025-03-25

Concordo! Claro que a IA também vai ajudar ali, mas acho que no modo vibe seria difícil.

 
spilist2 2025-03-25

Só para referência, este é o jogo feito com vibe coding: https://www.stdy.blog/vibe-go-stone/