L’ascesa dell’IA nello sviluppo software

Siamo all’alba di un periodo di grandi trasformazioni, l’intelligenza artificiale è la tecnologia che cambierà radicalmente il modo di lavorare, vivere e la società nel suo complesso, ancora di più di quanto ha fatto internet all’inizio degli anni ’90.

Gli elementi sono già tutti lì, non è un ipotesi è un fatto reale. Ad oggi nel 2023 l’AI è in una fase “pre-adolescenziale” ma la sua crescita (e i soldi che sono investiti nelle società che la sviluppano) è esponenziale. La maturità arriverà presto, per alcuni in un paio d’anni per altri saranno cinque anni o più ma in ogni modo sono tutti d’accordo che prima o poi diventerà molto più intelligente di noi e per alcuni senziente con tutti i vantaggi e i pericoli che questo comporterà.

In questo articolo ci concentreremo sull’impatto che l’AI sta già avendo e avrà sempre più nel settore dello sviluppo software evitando di entrare nel difficile campo dei grandi cambiamenti epocali e dello sviluppo etico o meno dell’intelligenza artificiale che sicuramente richiede riflessioni ben più estese.

La domanda che riguarda un po’ tutti è: la AI mi porterà via il lavoro? come programmatore ho un futuro davanti?

Negli Stati Uniti, un sondaggio recente di GitHub, ha evidenziato che ben il 92% dei programmatori usa l’AI, nel caso specifico Copilot, come aiuto per scrivere, controllare o capire certe parti del codice. Attualmente siamo già al 46% del codice già scritto con la AI. Il 70% afferma che lo aiuta a essere più veloce. Il problema è che molti vedono le attuali mancanze di Copilot o simili e pensano di essere al sicuro, infatti i suggerimenti non sono perfetti e in alcuni casi posso essere errati o fuorvianti. È solo questione di tempo prima che Copilot e simili diventino perfetti e in grado di sviluppare un’intera applicazione da soli. Per tutti sarebbe meglio non sottovalutare questi strumenti guardandoli dall’alto in basso ma imparare ad usarli per quanto possono essere utili ed evolvere il loro uso in base ai progressi dei prossimi anni.

Ma ci sarà bisogno di programmatori in futuro? per alcuni entro cinque anni non esisteranno più, lo dice Emad Mostaque, il CEO e co-fondatore di Stability AI in un un colloquio con Peter Diamandis che puoi vedere qui sotto.

Altri come Thomas Dohmke, CEO di GitHub, in una recente intervista a Freethink, afferma che nei prossimi anni lo sviluppatore sarà ancora l’esperto, in grado di capire il codice e di determinare se ciò che è stato sintetizzato dall’IA corrisponde effettivamente a quello che è l’obiettivo ma anche lui conferma: “non siamo lontani dal punto in cui tutto sarà solo sviluppo senza codice”.

Una grande verità di cui parla Dohmke è che gli sviluppatori non usano la maggior parte del loro tempo a scrivere codice, due ore di media al giorno afferma, tutto il resto del tempo sono riunioni e risolvere i ticket di assistenza o i bug. Se la AI scriverà il codice, lo sviluppatore si potrà occupare meglio di tutto il resto. Quindi ci sarà sempre bisogno di una figura “umana”, avrà solo dei compiti diversi.

Sandro Cacciamani, CEO di Ex Machina Italia conferma: “tra 5 anni, la AI sarà in grado di sviluppare nuovi sistemi software in completa autonomia a partire da un insieme di specifiche scritte in linguaggio naturale da parte di Progettisti / Analisti opportunamente formati e con l’ausilio di tool di progettazione basati sulla AI. Ma che cosa ne sarà di tutto il codice già scritto e di tutti i sistemi già in produzione?
La IA sarà in grado di prendersi in carico un sistema software anche molto complesso scritto da esseri umani, stratificato nel tempo?
Questo penso sia meno probabile che avvenga in 5 anni, credo che tutti i Developer attuali – anche con l’avvento della AI – si concentreranno per molti anni nel (difficile) problema di mantenere il codice già scritto e nel portare dentro i sistemi in produzione tante nuove feature powered by AI per aumentare il valore di tali sistemi esistenti e difenderli dalla obsolescenza. Credo comunque che, prima o poi, avverrà la completa sostituzione. All’uomo rimarrà forse il ruolo di fornitore di requisiti (prompt) a partire da una accurata analisi delle esigenze di business. Ma temo che anche questa attività, nel lungo periodo, sarà rimpiazzata dalla AI dal momento che si tratta di una attività totalmente basata sul linguaggio naturale opportunamente strutturato”.

Thomas Dohmke sempre su Freethink parla delle banche e degli istituti di servizi finanziari che utilizzano ancora il COBOL sui mainframe. È un linguaggio che arriva dagli anni ’60 e ora in pochi lo conoscono bene. Ma anche lui conferma che il passo successivo è quello di sfruttare l’intelligenza artificiale in un processo iterativo con lo sviluppatore, per riscrivere tutto in Python.

Come succederà per qualsiasi settore economico o della società, la AI nei prossimi 5-10 anni cambierà sicuramente il modo di sviluppare software, ci saranno grandi opportunità ma anche grandi rischi per molti posti di lavoro. È un processo già in corso che farà vedere tutti i suoi effetti tra molto meno tempo di quanto immagini. Meglio essere preparati.