Skip to content
/desenvolvimento-software 6 min read

Vibe Coding: Os Dois Lados da IA no Software

Quero falar de algo em que tenho pensado bastante como developer aqui no Porto: vibe coding. É um termo que provavelmente já ouviste, e até soa bem, certo? É aquela ideia de ires conversando com uma IA e veres o código a aparecer, quase como magia. Mas, do meu ponto de vista, depois de 25+ anos neste jogo, “vibe coding” não é uma coisa só. São, na verdade, duas ideias completamente diferentes, e a forma como o usamos, e quem o usa, faz toda a diferença. Vamos a isto.

Quero falar de algo em que tenho pensado bastante como developer aqui no Porto: vibe coding. É um termo que provavelmente já ouviste, e até soa bem, certo? É aquela ideia de ires conversando com uma IA e veres o código a aparecer, quase como magia. Mas, do meu ponto de vista, depois de 25+ anos neste jogo, “vibe coding” não é uma coisa só. São, na verdade, duas ideias completamente diferentes, e a forma como o usamos, e quem o usa, faz toda a diferença. Vamos a isto.

A versão “rodinhas de aprendizagem” (e porque devemos ter cuidado)

Imagina um developer novo, acabadinho de sair de um bootcamp ou só agora a começar a aprender. Tem uma ideia gira para um site simples. Abre um assistente de IA e começa a escrever: “Faz-me um formulário de login com um botão e uma mensagem de obrigado.” A IA responde instantaneamente com um bom bocado de HTML, CSS e JavaScript.

É a isto que muita gente chama vibe coding. Estão a “entregar-se às vibes”, como o próprio criador do termo disse uma vez, e obtêm um resultado funcional sem perceberem verdadeiramente o código.

Pela minha experiência:

Isto faz-me lembrar muito um pai a apertar os atacadores ao filho. É super útil naquele momento, e o miúdo vai brincar mais depressa. Mas, se nunca lhe ensinares a apertar os atacadores sozinho, ele nunca aprende essa competência básica. Fica dependente.

Para developers novos, depender constantemente de uma IA para fazer o trabalho pesado impede-os de desenvolver as competências críticas que mais importam:

  • Debugging: Quando o código gerado pela IA inevitavelmente partir, como é que o arranjam se não percebem porque é que foi escrito daquela maneira?
  • Resolução de problemas: O essencial do desenvolvimento de software não é escrever; é resolver problemas. Vibe coding salta por cima desta parte crucial do processo de aprendizagem.
  • Pensamento crítico: Como sabes se a IA te deu uma boa solução? É segura? É eficiente? Sem uma base sólida, é impossível dizer.

E isto não é só problema do developer individual. Tenho visto uma tendência preocupante, com empresas a contratar developers juniores e a incentivar implicitamente este tipo de vibe coding para obter resultados mais depressa e mais barato. É absolutamente terrível. Cria aquilo a que chamo código “caixa-preta”: ninguém o percebe de verdade, o que leva a dívida técnica enorme e a riscos de segurança mais tarde. É uma vitória de curto prazo que vai sair caro ao negócio.

Dica: Para um developer novo, a IA é melhor usada como um mentor socrático, não como atalho para escrever código. Em vez de lhe pedires para fazer uma tarefa, pede-lhe para explicar um conceito. Pergunta “Quais são os prós e contras de usar puppeteer versus playwright?” ou “Explica-me esta linha de código.” É assim que aprendes a sério. E deves imediatamente adoptar IA no teu workflow.

A versão “colega” (onde a magia acontece a sério)

Agora, vamos ao outro lado da moeda.

É aqui que um developer sénior, com um entendimento profundo de código, e quero mesmo dizer profundo, dos bits e bytes à arquitectura, usa IA. Continuam a usar linguagem natural para conversar com a IA, a dizer coisas como “Olha, vamos experimentar isto” ou “Vamos acrescentar aquilo”. Isto também é vibe coding, mas é um animal completamente diferente.

Qual é a diferença?

Para o developer sénior, a IA não é uma muleta; é um colega super-rápido. É uma ferramenta para prototipagem rápida e exploração de ideias. Já não escrevemos cada linha de código de um boilerplate; usamos a IA para chegar do zero a um protótipo funcional numa fracção do tempo.

Isto não é preguiça; é eficiência. Liberta-nos para focar nas partes verdadeiramente difíceis (onde a IA ainda vai ter de evoluir uns anos para substituir também por completo, pela enorme quantidade de contexto que precisaria para tomar decisões de nível enterprise):

  • Desenho arquitectural: Como é que todas as peças deste sistema se encaixam, pensando no longo prazo?
  • Lógica de negócio: O código está a resolver o problema certo para o cliente?
  • Performance e segurança: Somos nós os responsáveis por rever esse código, optimizá-lo e garantir que está à prova de bala antes de ir para produção.

O developer sénior é o chef de cozinha que sabe usar todas as ferramentas da cozinha, do batedor à instant pot. Pode usar a IA para uma receita rápida e experimental, mas é ele que a prova, refina e serve o prato final, de alta qualidade.

Não há vergonha nenhuma nisto. É só mais uma evolução do nosso toolkit.

FAQ

P: A IA vai substituir os developers?
R: É uma pergunta que ouço a toda a hora. A resposta curta é não, não vai. Mas a resposta longa é que vai mudar por completo o que significa ser developer. A IA é uma ferramenta, não um substituto. Ou melhor, é um colega muito rápido a que tens acesso a qualquer momento. Uma calculadora não substituiu os matemáticos; libertou-os para resolver problemas mais complexos. A IA está a fazer o mesmo por nós. Trata da parte repetitiva, do “escrever” do trabalho, mas é o humano que tem de continuar a fazer a parte do “pensar”: desenhar a arquitectura, resolver os problemas difíceis e perceber as necessidades do negócio.

P: Então o “vibe coding” é uma coisa má?
R: Depende mesmo de quem o está a usar. Para um developer experiente, é uma forma fantástica de acelerar um projecto, prototipar uma ideia e despachar o trabalho mais maçador. Para um developer novo, pode ser uma armadilha séria. É como um atalho que salta as lições mais importantes. O verdadeiro perigo é um developer júnior que consegue produzir código mas não lhe consegue fazer debug nem explicar porque é que funciona. Isto cria uma ilusão de competência que mais cedo ou mais tarde os apanha, e ao negócio também.

P: Como é que as empresas devem lidar com isto?
R: É aqui que entra a liderança. Devem incentivar os developers seniores a usar IA como ferramenta estratégica de eficiência. Isto acelera a inovação e deixa-os focar em trabalho de alto valor. Ao mesmo tempo, para os juniores, é preciso definir expectativas claras. O uso de IA deve estar focado na aprendizagem, mas deve ser adoptado já. Incentiva-os a fazer perguntas à IA, a rever o código que ela gera e depois a escrever a sua própria versão. Isto transforma a IA, de muleta, numa poderosa assistente de ensino, e essa é a chave para construir uma equipa forte e autossuficiente.

Se quiseres aprofundar o tema, aqui ficam alguns artigos de gente que também anda a pensar no futuro do desenvolvimento de software com IA.

  • The Truth About Vibe Coding: A Veteran Developer’s Perspective
    • Um excelente artigo que entra mesmo nos prós e contras do vibe coding. O autor partilha um caso real de um projecto que falhou por falta de conhecimentos fundamentais de programação. É uma leitura forte que reforça o meu ponto sobre os perigos desta abordagem para developers novos.
  • AI in Software Development: Revolutionizing the Coding Landscape
    • Esta é uma visão geral muito completa de como a IA está a impactar todo o ciclo de vida do desenvolvimento de software. É um bom recurso para qualquer um, em especial para business owners, que queiram entender o panorama mais amplo, da geração de código aos testes e à gestão de projecto.
  • Why/How Senior Engineers Embrace AI Tools in Development?
    • Gosto muito deste porque enquadra os developers seniores como “chefs de cozinha” que sabem exactamente quando usar ferramentas de IA, tal como um chef sabe quando usar o micro-ondas ou o forno. É uma analogia perfeita que explica porque é que não usamos IA por preguiça, mas por um conhecimento profundo do nosso ofício.

Como encontrar bons developers

Se és business owner à procura de um developer que perceba a diferença entre estas duas abordagens, e saiba tirar partido das melhores ferramentas sem sacrificar qualidade, tens de trabalhar com um especialista de confiança.

É por isso que recomendo a Codeable; eles avaliam os developers tanto pela competência técnica como pela integridade profissional. Vais lá encontrar gente fantástica e de confiança.

Divulgação de afiliação:
Este é um link que te leva à Codeable, uma plataforma onde trabalho há quase 10 anos, e confio em todos os especialistas que ela integra. Por isso, à vontade para abrir a tua tarefa e fazer a tua pergunta, o link associa essa tarefa a mim como afiliado da plataforma.