Se lo stanno chiedendo in molti[1] e la risposta è assolutamente sì. L’IA difficilmente potrà sostituire la capacità di pensare in modo critico e tradurre i bisogni umani in software intelligente.
Il vero vantaggio competitivo dei futuri ingegneri deriverà dalla sinergia uomo-macchina e noi educatori dovremmo interrogarci su quali strumenti didattici possano rendere più fruttuosa possibile tale sinergia. Le competenze chiave saranno probabilmente quelle legate agli aspetti filosofici, cognitivi e metodologici della programmazione, più che a quelli puramente tecnologici: saper progettare bene diventerà la vera arma in più. Sebbene i futuri modelli IA genereranno codice sempre più qualitativo[2], la progettazione richiede creatività e capacità di astrazione, elementi che vanno ben oltre l’applicazione di pattern.
I nostri studenti di Ingegneria Informatica imparano presto che lo sviluppo software è un processo complesso che parte dai requisiti. Anche quando raccolti con tutti i crismi, tali requisiti presentano ambiguità che, se non gestite, lascerebbero ai modelli IA un margine di interpretazione troppo ampio, con esiti quasi certamente insoddisfacenti.
In questo contesto, l’ingegnere del software avrà un ruolo centrale poiché in grado di comprendere il dominio applicativo, anticipare rischi e ambiguità, e progettare architetture robuste e facilmente evolvibili. Il suo vero valore risiederà, dunque, nella capacità di definire correttamente il problema e impostarne la soluzione, mentre i modelli IA ridurranno il tempo e gli sforzi necessari alla sua implementazione.
Andrea Di Sorbo, Professore associato di Programmazione e Cybersecurity
[1] https://dl.acm.org/doi/full/10.1145/3709353
[2] https://ieeexplore.ieee.org/document/10507163



