No, un'AI non sostituirà i programmatori
A ogni release di un qualche modello generativo tipo GPT-3, riparte l'ansia di studenti e lavoratori sulla validità del loro percorso professionali e di studio.
Per chi non lo sapesse, da alcuni anni vengono offerti servizi di generazione o auto completamento che, a partire da un prompt testuale, generano pezzi di codice da includere nella vostra code-base.
Chi ha una comprensione superficiale dell'informatica va quindi in panico, scambiando questa imitazione per un reale processo di sviluppo software.
Un'AI può sostituire un programmatore?
Ci ruberanno il lavoro?
Ha ancora senso studiare informatica?
Risposta breve: no, smadonnate tranquille sugli errori di compilazione in Rust o sulla sintassi di YAML, che SkyNet non sta venendo a mangiarvi.
Una trattazione esaustiva degli aspetti tecnici e sociali dell'automazione nel settore tech va ben oltre l'ambizione di questo articolo, ma vediamo di fissare alcuni punti.
Partiamo con qualche riflessione su lavoro e automazione:
Il lavoro è qualcosa che voi date a un'azienda o a un cliente in cambio di soldi. Se date del lavoro e l'azienda non vi paga, quello è rubare il lavoro.
L'automazione, nel nostro sistema produttivo, non porta a una riduzione del carico di lavoro o delle persone impiegate. Nonostante tutti i progressi tecnici degli ultimi decenni, lavoriamo molto più dei nostri genitori. L'automazione però può portare a una precarizzazione del lavoro, a una maggiore ricattabilità del lavoratore e a un abbassamento degli stipendi. Questo però lo fanno gli imprenditori e le politiche economiche dei governi, non le macchine.
L'adozione di determinate tecnologie non è mai inevitabile ma è sempre una scelta di chi le adotta. Questi modelli generativi sono macchine senza una volontà propria. Le conseguenze della loro adozione sono responsabilità di chi sceglie deliberatamente di adottarle.
Vediamo ora qualcosa di più specifico su questi strumenti:
Al momento queste soluzioni non sono in grado di generare risultati affidabili. Ciò significa che una persona che non è in grado di comprendere il codice generato non dovrebbe usare questi strumenti per scrivere codice che andrà in produzione. Verrà fatto lo stesso? Sì, d'imbecilli ne è pieno il mondo ma probabilmente al primo bug che gli costa milioni di euro in danni, la smetteranno.
Scrivere codice è una frazione relativamente piccola del lavoro di un informatico. La comunicazione, la formalizzazione del contesto, la sintesi dei requisiti, la creazione di astrazioni, la definizione del dominio, la raccolta di informazioni dagli stakeholder, la riflessione sugli impatti sistemici di una determinata scelta, la definizione dell'architettura e tante altre attività di questo tipo non possono venire delegate ad un'IA.
Il miglior codice è quello che non scrivi. Abbassare i costi della stesura di righe di codice significa introdurre rumore e debito tecnico più facilmente. Non mi stupirei se un'adozione estensiva e scriteriata di questi strumenti portasse a codebase enormi in breve tempo in cui gli umani non riescono più a mettere mano.
Ci sono già diverse cause in corso per violazione delle licenze nei processi di training di questi strumenti. L'ambiguità legale difficilmente si risolverà in maniera favorevole a chi ha utilizzato codice free software senza chiedere il permesso. Inoltre la paura che questi strumenti generino pezzi di codice protetto da licenze restrittive rimane e il reparto legal della vostra azienda non sarà contento.
Storicamente il settore IT non risponde a incentivi di efficienza nel processo di produzione del codice. Non c'è motivo di credere che inizierà a farlo ora. Per questo vi rimando a chi ha studiato in dettaglio il tema.
In conclusione, è ragionevole aspettarsi che questi strumenti cambieranno il modo in cui alcune persone scrivono alcune parti di codice, nello stesso modo in cui un nuovo filtro di Photoshop permette di creare in pochi secondi un effetto che prima avrebbe richiesto minuti od ore.
Se proprio volete preoccuparvi di trend legati al lavoro e all'occupazione nel nostro settore, le opzioni non mancano. La recessione, i tagli sistematici in buona parte del settore, il deskilling fatto coi bootcamp e le academy e la precarietà che ne deriva, la repressione antisindacale spietata sempre più comune anche nell'ambito tech. Di problemi sistemici ce ne sono tanti, di trend negativi pure. Non state a crucciarvi per la minaccia di un po' di matrici troppo cresciute e guardate piuttosto alle minacce poste da quegli esseri umani che vedono come un problema il potere e i privilegi derivati dalla posizione dei lavoratori tech nel nostro sistema produttivo.