Immagine AI

Nel mondo dell’ingegneria del software, un termine nuovo — vibe coding — ha acceso dibattiti accesi sul futuro del mestiere. Si tratta di una modalità di sviluppo in cui il programmatore non scrive direttamente quanto codice, ma piuttosto dialoga con un modello AI che compone per lui i moduli, risponde ai prompt, costruisce funzioni e struttura applicazioni.

L’attrazione di vibe coding è chiara: agilità, prototipi in poche righe, rapidità nel trasformare un’idea in qualcosa che “funzioni abbastanza” per essere sperimentato. Le AI di oggi possono generare frammenti ben strutturati, correggere errori, rifattorizzare componenti, suggerire test, e risparmiare ore di lavoro manuale e noioso. Perciò, per compiti ripetitivi o moduli standard, il modello a prompt appare affascinante e allettante.

Ma il punto centrale è proprio questo: se il codice è generato da un modello che “sa scrivere”, quale ruolo rimane all’ingegnere umano? Secondo Sonnenblick, il rischio è quello di un’erosione graduale delle competenze di fondo, una dipendenza da AI tali che i programmatori junior saltino le fasi di apprendimento — debug manuale, progettazione strutturale, comprensione profonda dell’architettura — che formano l’esperienza necessaria per diventare ingegneri senior. In altre parole, si può correre il pericolo che il mestiere stesso diventi “prompting” più che “costruzione”.

Questa tensione fra potere e responsabilità è presente anche nella letteratura emergente. In uno studio recente (Vibe Coding in Practice: Motivations, Challenges, and a Future Outlook), gli autori raccolgono molte testimonianze che descrivono una sorta di “paradosso velocità-qualità”: i vibe coder spesso vivono momenti di “flow” e gratificazione per la rapidità con cui ottengono un risultato, ma si trovano poi a tollerare codice fragile, difficile da mantenere e poco testato. Molti saltano le pratiche classiche di qualità (test, revisione, design), confidando nel modello AI o delegando a esso il compito anche di correggere i propri errori.

Un altro contributo accademico sottolinea come il paradigma del vibe coding stia spostando il lavoro cognitivo: l’intento del programmatore non è più tradotto in un codice che egli stesso costruisce, ma mediato dall’AI che inferisce e traduce quell’intento. In questo passaggio, la responsabilità — chi capisce cosa sia stato prodotto, chi corregge gli errori, chi ne risponde — può diventare opaca. Le distinzioni fra ciò che l’umano ha “chiesto” e ciò che l’AI ha “deciso” possono dissolversi.

Un terzo studio qualitativo (Good Vibrations? A Qualitative Study of Co-Creation, Communication, Flow, and Trust in Vibe Coding) esplora le dinamiche reali di chi usa vibe coding: emerge che la fiducia nel modello AI regola quanto l’utente delega il compito, oscillando tra “co-creazione” (interazione stretta) e delega totale. Problemi ricorrenti emergono in aree come la specifica del requisito, la latenza delle risposte dell’AI, la difficoltà di debug e i costi cognitivi quando il modello “si sbaglia”. In molte situazioni, la collaborazione con l’AI è fluida fino a che il problema diventa strutturale o complesso: allora la “magia” svanisce e bisogna intervenire da manuale.

E’ bello che l’AI possa “consigliarci” e “schizzare al posto nostro”, ma se non sappiamo più leggere il risultato, interpretarlo, modificarlo o estenderlo con criterio, cosa resta del mestiere dell’ingegnere? Il rischio non è che gli ingegneri scompaiano, ma che diventino operatori di livello intermedio e perdano l’”ossatura” tecnica che li rende capaci di innovare e intervenire nelle emergenze.

In ultimo, possiamo chiedersi se questa trasformazione sia inevitabile o evitabile. Vibe coding non è solo un fenomeno tecnologico — è un modo di pensare il software, in cui il codice diventa oggetto “vuoto”, modellabile da prompt, piuttosto che struttura viva da progettare e custodire. Se chi oggi studia informatica si abitua a “dire le idee” anziché “scriverle”, rischia che alcune nozioni fondamentali (complessità computazionale, benefici delle strutture dati, trade-off di efficienza) diventino margini, non colonne portanti della cultura tecnica.

Tuttavia, un uso consapevole e critico dell’AI può trasformare vibe coding da “via pigra” a “strumento avanzato”: usare AI per accelerare parti standard, ma preservare spazi di progettazione umana, review manuali, sperimentazione creativa. In quel bilanciamento sta la chiave: non rinunciare alla tecnica, ma ridefinirla in un’era in cui il “fare codice” potrebbe significare anche “fare dialogo con l’AI”.

Di Fantasy