Bluebabbler

Scimmia di storie. Sviluppatore antico.

Vibe coding : il culto dell'ignoranza

Vibe coding : il culto dell'ignoranza

Pubblicato da Stefano Castelvetri il 22/04/2025

Era anche sfuggito al mio (pur distratto) radar e non me ne sarei accorto se non fosse per il solito podcast (Data Knightmare) sempre sul pezzo.

Negli ultimi mesi, a una velocità che ha un che di sospetto (*), è spuntato un termine nuovo, vibe coding, nella bolla di Twitter, TikTok e altri ambienti a bassa densità di pensiero critico.

Un concetto che, come accade nel regno dei tech influencer, nasce più per generare engagement che per dire qualcosa di sensato. Ma cosa vuol dire davvero “vibe coding”? E soprattutto: perché è un sintomo preoccupante di un progressivo allontanamento dalla serietà nella pratica dell’ingegneria del software?

Cos’è il “vibe coding”?

Coniato da Andrej Karpathy, co-fondatore di OpenAI e responsabile del progetto Autopilot Vision di Tesla. Nasce da questo sconcertante e imbarazzante tweet:

There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like "decrease the padding on the sidebar by half" because I'm too lazy to find it. I "Accept All" always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.

Secondo i suoi autoproclamati profeti, spuntati subito come funghi e spesso personaggi noti più per i thread virali che per risultati concreti, “vibe coding” è quel modo di programmare che ignora deliberatamente la struttura, l’architettura, i pattern e spesso anche la logica. Si programma “a sentimento” lasciandosi guidare da un LLM che funziona 'troppo bene' (ma lo avete mai usato davvero?), seguendo l’intuizione del momento, lasciandosi trasportare dal flusso, come se il codice fosse una jam session. Non serve capire a fondo il problema e nemmeno leggere il codice: basta “sentire” che una soluzione è giusta e fare 'copia e incolla'. Il codice funziona? Boh. È scritto bene? Poco importa. Ha senso? Chi lo sa.

La degenerazione della programmazione del software

"It mostly works".

Dietro questo approccio si nasconde l'evidente culto dell’ignoranza travestito da creatività.

È l’equivalente, nel mondo dello sviluppo software, del mettere citazioni a caso in una presentazione senza sapere di cosa si sta parlando. Anzi, peggio, è un rifiuto esplicito dell’analisi, della progettazione, della responsabilità tecnica. Perché imparare a strutturare un’applicazione, fare analisi, comprendere il dominio del problema, o scrivere test, quando puoi semplicemente “seguire il flusso”?

Scrivere codice che funziona ("mostly") non significa aver scritto buon codice che durerà, significa solo aver vinto, per oggi, alla roulette del debito tecnico.

'na botta de culo, insomma.

L’ingegneria del software

Non so se ti capita di utilizzare spesso servizi web, applicazioni, piattaforme. Non so se hai notato un progressivo deterioramento della qualità. Sistemi che si spaccano da un giorno all'altro. Interfacce e documentazione scritte malissimo. Funzionalità costantemente rotte. E non parlo di startup nate ieri o applicazioni hobbistiche, ma di nomi e brand che dovrebbero proporre il massimo della qualità. E invece la qualità di cui usufruiamo oggi è quella di un software in eterna versione beta che viene buttato allegramente in produzione.

Eppure l’ingegneria del software esiste, e sarebbe una disciplina nata proprio per affrontare la complessità crescente dei sistemi digitali. Serve a garantire affidabilità, manutenzione, scalabilità. Non è un insieme di regole arbitrarie messe lì per limitare la "creatività degli sviluppatori". Non è un noioso regolamento da "si è sempre fatto così", ma un corpo di conoscenze costruito su decenni di errori reali, incidenti costosi, fallimenti clamorosi.

Ciarlatani digitali

La moderna Silicon Valley, ormai, sembra fatta di persone che hanno fatto carriera più sulle chiacchiere che sulla sostanza. Raccogli i soldi e scappa verso il prossimo progetto. Ma quando i soldi li prendi dal fund raising e non dagli utenti, stai realizzando il tuo prodotto per loro, e non è tanto importante costruire qualcosa che funzioni bene, quanto presentare una bella scatola colorata senza nulla dentro.

'Grow fast', per questi prodotti, è più importante di robustezza e affidabilità. E i soldi purtroppo arrivano in quantità anche agli 'evangelist' che scrivono boiate. Con un'audience composta da junior in cerca di punti di riferimento. Il risultato è deleterio: sta crescendo una generazione che interiorizza l’idea che la programmazione sia una performance più che un mestiere. Che crede che scrivere codice sia come fare freestyle, invece che costruire sistemi dove lavoreranno milioni di utenti o analizzare i problemi nella loro interezza ben prima di iniziare a scrivere il codice.

Il danno è profondo: non solo perché mina la qualità dei prodotti, ma perché diffonde una cultura dell’approssimazione che avvelena l’intera industria.

La programmazione è un atto creativo, certo. Ma è anche un atto tecnico, preciso, con conseguenze. Non abbiamo bisogno di influencer che ci dicano di "seguire il cuore". Abbiamo bisogno di ingegneri che conoscano gli strumenti, le architetture, e che sappiano come si scrive una base di codice comprensibile anche tra sei mesi.

Scrivere buon codice, un buon prodotto, non è questione di vibes e di quanto è fico non capire un cazzo del problema. È questione di rispetto: per il lavoro, per gli utenti e per chi verrà dopo di noi.

(*) Scrivo ad aprile e il termine è stato usato per la prima volta a febbraio. Ci sono 5.450.000 risultati su Google, pagina di Wikipedia, liste di strumenti (?) e introduzione del termine nel Merriam-Webster Dictionary. Per me questo non è né 'trend' né 'spontaneo'. Questa si chiama 'campagna di marketing'.

Commenti

unruhe:

Oramai la professione di "informatico" è diventata una cosa orribile. Non ti riconoscono più la bravura perché tanto tutti sanno fare tutto e tutti fanno tutto. Come lo fanno, però, non frega una beata minchia più a nessuno. E, infatti, anche gli stipendi ne sono conseguenza di queste scelte veramente diaboliche di distruggere tutto.

Pubblicato il: 22/04/2025
Bluebabbler:

Ciao, grazie per la visita! Purtroppo è tutta una conseguenza di una lunga e inarrestabile corsa al ribasso: le competenze non contano niente quando i soldi li intasca chi sa spararla più grossa degli altri.

Pubblicato il: 23/04/2025
Mikael Compo:

Non conoscevo questa dinamica, mi aspettavo più ricerca sulla competenza informatica. Settore dopo settore siamo in mano al marketing (alla propaganda anche) ma senza sostanza che avvalori lo sforzo.

Pubblicato il: 24/04/2025
Bluebabbler:

Ciao! Purtroppo il marketing permea ogni settore, o quasi. Venditori di 'snake oil' dotati di tecnologie moderne e mezzi di comunicazione fin troppo efficaci.

Pubblicato il: 24/04/2025