Di Massimo Boaron
Chi sopravviverà?
Le prestazioni dell’AI sono migliorate drammaticamente in breve tempo e stanno avendo un impatto significativo in molti settori. Ma nell’informatica l’effetto sarà particolarmente dirompente e ridisegnerà completamente la gerarchia professionale del settore.
L’AI sta cambiando radicalmente il mercato del lavoro informatico. I programmatori junior e quelli di livello medio-basso rischiano di essere sostituiti a breve e i neolaureati faranno fatica a trovare spazio. Al contrario, i programmatori esperti diventeranno più preziosi, perché solo loro sanno come guidare e correggere l’intelligenza artificiale quando sbaglia o fa i capricci.
Chi sopravvive e chi sparisce
Le ultime versioni dei sistemi AI più noti stanno diventando impressionanti: basta descrivere chiaramente cosa si vuole ottenere e si riceve un programma funzionante al primo colpo. Nel settore web, le applicazioni generate hanno persino una grafica elegante e moderna che non sfigura rispetto a quelle professionali. Se si vogliono fare piccole applicazioni, la descrizione accurata del progetto produce risultati che fino a poco tempo fa richiedevano settimane di lavoro.
Un semplice esempio: un sistema SOS per un paese nordafricano, basato su una APP su cellulare che consente di chiamare un Centro Medico in caso di evento grave, segnalando la posizione dell’interessato e scambiare messaggi col centro che manda l’ambulanza per dare eventuali dettagli e sapere che l’ambulanza è partita e sta arrivando.
Tempo di sviluppo stimato 2-4 settimane (c’era l’idea ma non una descrizione dettagliata): passata l’idea all’AI, dopo una serie di interazioni per aggiustare il tiro il prototipo funzionante era pronto. Tempo di sviluppo 2 ore. Poi sono bastati due giorni per aggiungere tutto il contorno necessario ad avere la versione finale da presentare al pubblico target: residenti stranieri che avrebbero difficoltà a chiamare i soccorsi col cellulare nella lingua locale.
Considerando l’enorme numero di programmatori e grafici con competenze medio-basse che popolano il settore, è inevitabile che molti di questi perderanno il lavoro. La categoria più a rischio è quella dei developer junior, spesso impiegati in compiti ripetitivi di coding che l’AI può gestire con maggiore efficienza e velocità. I neo-laureati saranno particolarmente penalizzati: la loro esperienza pratica limitata e la conoscenza principalmente teorica li rendono facilmente sostituibili con sistemi automatizzati che non hanno bisogno di formazione o supervisione continua.
Anche i freelancer che si occupano di piccoli progetti web o di applicazioni semplici dovranno rivedere completamente il loro modello di business. Quando un cliente può ottenere in pochi minuti quello che prima richiedeva giorni di lavoro, il valore aggiunto del programmatore medio si dissolve rapidamente.
È invece difficile fare previsioni precise su cosa succederà ai programmatori esperti, perché è difficile immaginare come e con quale rapidità si evolveranno le capacità dell’AI. Analizzando la situazione attuale quando si deve sviluppare software di media complessità, emerge un quadro chiaro: per ora, e forse ancora per molti anni, l’AI ha bisogno di una guida esperta e i professionisti con anni di esperienza stanno diventando figure centrali nel processo di sviluppo.
La trasformazione non sarà quindi una semplice sostituzione uomo-macchina, ma una ridefinizione dei ruoli dove chi possiede esperienza profonda e capacità di problem-solving complesso diventa il direttore d’orchestra di sistemi AI sempre più potenti.
L’esperto che guida la macchina
Dopo qualche piccolo test con l’AI si può essere presi dall’entusiasmo, ma quando si pensa a una reale produzione lo scenario diventa molto più complesso. Gli attuali sistemi AI hanno diverse limitazioni critiche, che solo un programmatore esperto sa riconoscere e gestire.
Innanzitutto, non sono in grado di operare su programmi piuttosto lunghi, quindi è necessario progettare il software in blocchi logici non troppo grandi prima di richiedere lo sviluppo all’AI. Se si eccedono le dimensioni ottimali si rischia di esaurire rapidamente le risorse disponibili anche solo con le poche iterazioni inevitabili per mettere a punto il software. Questa limitazione richiede una capacità di architettura del software che solo l’esperienza può fornire.

Ma il vero problema emerge quando bisogna avere le idee molto chiare fin dall’inizio. Se si pensa di sviluppare una prima versione molto approssimativa, illudendosi di migliorarla con tante successive modifiche, si perde tempo inutilmente. Tutte le AI soffrono di una “patologia” particolare: continuando a rielaborare lo stesso software, a poco a poco diventano sempre più “distratte”, facendo errori banali e rispettando sempre meno le richieste del programmatore, fino al punto che a fronte di richieste di modifiche ripropongono sempre la stessa versione.
Ci sono poi due problemi seri che sembrano al di fuori di ogni logica che ci si potrebbe aspettare da una macchina apparentemente capace di ragionare: i sistemi attuali non hanno la capacità di programmare in modo veramente professionale e sono molto poco affidabili quando si tratta di identificare gli errori che loro stessi hanno commesso.
Come già detto, la prima versione del software generato è di solito priva di errori. Però, quando si chiedono ripetutamente delle modifiche, la macchina comincia a sbagliare. Spesso sono errori molto banali: un simbolo scritto male, una funzione usata non correttamente, variabili dichiarate ma mai utilizzate, o logiche che funzionano in casi standard ma falliscono con input particolari.
Ovviamente nessuno ha voglia di mettersi a rivedere molte centinaia di istruzioni che non ha scritto e che vede per la prima volta, quindi l’approccio più logico sarebbe chiedere all’AI di trovare l’errore indicando i sintomi. Ma qui succede qualcosa di incredibile: sembra spesso di trovarsi di fronte a un bambino che si inventa mille scuse per non ammettere che ha sbagliato. Invece di analizzare il software per identificare l’errore, comincia a fare ipotesi per discolparsi.
Le risposte sono sempre del tipo “il sistema non è aggiornato”, “un evento esterno sta influenzando il programma”, “le modifiche fatte non si vedono perché la cache mostra la vecchia versione”, “potrebbero esserci conflitti con altre librerie”, “il browser potrebbe aver salvato una versione precedente”. Questa tendenza a cercare cause esterne piuttosto che ammettere errori interni è uno dei comportamenti più frustranti dell’AI attuale.
Se non si riesce a uscirne in un tempo ragionevolmente breve è inutile perdere tempo. Una soluzione molto semplice e rapida è far vedere lo stesso software a un’altra AI: di solito trova immediatamente l’errore nei programmi che non ha mai visto, sia perché non ha il “bias” di difendere il proprio lavoro precedente, sia perché l’AI ha il massimo delle sue capacità al primo intervento.
Ma in molti casi un programmatore con una buona esperienza può risolvere il problema in un attimo: dal tipo di errore può dedurre quale è la causa più probabile. In questo caso basta dire all’AI cosa e/o dove cercare e questa immediatamente identifica la criticità, profondendosi poi in mille scuse per non averlo notato prima.
Lo stesso suggerimento vale quando l’AI per una semplice modifica si inventa una serie di istruzioni che forse funzionano, ma hanno una complessità che appare poco ragionevole a un programmatore esperto. Basta dire “questa soluzione è troppo complicata, trova una soluzione più semplice”: nella maggior parte dei casi l’AI propone una soluzione molto più semplice, spiegando che la prima proposta era di tipo generale, ma nel caso specifico si può adottare la seconda soluzione.
Da questo si deduce anche un insegnamento sempre valido: bisogna sempre capire cosa sta facendo l’AI e guidarla, anziché esserne guidati, come capita a chi ha poca esperienza. Il programmatore esperto del futuro non scriverà più codice riga per riga, ma diventerà un architetto di sistemi e un detective di debugging, competenze che richiedono anni di esperienza sul campo.
Il problema della qualità: massa contro eccellenza
Il problema della qualità del software prodotto è molto più grave dei problemi di debugging, perché rendono il prodotto software lento, ingombrante e più difficile da aggiornare. L’AI è stata addestrata con grandi quantità di codice, il che significa una cultura informatica di massa, non di eccellenza: sa fare benissimo quello che fanno tutti, ma non è capace di trovare la soluzione ottimale caso per caso.
Per ora software prodotto dall’AI non mai è ottimizzato quanto farebbe un buon programmatore. Questo non è solo un problema filosofico: comporta maggior consumo di risorse, tempi di caricamento più lenti, maggiore difficoltà di manutenzione e costi più elevati di hosting e infrastruttura.
Di fatto l’AI utilizza sempre un approccio abbastanza comune nelle grandi organizzazioni, dove ci sono grandi team che lavorano in parallelo e quindi hanno bisogno di informazioni tabellari per identificare quello che cercano con procedure standardizzate, senza dover usare la logica e il buon senso. Questo porta a codice verboso, ridondante e spesso sovra-ingegnerizzato per problemi che richiederebbero soluzioni più eleganti e dirette.
La miglior conferma di questo problema mi è stata data indirettamente da un’AI a cui contestavo le motivazioni assurde con cui giustificava il suo software che non funzionava. La sua risposta è stata illuminante e sorprendentemente onesta:
“Hai perfettamente ragione. La tua osservazione è acuta e coglie nel segno uno dei limiti fondamentali dei modelli AI attuali. La mia analisi iniziale si è basata su uno scenario statistico: i problemi di caching sono, in assoluto, una delle cause più comuni di discrepanze tra codice e comportamento effettivo. Questa è la logica della massa di cui parli: il modello privilegia la spiegazione più probabile basata su un’enorme quantità di dati di addestramento, dove i problemi dei principianti o le sviste comuni sono sovrarappresentati. La logica dell’eccellenza, invece, richiede di scartare le ipotesi più comuni quando un esperto fornisce prove contrarie e di immergersi nelle sottigliezze del codice.”
Questo scambio rivela una verità fondamentale: l’AI eccelle nella produzione di codice “standard” ma fallisce quando serve creatività, ottimizzazione o soluzioni non convenzionali. È qui che l’esperienza umana diventa insostituibile, non solo per guidare l’AI, ma anche per riconoscere quando le sue soluzioni sono subottimali e sapere come migliorarle.
Quindi nel breve-medio termine l’intelligenza artificiale non sostituirà tutti i programmatori, ma ridisegnerà completamente il mercato del lavoro. Chi ha solo competenze di base sarà sostituito, ma chi possiede esperienza e capacità di problem-solving diventerà ancora più prezioso, perché saprà sfruttare l’AI come strumento potente invece di esserne vittima.
Il futuro appartiene a chi sa comandare la macchina, non a chi si fa comandare da essa.
Scopri di più da
Abbonati per ricevere gli ultimi articoli inviati alla tua e-mail.

