Vibe Coding - Oltre l'entusiasmo - Parte 2
- Massimiliano Turazzini
- 23 mar
- Tempo di lettura: 13 min
Dopo che Andrej Karpathy ha definito il Vibe Coding c'è un'esplosione di definizioni, idee, speculazioni, generazione di hype, come si è visto poche volte. L'ho visto accadere in diretta nelle ultime settimane ed è stato come aver assistito alla nascita di un mondo nuovo.
È bastato dare un nome alla "possibilità di creare codice e gestirlo tramite AI Generativa" perché il mondo, non solo quello nerd, si accorgesse di questa "nuova disciplina." che da molti mesi sta interessando i più tecnici.

Dare un nome alle cose è sicuramente importante. Permette di definirle, identificarle, ritagliare loro uno spazio nella nostra mente. Lo facciamo sempre, con tutto, è una cosa che come umani ci serve. Nelle scienze cognitive e nella psicologia si studiano molto questi comportamenti: semplificare ci aiuta a categorizzare il mondo in gruppi riconoscibili.
Con il problema che questo determina Bias Cognitivi.
Ecco perché sto insistendo con queste psico-cose: il Vibe Coding rischia di essere una di quelle categorie che illudono di semplificare, ma nascondono un universo.
Da un lato i programmatori con più esperienza lo vedono come un gioco di chi non capisce nulla di informatica, dall'altro, i 'no dev' e gli aspiranti tali, lo vedono come un'ennesimo superpotere.
Chi ha ragione? Forse solo l'AI che, in questo modo, si è assicurata un nuovo pubblico e nuovi problemi da risolvere.
Non solo coding: il vero tema è il Vibe Making
Ci tengo a dirvi che non è solo un problema di Vibe Coding ma di Vibe Making. Con l'arrivo dell'AI Generativa stiamo utilizzando l'AI per compiti che, prima, non sapevamo fare bene o del tutto, sentendoci comunque supereroi.
Tutti sappiamo scrivere ma non siamo scrittori, o editor, o creativi
Tutti sappiamo dipingere ma non siamo pittori o artisti.
Tutti sappiamo progettare una casa (così dicono i miei amici architetti) ma non siamo geometri, architetti, ingegneri.
Tutti sappiamo programmare (adesso) ma non siamo programmatori
Il Vibe Making nasce proprio qui quando tutti sappiamo fare X ma non siamo Y, quando con trattiamo l'AI come un guru anziché come uno stagista, quando non sappiamo giudicare l'output.
E questo non è necessariamente un male: è un modo, nuovo, per estendere i limiti e spingerci sempre fuori dalla nostra zona di comfort. E include anche il Vibe Coding.
E il codice, fidatevi, è il campo da gioco perfetto per mostrarvi cosa succede davvero con il 'Vibe Making'.
Nello scorso post vi ho raccontato un po' il Vibe Coding e quali sono alcuni aspetti positivi. Andiamo ora a vedere l'altro lato della medaglia perché la verità -come sempre- è un po' più complessa.
Banalizzare un mestiere
Guardate bene questo ennesimo iceberg (di Rakesh Gohel): sotto la punta, c’è un’intera flotta di architetture, livelli software e burocrazie tecniche da maneggiare con cura.
Ci sono anni di studio, di esperienza, di frustrazione, di pratica che, come in ogni mestiere, sono conosciuti solo da chi, quel mestiere, lo fa.

Dire che 'i programmatori spariranno' è una frase un po' codarda e, nel migliore dei casi pretestuosa.
Non conoscere e ignorare quanto sta sotto la superficie significa banalizzare una professione molto complessa.
Non conoscere cosa c’è sotto va bene, purché ne siate consapevoli: è un primo passo. Se siete in buona fede, questa consapevolezza può diventare la chiave per iniziare a programmare – anche se non siete (ancora) programmatori.
Quindi va bene lo stesso: come possiamo provare a giocare a fare Van Gogh con l'AI perché non provare a farlo anche con il coding?
...però chiariamoci
Facciamo ordine. Ecco una mappa semplice del Vibe Coding per capire dove vi trovate oggi – e dove potreste arrivare domani.
Partiamo con gli strumenti e dividiamoli in due grandi gruppi
Vibe Coding App – Piattaforme come Lovable o Replit, pensate per essere super accessibili, anche per chi non ha mai scritto una riga di codice.
Classic Dev Tools – Strumenti "da sviluppatore", come Visual Studio Code, Copilot che a loro volta utilizzano plugin avanzati come quelli visti nel post precedente. Sono i normali ambienti di lavoro perfetti per chi programma già.
Dall’altro, abbiamo due tipi di utenti pronti ad usarli:
Dev – Chi sa già programmare (anche quelli che hanno smesso ma non si sono del tutto arrugginiti).
No Dev – Chi non ha esperienza e parte da zero.
Sia gli strumenti che gli utenti hanno un sacco di sfumature in mezzo, lo so. Però vorrei che partissimo da questo preconcetto diffuso (e probabilmente vero): i Dev si trovano bene nel loro ambiente di sviluppo “classico” e fanno un po’ più fatica nelle piattaforme di Vibe Coding, dove il controllo è minore. I No Dev, invece, si sentono più a loro agio con le nuove app di Vibe Coding, perché la strada per arrivare a scrivere anche solo un “hello world” in Python, senza AI, sarebbe tutta in salita.

🔴 A – I No Dev con strumenti classici: nella Discomfort Zone totale
🟢 B – I Dev con strumenti classici: ovviamente nella loro Comfort Zone
🟢 C – I No Dev con le Vibe App: scoprono un mondo accessibile
🔴 D – I Dev con le Vibe App: si sentono spesso limitati o frustrati
Come si incastrano questi due mondi?
I Dev alla fine si sentiranno a casa in entrambi i contesti: sia con gli strumenti tradizionali, sia con il Vibe Coding, anche se con quest’ultimo devono stare più attenti a cosa fa l’AI per non perdere il controllo del codice.
I No Dev trovano nel Vibe Coding una porta d’accesso all’universo dello sviluppo, riuscendo a creare cose che fino a ieri erano impensabili. Ma con gli strumenti più tecnici, almeno all’inizio, si scontrano con un bel muro di difficoltà.
Dev o No Dev, ognuno ha la sua strada. Ma col Vibe Coding, le strade iniziano a intrecciarsi.
La buona notizia? Col tempo e con la giusta curiosità, quello che oggi sembra un problema diventa una palestra. Le zone di discomfort diventano grandi opportunità di crescita per entrambi.
Vi torna? Provo a spiegarmi meglio
Qualità attesa e capacità di controllo
C’è una costante che vale sempre: chi ha competenze specifiche riesce a sfruttare meglio gli strumenti avanzati, affinando ulteriormente le proprie skill. Chi ha già le mani sporche di codice, riesce a spremere gli strumenti avanzati molto di più.
Il problema arriva sempre lì: quando volete qualcosa fatto davvero bene, sbattete contro un muro.

🔵 Per chi non ha mai programmato, le Vibe App sembrano una passeggiata… finché non serve davvero qualità.
🟠 Per i Dev, gli strumenti classici restano la casa ideale, ma la fatica aumenta man mano che si alza l’asticella.
In entrambi i casi, c’è un punto in cui sbattiamo contro il muro. In cui la difficoltà aumenta. Solo che... è un muro diverso per ciascuno.
Con le Vibe Coding Apps, l’ingresso è semplice: basta scrivere un prompt e ottenere un risultato. Chi ha già qualche esperienza sa cosa chiedere e fino a dove può spingersi. Chi invece è alle prime armi si accorgerà presto che qualcosa non torna, sparisce la magia, iniziano i problemi... **e qualcosa inizia a sfuggire.
E così, Dev e No Dev si trovano prima o poi bloccati da una complessità inattesa. 'Ci pensa l'AI' è una promessa che sembra essere stata disattesa.
Partire dai Classic Dev Tools con i loro plugin AI, invece, richiede più competenza iniziale e una mentalità più elastica per chi non ha mai programmato. L'ambiente è più tecnico, l’apprendimento iniziale può risultare ripido, e l'illusione che l’AI faccia tutto da sola si scontra rapidamente con la realtà.
Per i Dev, però, il percorso è diverso: potranno andare molto più lontano, sfruttando strumenti che moltiplicano la loro produttività conoscendo meglio le profondità del mare, cosa succederà dopo e avendo esperienza. Ma anche loro, prima o poi, troveranno un muro: quello della difficoltà di controllo. Solo più avanti e con più consapevolezza.
Perdere il controllo è comunque facile
La prima cosa che accade lavorando con questi tool è che non si ha il controllo di quello che succede. Spoiler: perderete il controllo molto più in fretta di quanto pensiate. Gli agenti AI sono molto veloci a scrivere, programmare, aprire file ed è impossibile seguire passo passo quello che fanno, basta girarsi un'attimo o rispondere ad una mail e l'agente vi ha riscritto il backend.
Ci chiedono conferma delle loro azioni, certo, ma questo implica aprire richieste complesse, guardare il codice, capire nei dettagli dove e perché il tool si è fermato, provare a dare una risposta congruente e logica.
E se conoscete almeno un programmatore, sapete quanto odiamo leggere (e capire) il codice scritto da altri. Figuriamoci da un’AI senza briefing.
I no dev hanno un vantaggio: non capiscono bene cosa stia succedendo e, se tutto fila liscio, non fanno domande e la possono scampare (per il momento).
Aspetto positivo per tutti? Se il codice non é documentato ve lo potete far spiegare al volo, in dettaglio e con pazienza (da parte dell'AI). Eppure è molto facile schiantarsi su una rampa di improduttività inattesa che, a volte, ruba ore o giorni di lavoro.
L'effetto farfalla nel prompting
Lasciare che l’AI interpreti da sola un’analisi (anche se scritta bene) e poi generi migliaia di righe di codice, spesso porta a risultati inattesi. A volte surreali.
"Eh, ovvio!" dirà qualcuno. L'algoritmo potrebbe non fare esattamente quello che pensavamo, potrebbe prendere decisioni costose, sbagliare l'approccio sui dati, usare librerie 'strane' o non più manutenute...
Certo, è l'effetto delle leggi sul caos, dei battiti di farfalla e... avete capito.
Un esempio: Ho provato manus.im, uno dei tool più 'cool' del momento per il Vibe Making. E gli ho fatto la richiesta sotto con l'obiettivo di avere una dashboard con tutte le opzioni per un evento che dovremo organizzare. Volevo capire questa cosa 'per me', per capire come organizzare un evento che forse dovrò fare.

Il mio intento? Capire costi, opzioni e varianti. Il suo risultato? Un sito per vendere eventi al pubblico. Non proprio quello che avevo chiesto.

Un cambio di traiettoria non banale: da strumento interno, pensato per analizzare costi, a strumento di vendita.
Qui il problema stava nel prompt iniziale, che, nonostante le domande chiarificatrici, era ambiguo. E alla fine si è fatto un piano tutto suo, senza coinvolgermi, senza permettermi di intervenire nel correggerlo e ha preso la traiettoria sbagliata proprio all'ultimo momento.

Anche qui torna il solito tema: il controllo. E, per chi non è esperto, la difficoltà di capire cosa sia successo davvero.
E da qui si apre un altro capitolo, molto più importante di quanto sembri.
Sai scrivere un'analisi?
Quando parlo di AI Generativa la prima cosa che dico è che è importante saper fare le domande giuste; saper chiedere ad un'AI quello che vogliamo.
È piuttosto difficile farlo per avere risultati complessi quando questi sono testuali.
Quando i prompt si devono trasformare in codice, tutto si complica. Soprattutto se non avete mai scritto l’analisi di un nuovo software.
Scrivere un'analisi dei requisiti e delle specifiche ben fatta è un compito non semplice. Ci si può sicuramente far aiutare da un'AI Generativa ma, senza esperienza, ad oggi, si va poco lontani.
E sì, la cosa più importante qui si chiama solo in un modo: esperienza.
E poi, domanda secca: siete davvero in grado di capire cosa significa “lasciare fare” all’AI tutte le attività qui sotto?

Ogni riga è un'azione che l'AI può fare senza chiedere il vostro permesso, in silenzio, senza avvisarvi.
Che modelli usa?
Con le Vibe Coding App è difficile dirlo. Con i Plugin per i Dev Tools Classici potete scegliere.
Certo, Claude Sonnet 3.7 è fantastico: sembra il miglior programmatore al mondo. Ma ha il problema della Context Window che non è enorme (se non sapete cos'è chiedete alla vostra AI preferita o scrivetemi che magari la racconto a breve, diventa un discorso lungo da affrontare qui) e dei costi di utilizzo. Un'alternativa è usare Gemini che permette una context window di 2M token. Che in alcune situazioni è utilissima ma offre prestazioni peggiori (non mi piace come ragiona e le soluzioni che propone ).
Cline e Roo Code vi danno il controllo di quanto la stanno utilizzando, e questo, fidatevi, fa la differenza.

E se si impasta tutto?
Ok voi l'analisi la sapete fare bene, siete molto specifici nei prompt. Nonostante questo accade spesso che 'l'assistente' non capisca cosa gli sto dicendo.
Sia che si parli di interfaccia utente, che di backend, a volte c'è proprio un problema di 'loop mentali' dell'AI dai quali è molto difficile uscire. Avete presente quel senso di... confusione incollata e pesante che a volte vi assale quando programmate?
Capita spesso che “l’assistente” AI entri in una sorta di crisi esistenziale. Segnalate un problema → l’AI dice “tutto fatto” → ma non è vero → ci riprovate → vi arrabbiate → e alla fine litigate con una macchina che non si sposta di un millimetro.
E ci riprovate...

E se cambia tutto da solo? O peggio, una virgola?
A volte questi agenti cambiano idea sulle loro stesse decisioni e decidono di riscrivere intere parti di codice a seguito di un nostro semplice battito di ciglia. Dobbiamo supervisionarli, controllarli, avere modo di decidere cosa stanno facendo.
Questo vale anche per le Piattaforme di Vibe Coding: quando si incartano vi accorgerete che possono fare danni. Grossi. Siete in grado di proteggere i sorgenti? Sapete cosa è GitHub? Se no... aspettatevi qualche grattacapo.
E poi ci sono gli altri problemi. Quelli nascosti.
Vi lascio con un po' di domande per la gestione di problemi aggiuntivi che incontrerete. Se rispondete 'boh' a troppe domande aspettatevi qualche problema a breve.
Avete capito davvero come funziona questo software? Sareste in grado di spiegarlo?
Sarà sicuro? Siete in grado di capirlo?
Che fine fanno questi dati? Davvero?
Su che cloud è ospitata l'app? È sicuro?
L'IT condividerà questo modo di lavorare?
Quanto costerà davvero? (non solo crearlo, anche manutenerlo)
Sarà davvero tutto corretto?
Scalerà?
Se non sapete cosa state facendo forse avete un po' di debito tecnico, se non conoscete le architetture software o non sapete giudicare la qualità del prodotto generato prima o poi incontrerete uno dei problemi sopra. E prima o poi uno di questi problemi vi verrà a cercare.

Cosa significa invece, davvero "fare le cose bene"?
Vi faccio un esempio di cosa significa quando il Vibe Coding si fa serio. Seguo da un po' un 'ragazzo' che si chiama Reuven Cohen che sta lavorando nel mondo degli agenti in modo incredibile e sta generando contenuti che mi tengono sveglio la notte. E si muove in pochi giorni alla velocità con cui si muove una grande software house in qualche anno.
Con il Vibe Coding ha realizzato un'app per controllare la sicurezza dei repository GitHub immaginando perfettamente cosa può andar male.
Se avete intenzione di fare sul serio, vi suggerisco di leggervi questo post per avere un'idea della complessità che sta dietro ad ogni progetto fatto bene.
Basta drammi: torniamo all'entusiasmo
Vorrei però condividere anche alcuni aspetti positivi:
molte più persone di prima potranno diventare, se non programmatori esperti, almeno ‘amatori’ del coding ed iniziare a fare, sperimentare, sporcarsi le mani.
Il fossato tra 'tecnici' e 'non tecnici' diventerà più stretto e meno profondo, più facile da attraversare se chi non ha esperienza inizierà a capire quello che c'è sotto la superficie dell'iceberg. Prima era un canyon ma ora può diventare un gradino.
Tra gli skill di un manager, o di chiunque approcci il Vibe Coding, ora ci sarà anche la capacità di generarsi codice al volo, solo per completare un task magari ripetitivo o semplicemente difficile da fare con il vecchio Excel. Aspettiamoci di vedere questo termine nei curriculum molto presto.
Il Vibe coding vi aiuta anche nell’analisi di dati, sia quantitativi che qualitativi, magari utilizzando a sua volta AI Generativa per le analisi (analisi di form con domande aperte ad esempio, produzione dí Dashboard per analisi di file che vi arrivano periodicamente, ecc.). Io mi sto divertendo come un matto. Ogni file che mi capita sotto mano diventa una dashboard, ogni tabella diventa un'app. E bastano ChatGPT o Claude per rendersi conto di cosa parlo.
E questo sta generando milioni di nuove micro applicazioni sempre più potenti e performanti che aiuteranno in molte situazioni difficili praticamente chiunque.
Un nuovo tipo di inquinamento
In ogni caso il mondo si riempirà una nuova forma di spazzatura digitale: il Software usa e getta! Software che sarà sviluppato solo per compiti tattici, usato una o poche volte, e poi dimenticato. L’unica consolazione é che non finisce in discarica. Tornerò a parlarne di sicuro: il mio Mac é diventato una selva oscura di applicazioni di ogni tipo che, dopo aver generato, spesso dimentico pure di aver fatto.
I Junior hanno ancora un futuro?
In tutto questo ho parlato dando per scontato che i Dev siano tutti persone con esperienza. Ma ovviamente non è sempre così.
In un recente colloquio privato con un dirigente governativo di una piccola nazione europea, mi è stato detto con molta chiarezza che l'istruzione dovrà andare nella direzione di formare persone che:
Abbiano spirito critico
Siano in grado di comprendere a fondo un problema
Siano in grado di spiegarsi chiaramente
Abbiano senso logico
Abbiano basi di psicologia e filosofia
Siano in grado di imparare ad imparare.
Tutto il resto si può imparare.
Condivido in pieno questa visione. Che risolve in me una delle domande più importanti che mi girano in testa da anni.
Come facciamo a coinvolgere le 'nuove leve' nel mondo del lavoro ora che l'AI Generativa sembra fare sempre più compiti da junior?
Ora che l'AI è uno stagista digitale cosa faremo fare agli stagisti umani?
Nello specifico: ha ancora senso imparare a programmare a scuola e intraprendere la carriera dello sviluppatore?
Chi avrà le skill sopra non avrà problemi. Anzi: imparerà prima, meglio e con meno fatica di chiunque altro. Lo farà in modi nuovi, non ancora codificati, per qualunque lavoro, facendosi assistere da un’AI generativa come tutor in meravigliose sessioni di Vibe Making
I nuovi programmatori potranno quindi nascere con un 'layer' in più: grazie alla potenzialità dell'AI Generativa e al Vibe Coding potranno apprendere più in fretta, meglio, sbagliando meno.
Requisito #1: Avere la capacità, la pazienza, l'umiltà di mettersi a leggere il codice generato, farselo spiegare, cercare di modificarlo 'a mano' e vedere cosa succede. Per chi ha seguito i miei workshop si parla di FAFO 4.0!!!
E forse la teoria delle 10.000 ore per diventare esperto in una materia diventerà la teoria delle 1.000 ore...
Ma anche questo tema è immenso e richiede ulteriori riflessioni
Quindi...
Lo so, ho scritto un sacco. Ma il tema è enorme, e importante.
Come raccontavo all'inizio: se l'AI Generativa sta offrendo 'a chiunque' la possibilità di parlare con modelli di AI e fare tutte le cose incredibili che state vedendo nel Vibe Making, quando la applicate al Coding significa che 'chiunque' ora può approcciarsi al mondo della programmazione senza per forza essere un programmatore.
Però il tema è chiaro: il Vibe Coding è qui per rimanere. È molto probabilmente un nuovo paradigma operativo, culturale e cognitivo che ridisegna l'accesso allo sviluppo software e, più in generale al problem solving in ambito lavorativo.
Ciò nonostante questo richiederà un lavoro di maturazione, che si otterrà con l'esperienza, per 'smontare il mito' vedendone limiti e trappole. Senza consapevolezza, controllo, esperienza si rischia di tornare indietro, sminuire il lavoro di chi sa sviluppare e spaventare i giovani che vogliono intraprendere questa bellissima professione.
l Vibe Coding è potente, ma richiede nuove responsabilità. La capacità di fare domande, di spiegarsi, di ragionare, diventa la nuova competenza fondamentale.
Provateci! Il Vibe Coding è a un prompt di distanza da voi!
A presto!
Massimiliano
Comments