Ognuno di noi oggi ha la possibilità di trarre benefici di varia natura dalla grande quantità di conoscenza gratuita disponibile su Internet. Nonostante ciò, molti utilizzano solo una minima parte di questa tecnologia.

Con l’intelligenza artificiale si sta ripetendo più o meno lo stesso schema: c’è chi ne sfrutta appieno il potenziale e chi si limita a fare semplici domande a ChatGPT, un po’ come è successo con Google.

Abbiamo tra le mani uno strumento dalle potenzialità enormi: generazione di immagini, video, software, musica.
Attività che prima potevano essere svolte solo da professionisti ora sono accessibili a chiunque, rendendo il processo più “democratico”.
L’unico vero limite è l’immaginazione.

I progressi in questo campo sono esponenziali e, a ogni nuovo aggiornamento, si aprono possibilità sempre più straordinarie.

Come sto usando l’IA

Fin dagli albori di ChatGPT ho avuto modo di osservare l’evoluzione dei modelli. Il salto tecnologico è stato impressionante. Ciò che prima richiedeva numerose iterazioni uomo-macchina, oggi nella maggior parte dei casi necessita di una sola richiesta per ottenere un risultato perfettamente coerente.

Naturalmente ho affinato la tecnica del prompting, ma è evidente che gli ultimi modelli disponibili sembrano comprendere immediatamente l’intento dell’utente.

La mia prima esperienza con il vibe coding è stata la realizzazione, tuttora in corso, di un videogioco strategico 2D web-based. In circa due settimane sono riuscito a sviluppare una mappa, la logica di posizionamento delle strutture, la dinamica di accumulo delle risorse e l’intero sistema di movimento tramite mouse e tastiera. Ogni traguardo raggiunto è stato una scarica di adrenalina e meraviglia, non solo per il risultato ottenuto, ma soprattutto per il tempo impiegato. Senza l’IA, lo stesso lavoro mi avrebbe probabilmente richiesto almeno un anno di sviluppo.

Attualmente, per questo videogioco resta tutta la parte grafica, che non riesco ancora a replicare come vorrei con l’IA (anche perché non possiedo competenze grafiche approfondite). Questo aspetto richiede molto più tempo rispetto alla semplice generazione di codice, quindi il progetto procede lentamente, ma rimane comunque un’ottima palestra per affinare la tecnica.

Il progetto che mi ha fatto riflettere maggiormente, però, è stata la realizzazione di un’applicazione SaaS come strumento interno alla mia azienda. Sono riuscito a replicare gran parte delle funzionalità di strumenti analoghi presenti sul mercato a pagamento. Tempo impiegato? Un weekend. Funzionalità aggiuntive? Dieci minuti la sera.

Minimo sforzo mentale, massimo risultato. E questo cambia tutto.

Il mercato è pieno di software SaaS che, tramite abbonamento, consentono l’utilizzo di piattaforme che, nella maggior parte dei casi, possono essere replicate rapidamente.
Non è una mia opinione personale: è qualcosa che sta già accadendo.

Lavori per un’azienda? Questa potrebbe essere l’occasione per far risparmiare molti soldi al tuo datore di lavoro e guadagnare un aumento di stipendio. Oppure puoi creare la tua azienda con un team ridottissimo, fatturando come una realtà molto più grande.

Ovviamente, ciò che puoi fare tu possono farlo anche gli altri. Tuttavia, tornando al discorso iniziale, non tutti stanno utilizzando l’IA in modo approfondito e, soprattutto, non tutti sono programmatori. Le competenze tecniche restano fondamentali per poter sviluppare software e guidare l’IA nella direzione corretta.

C’è però ancora un grande “ma”.

La mia esperienza mi ha mostrato anche le criticità di questi strumenti: è necessario prestare molta attenzione a ciò che l’IA genera. L’IA tende ad assecondarci e a cercare in tutti i modi di fornire la soluzione richiesta, anche a costo di trascurare aspetti fondamentali come la sicurezza.

Mi è capitato spesso di rifiutare soluzioni proposte a causa di potenziali vulnerabilità. Un programmatore esperto, dotato di pensiero critico, riesce a non accettare passivamente tutto ciò che l’IA propone. Chi è alle prime armi, o non è del settore, rischia invece di considerare queste soluzioni come automaticamente valide.

È possibile che in futuro anche questa debolezza venga ridotta o eliminata, e non sarebbe sorprendente, ma per ora è un aspetto da considerare con grande attenzione.

Il Programmatore superficiale.

Molti sono entrati nel settore durante il periodo di forte richiesta di programmatori da parte del mercato. Possiamo considerare l’intervallo tra il 2010 e il 2021 come un’epoca particolarmente favorevole.

Vengono in mente i celebri bootcamp: vere e proprie scuole di formazione e reclutamento per le aziende, che oggi stanno affrontando grandi difficoltà, figlie di un contesto storico che probabilmente non si ripeterà.

L’IA ridurrà drasticamente il bisogno di figure che si limitano a scrivere codice senza comprendere realmente ciò che stanno facendo o senza un autentico interesse per la disciplina.

Cosa raccomando

In questo scenario, credo sia fondamentale che un programmatore intelligente si concentri sui fondamentali:

  • Studio degli algoritmi e delle strutture dati
  • Allenamento del pensiero critico
  • Miglioramento delle capacità comunicative
  • Esplorazione di settori adiacenti alla programmazione, come la cybersecurity

La curiosità è il carburante che permette di esplorare, mantenere una mentalità aperta e, soprattutto, collegare i puntini. Molte idee nascono proprio dalla capacità di creare connessioni tra ambiti diversi.

Non bisogna limitarsi a svolgere il proprio lavoro dalle 9 alle 18: è necessario dedicare tempo alla formazione personale continua. Solo così è possibile diventare programmatori migliori e mantenere la propria rilevanza sul mercato.