Vieni a imparare e a criticare come le grandi aziende come FAANG "programmano per sensazione (Vibe Coding)": "Prima fai annuire abbastanza stakeholder" "Poi fai una revisione del design" "Poi ci sono settimane di lavoro sui documenti" "E poi i product manager e i project manager dividono i compiti" Dopo tre mesi, finalmente si può iniziare a fare Vibe Coding! --- Ecco come facciamo Vibe Coding in FAANG Ciao a tutti. Il motivo per cui voglio pubblicare qui è che vedo sempre qualcuno che dice che il codice scritto con l'aiuto dell'AI non può essere utilizzato in prodotti reali. Questo è assolutamente falso. Prima di tutto, una breve introduzione: sono un ingegnere del software AI con oltre dieci anni di esperienza, metà dei quali trascorsi in FAANG. La prima metà della mia carriera l'ho trascorsa come ingegnere di sistema, non come sviluppatore, ma scrivo codice da quasi 15 anni. Detto ciò, ora vi racconterò come il nostro team ha iniziato a utilizzare l'AI per scrivere vero **codice di produzione (production code)**. 1. Devi sempre partire da un **documento di design tecnico**. Questo è il cuore dell'intero lavoro. Questo documento è come una proposta, devi convincere abbastanza stakeholder che la tua soluzione è fattibile. Solo se il design viene approvato, puoi iniziare a sviluppare il sistema stesso. Questo documento deve contenere l'architettura completa del sistema, i piani di integrazione con altri sistemi, ecc. 2. Prima di iniziare lo sviluppo, è necessario effettuare una **revisione del design (Design review)**. In questa fase, gli ingegneri senior del team esamineranno il tuo documento di design in modo approfondito. È una cosa positiva, io la chiamo **"anticipare il dolore"**. 3. Se la revisione passa senza problemi, puoi ufficialmente avviare il lavoro di sviluppo. Nelle prime settimane, tutti spenderanno molto tempo a scrivere documenti più dettagliati per ogni sottosistema (subsystem) che il team di sviluppo deve costruire. 4. Poi c'è lo sviluppo del **backlog** e la pianificazione degli **Sprint (sprint planning)**. In questa fase, gli sviluppatori si riuniscono con i product manager (PMs) e i technical project manager (TPMs) per suddividere l'ambizioso obiettivo in compiti specifici che gli sviluppatori possono eseguire. 5. **Sviluppo software**. Finalmente, possiamo iniziare a scrivere codice e a completare i task. E qui, l'AI mostra il suo potere, è praticamente il nostro **moltiplicatore di efficienza (force multiplier)**. Utilizziamo il modello di **sviluppo guidato dai test (Test Driven Development, TDD)**, quindi la prima cosa che faccio è far scrivere all'**agente AI (AI agent)** i casi di test per la funzionalità che devo sviluppare. *Solo quando i test sono pronti, inizio a far costruire all'agente AI la funzionalità concreta*. 6. **Revisione del codice**. Il nostro codice deve essere approvato da due sviluppatori prima di essere unito al ramo principale (main). In questa fase, l'AI ha anche mostrato un enorme potenziale, può aiutarci nella revisione. 7. **Test nell'ambiente di pre-rilascio (staging)**. Se i test vanno bene, possiamo ufficialmente rilasciare in produzione (prod). In generale, dal suggerimento della funzionalità al rilascio finale, abbiamo scoperto che l'intero processo ha **aumentato la velocità di circa il 30%**. Questo è un enorme progresso per noi. **Troppo lungo, non leggo (TL;DR):** Inizia sempre con un solido documento di design e architettura; poi implementalo pezzo per pezzo; scrivi sempre i test in anticipo.
13,27K