Tópicos populares
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Vamos aprender e criticar como grandes empresas como a FAANG fazem "programação por intuição (Vibe Coding)":
"Primeiro, faça com que um número suficiente de partes interessadas concorde"
"Depois, faça uma revisão de design"
"Em seguida, vem semanas de trabalho em documentação"
"Então, os gerentes de produto e de projeto dividem as tarefas"
Após três meses, finalmente podemos começar a programação por intuição!
---
É assim que fazemos "programação por intuição (Vibe Coding)" na FAANG
Olá a todos.
Quero fazer este post porque vejo muitas pessoas dizendo que o código escrito com a ajuda de IA não pode ser usado em produtos reais. Isso é absolutamente uma bobagem.
Primeiro, um pouco de contexto: sou engenheiro de software de IA com mais de dez anos de experiência, metade dos quais passei na FAANG. A primeira metade da minha carreira foi como engenheiro de sistemas, e não como desenvolvedor, mas escrevo código há quase 15 anos.
Sem mais delongas, vou explicar como nossa equipe começou a usar IA para escrever código **de produção (production code)** de verdade.
1. Você sempre deve começar com um **documento de design técnico**. Esta é a parte mais central de todo o trabalho. Este documento é como uma proposta, você precisa convencer um número suficiente de partes interessadas (stakeholders) de que sua solução é viável. Somente após a aprovação do design, você pode começar a desenvolver o sistema em si. Este documento deve incluir a arquitetura completa do sistema, planos de integração com outros sistemas, etc.
2. Antes de iniciar o desenvolvimento, deve-se realizar uma **revisão de design (Design review)**. Nesta fase, os engenheiros seniores (Senior Engineers) da equipe vão revisar seu documento de design minuciosamente. Isso é algo bom, eu chamo isso de **"antecipar a dor"**.
3. Se a revisão for bem-sucedida, você pode oficialmente iniciar o trabalho de desenvolvimento. Nas primeiras semanas, todos gastarão muito tempo escrevendo documentos mais detalhados para cada subsistema (subsystem) que a equipe de desenvolvimento precisa construir.
4. Em seguida, vem o desenvolvimento do **backlog** e o **planejamento de sprints (sprint planning)**. Nesta fase, os desenvolvedores se reúnem com os gerentes de produto (PMs) e gerentes de projeto técnico (TPMs) para dividir os grandes objetivos em tarefas específicas que os desenvolvedores podem executar.
5. **Desenvolvimento de software**. Finalmente, podemos começar a codificar e eliminar as tarefas. E aqui é onde a IA brilha, ela é realmente nosso **multiplicador de força (force multiplier)**. Estamos adotando o modelo de **desenvolvimento orientado a testes (Test Driven Development, TDD)**, então a primeira coisa que faço é fazer com que o **agente de IA (AI agent)** escreva os casos de teste para a funcionalidade que estou desenvolvendo. *Somente quando os testes estão prontos, eu começo a fazer com que o agente de IA me ajude a construir a funcionalidade específica*.
6. **Revisão de código**. Nosso código precisa da aprovação de dois desenvolvedores antes de ser mesclado ao branch principal (main). Nesta etapa, a IA também mostrou um grande potencial, podendo nos ajudar na revisão.
7. **Teste em ambiente de pré-lançamento (staging)**. Se tudo correr bem nos testes, nós lançamos oficialmente no ambiente de produção (prod).
Em resumo, desde a proposta de funcionalidade até o lançamento final, descobrimos que a **velocidade do processo aumentou cerca de 30%**. Isso é um grande avanço para nós.
**Resumo (TL;DR):** Sempre comece com um documento de design e arquitetura sólido; depois implemente isso em partes; e sempre escreva os testes primeiro.

13,31K
Top
Classificação
Favoritos