L'Arte Dietro Ogni Riga
Dopo 40 anni a scrivere software, sono arrivato a una conclusione che nessun framework, nessun linguaggio e nessuna AI ha cambiato: costruire qualcosa che funzioni davvero — semplice o complesso — non è solo competenza tecnica. È artigianato. E l'artigianato è arte.
Più della Sintassi: il Software come Artigianato
Un artigiano e un tecnico possono costruire entrambi una sedia. Il tecnico segue il manuale. L'artigiano capisce perché ogni giuntura è tagliata con quell'angolo, sente quando il legno richiede un approccio diverso, e lascia qualcosa di sé nell'oggetto finito.
Il software non è diverso. La sintassi si impara in una settimana. I design pattern si memorizzano in un mese. Ma sapere quando rompere un pattern, perché una certa astrazione si adatta a questo problema specifico, come rendere un sistema elegante invece che semplicemente funzionale — questa è la parte che non si insegna in un corso. Questo è il tocco dell'artigiano.
Ho sempre creduto che il miglior codice si legga come una frase ben scritta: chiara, intenzionale, senza nulla di sprecato.
Quarant'anni di Apprendimento: dai Mentori all'Intelligenza delle Macchine
Gli strumenti per imparare sono cambiati più radicalmente dello stesso mestiere. Quando ho iniziato nel 1985, la conoscenza arrivava dalle persone — mentori veri, colleghi che avevano già fatto ogni errore che valeva la pena fare. Poi sono arrivati i libri, quasi esclusivamente in inglese, perché quella era la lingua dell'informatica. Chi non sapeva leggere l'inglese era già indietro.
Poi è arrivato internet. Google e Stack Overflow sono diventati la memoria collettiva di ogni sviluppatore sul pianeta. Improvvisamente la risposta a quasi qualsiasi domanda tecnica era a una ricerca di distanza. La barriera si è abbassata significativamente.
Oggi abbiamo l'AI. E con l'AI è arrivato il Vibe Coding — un fenomeno in cui la barriera si è abbassata al punto che quasi chiunque può generare codice funzionante descrivendo quello che vuole in linguaggio naturale. Tutti sono sviluppatori ora. O almeno così sembra.
L'Unica Cosa che l'AI Non Può Sostituire
In musica, due pianisti possono suonare la stessa partitura nota per nota. Uno la esegue. L'altro la interpreta. La differenza non è nelle note — è in ciò che l'interprete porta dall'interno.
Lo stesso vale nel software. Due sviluppatori con lo stesso brief costruiranno due sistemi completamente diversi. Uno sarà tecnicamente corretto. L'altro potrà essere elegante, estensibile, e un piacere da mantenere dieci anni dopo. La differenza non è nei requisiti — è nella mente che plasma la soluzione.
La creatività non si può automatizzare. La capacità di guardare una soluzione esistente e vedere come potrebbe essere migliore, di inventare una nuova astrazione che semplifica tutto, di sapere quando la risposta giusta è meno codice piuttosto che più — queste sono qualità umane. L'AI può assistere, ma non può originare. Lavora da ciò che già esiste. Noi lavoriamo da ciò che potrebbe esistere.
Vibe Coding: Tutti Sono Sviluppatori Ora. O Forse No?
Non sminuisco il Vibe Coding. È una vera evoluzione, proprio come Google fu una vera evoluzione rispetto alla biblioteca. Che più persone costruiscano cose è generalmente positivo.
Ma c'è una differenza tra generare codice e capirlo. Una soluzione generata che non sai leggere, non sai debuggare e non sai estendere non è una soluzione — è una dipendenza. Non hai costruito qualcosa; hai preso in prestito qualcosa che non ti appartiene.
L'artigiano che usa un utensile elettrico è ancora un artigiano. Chi possiede l'utensile elettrico ma non capisce il legno non lo è. Lo strumento non fa l'artigiano. Lo fanno la conoscenza, l'esperienza e il giudizio.
L'industria stessa lo sta dimostrando in modo concreto. Le aziende specializzate nel training dell'AI assumono sviluppatori esperti specificamente per revisionare le soluzioni generate, valutarne la logica e correggere gli errori che il modello non riesce a vedere — un processo noto come RLHF (Reinforcement Learning from Human Feedback). Nel frattempo, sono nate intere società di consulenza che offrono servizi di "AI refactoring", sempre pubblicizzati con la stessa garanzia: programmatori umani che verificano ogni riga prodotta.
Il motivo è semplice. Il codice generato dall'AI soffre di tre problemi che nessun prompt ha ancora risolto: allucinazioni logiche che sono sintatticamente perfette ma semanticamente sbagliate per il tuo dominio specifico; assenza di contesto a lungo termine su come una funzione impatterà l'intera infrastruttura tra due anni; e responsabilità legale, che richiede processi di revisione umana per compliance e liability.
Il programmatore non sta scomparendo. Il ruolo si sta dividendo in due: l'AI genera, l'umano valida e progetta. Il secondo ruolo richiede una comprensione più profonda, non meno.
Il Mio Workflow: l'AI come Partner di Pensiero
Uso l'AI nel mio lavoro ogni giorno. Ma non come ghost writer. Non come generatore di codice da cui copio e incollo alla cieca.
Uso l'AI perché voglio che pensi come me. Voglio che segua i miei processi mentali nel progettare una soluzione, che usi i miei pattern architetturali, che rifletta il mio modo di affrontare i problemi. Quando le chiedo di generare qualcosa, leggo ogni riga. Metto in discussione ogni scelta. Lo faccio mio prima di andare avanti.
Se c'è una tecnica o un concetto che ancora non conosco, uso l'AI per capirlo — non per saltare la comprensione. L'obiettivo è sempre che alla sessione successiva quella conoscenza appartenga a me. L'AI mi ha aiutato a crescere, non mi ha aiutato a evitare di crescere.
Questa distinzione è tutto. L'AI non è qui per sostituire quello che non so. È qui per aiutarmi a diventare qualcuno che sa di più.
Questo è l'unico workflow di cui mi fido.