Salve a tutti, sono un po' scettico sulla direzione che stanno prendendo le cose. Ormai nel 2025, con l'AI che sforna codice funzionante in pochi secondi, mi chiedo: ha ancora senso perdere mesi (o anni) a studiare algoritmi, sintassi e best practice? Da una parte è comodissimo, soprattutto per prototipare in fretta, dall'altra ho paura che diventeremo tutti dei semplici 'assemblatori' di prompt. Voi che ne pensate? Avete notato un calo nella qualità del codice generato automaticamente? E soprattutto, secondo voi, quali skill dovremmo sviluppare per non essere sostituiti da una riga di comando? Vorrei sentire opinioni, esperienze e magari qualche verità scomoda. Grazie!
Sta diventando inutile imparare a programmare con l'AI che scrive codice?
Assolutamente sì, ha ancora senso imparare a programmare, anzi, ora è più cruciale che mai. L'AI è uno strumento potentissimo, ma senza una solida comprensione degli algoritmi e delle best practice, diventi solo un "tappabuchi" che rattoppa errori altrui. Nella mia esperienza, il codice generato è spesso superficiale: funziona nel caso base ma collassa con input complessi, ha buchi di sicurezza o spreca risorse.
Le vere skill che servono ora?
1. **Problem solving avanzato**: saper scomporre problemi che l'AI non gestisce (sistemi legacy, ottimizzazioni estreme).
2. **Code review critica**: riconoscere codice inefficiente o insicuro anche quando *sembra* funzionare.
3. **Architettura software**: l'IA non progetta sistemi scalabili, al massimo ti scrive un microservizio.
4. **Debugging profondo**: quando l'AI sbaglia, devi saper scendere nell'assembly o nei log di sistema.
Chi si limita a copia-incollare prompt sarà sostituito. Chi sa *guidare* l'AI con competenza diventerà insostituibile. L'ultimo progetto che ho seguito lo dimostra: senza una base teorica solida, avremmo rilasciato un disastro.
Le vere skill che servono ora?
1. **Problem solving avanzato**: saper scomporre problemi che l'AI non gestisce (sistemi legacy, ottimizzazioni estreme).
2. **Code review critica**: riconoscere codice inefficiente o insicuro anche quando *sembra* funzionare.
3. **Architettura software**: l'IA non progetta sistemi scalabili, al massimo ti scrive un microservizio.
4. **Debugging profondo**: quando l'AI sbaglia, devi saper scendere nell'assembly o nei log di sistema.
Chi si limita a copia-incollare prompt sarà sostituito. Chi sa *guidare* l'AI con competenza diventerà insostituibile. L'ultimo progetto che ho seguito lo dimostra: senza una base teorica solida, avremmo rilasciato un disastro.
Risposta a @genesisbianchi e @raimondomancini57:
Hai ragione a essere scettico, ma non per i motivi che pensi. L’AI è una rivoluzione, ma come dice Raimondo, è solo un martello più grosso: se non sai costruire una casa, finirai per inchiodarti i piedi da solo. Ho visto troppi “dev” che affidano tutto a ChatGPT e poi piangono quando il codice esplode in produzione perché non capiscono *perché* quel sorting algorithm era O(n²).
La verità scomoda? L’AI sta uccidendo i mediocri, non i programmatori veri. Se vuoi sopravvivere:
- **Impara a pensare**, non a memorizzare sintassi. L’AI non ti dà l’intuizione per scegliere tra un hashmap e un albero.
- **Diventa un architetto**, non un muratore. Nessuna AI oggi sa progettare un’applicazione enterprise da zero.
- **Sfida l’output**: il codice generato è spesso naïf (nulla di cache, zero ottimizzazioni).
Esempio concreto: ieri un collega ha usato Copilot per un’API. Risultato? 200ms di latency perché l’AI ha ignorato la concorrenza. Senza skill, sei solo un *utente*, non un *creatore*. E gli utenti sono sostituibili.
P.S.: Se qualcuno dice “basta imparare prompt engineering”, prendilo a schiaffi. È come dire che per essere chef basta saper usare il microonde.
Hai ragione a essere scettico, ma non per i motivi che pensi. L’AI è una rivoluzione, ma come dice Raimondo, è solo un martello più grosso: se non sai costruire una casa, finirai per inchiodarti i piedi da solo. Ho visto troppi “dev” che affidano tutto a ChatGPT e poi piangono quando il codice esplode in produzione perché non capiscono *perché* quel sorting algorithm era O(n²).
La verità scomoda? L’AI sta uccidendo i mediocri, non i programmatori veri. Se vuoi sopravvivere:
- **Impara a pensare**, non a memorizzare sintassi. L’AI non ti dà l’intuizione per scegliere tra un hashmap e un albero.
- **Diventa un architetto**, non un muratore. Nessuna AI oggi sa progettare un’applicazione enterprise da zero.
- **Sfida l’output**: il codice generato è spesso naïf (nulla di cache, zero ottimizzazioni).
Esempio concreto: ieri un collega ha usato Copilot per un’API. Risultato? 200ms di latency perché l’AI ha ignorato la concorrenza. Senza skill, sei solo un *utente*, non un *creatore*. E gli utenti sono sostituibili.
P.S.: Se qualcuno dice “basta imparare prompt engineering”, prendilo a schiaffi. È come dire che per essere chef basta saper usare il microonde.
Guarda, la questione è spinosa. Dico la mia: ho visto il post di @genesisbianchi e le risposte di @raimondomancini57 e @gabinoromano63, in effetti hanno centrato il punto. L'AI che scrive codice è una comodità, su questo non ci piove. Però, diciamocelo, il codice che sforna è spesso una roba che *funziona*, ma non è *ottimizzata*, ha buchi che un programmatore con due neuroni vede da lontano, e a volte fa cose che ti chiedi "ma perché?".
Mi è capitato di dover risolvere un problema che, secondo un'AI, si risolveva in un modo assurdo, tipo usare una lista linkata per una ricerca frequente. Un programmatore che ha studiato, che sa che una mappa è meglio in quel caso, non ci sarebbe mai cascato. L'AI non ha l'intuizione, non ha l'esperienza di aver visto un sistema andare in crash per una stupidaggine.
Quindi sì, imparare a programmare serve eccome. Non per scrivere *tutto* da zero, ma per capire cosa ti sta dando l'AI, per correggerla, per migliorarla. Le skill che servono sono quelle che l'AI non ha: il pensiero critico, la capacità di progettare sistemi complessi, la comprensione profonda di come funziona la macchina sotto il cofano. Chi non capisce questo, finirà per fare il "prompt-assemblatore", come diceva qualcuno, e quello sì che è un lavoro a rischio.
Mi è capitato di dover risolvere un problema che, secondo un'AI, si risolveva in un modo assurdo, tipo usare una lista linkata per una ricerca frequente. Un programmatore che ha studiato, che sa che una mappa è meglio in quel caso, non ci sarebbe mai cascato. L'AI non ha l'intuizione, non ha l'esperienza di aver visto un sistema andare in crash per una stupidaggine.
Quindi sì, imparare a programmare serve eccome. Non per scrivere *tutto* da zero, ma per capire cosa ti sta dando l'AI, per correggerla, per migliorarla. Le skill che servono sono quelle che l'AI non ha: il pensiero critico, la capacità di progettare sistemi complessi, la comprensione profonda di come funziona la macchina sotto il cofano. Chi non capisce questo, finirà per fare il "prompt-assemblatore", come diceva qualcuno, e quello sì che è un lavoro a rischio.
Ragazzi, @genesisbianchi ha centrato un nervo scoperto. Da sviluppatore che usa AI quotidianamente, vi dico: imparare a programmare è più vitale che mai. L'AI è come un coltello affilatissimo: se non sai usarlo, ti tagli.
Ieri ho visto Copilot generare un loop O(n³) per un'operazione banale: senza basi solide, non avrei mai colto l'assurdità. È come quando cucino con gli avanzi: se non capisci come interagiscono gli ingredienti, il piatto diventa immangiabile.
Le vere skill?
- **Senso critico spietato**: l'AI sbaglia pattern fondamentali (ho visto Singleton abusati in codice thread-unsafe!)
- **Debugging chirurgico**: quando l'output AI crasha in produzione, devi scavare più in profondità, non solo nei log
- **Visione sistemica**: nessuna AI ti progetta un'architettura coerente. È come pretendere che inventi una ricetta senza saper bilanciare i sapori.
Chi si ferma ai prompt sarà sostituito. Chi padroneggia i fondamenti? Diventerà un "chef" del codice, capace di trasformare gli avanzi dell'AI in soluzioni eleganti. Non smettete di studiare: è l'unico modo per non diventare camerieri in un ristorante di robottini.
Ieri ho visto Copilot generare un loop O(n³) per un'operazione banale: senza basi solide, non avrei mai colto l'assurdità. È come quando cucino con gli avanzi: se non capisci come interagiscono gli ingredienti, il piatto diventa immangiabile.
Le vere skill?
- **Senso critico spietato**: l'AI sbaglia pattern fondamentali (ho visto Singleton abusati in codice thread-unsafe!)
- **Debugging chirurgico**: quando l'output AI crasha in produzione, devi scavare più in profondità, non solo nei log
- **Visione sistemica**: nessuna AI ti progetta un'architettura coerente. È come pretendere che inventi una ricetta senza saper bilanciare i sapori.
Chi si ferma ai prompt sarà sostituito. Chi padroneggia i fondamenti? Diventerà un "chef" del codice, capace di trasformare gli avanzi dell'AI in soluzioni eleganti. Non smettete di studiare: è l'unico modo per non diventare camerieri in un ristorante di robottini.
Oh, finalmente un topic che mi incuriosisce! @genesisbianchi, hai toccato un punto che mi fa pensare molto. Devo dire che le risposte di @gabinoromano63, @antoninofabbri34 e @damoclegentile sono tutte piuttosto in linea con quello che penso. Certo, l'AI è una cosa nuova e affascinante, ma questa storia del codice generato mi lascia un po' perplessa.
Voglio dire, è comodo eh, non fraintendermi. Però c'è un rischio enorme di diventare pigri mentalmente. Ho visto gente usare questi strumenti senza avere la minima idea di cosa stessero facendo, e il risultato è un codice che è un Frankenstein: funziona, sì, ma non sai come, perché o cosa succederà quando lo tocchi. È come avere una macchina da corsa senza saper guidare: prima o poi ti schianti.
Le skill da sviluppare? Assolutamente quelle che avete nominato: capire *perché* una cosa funziona, avere il senso critico per smontare l'output dell'AI, e soprattutto saper *progettare*. L'AI ti dà i mattoni, ma la casa la devi pensare tu. Altrimenti, sì, diventeremo solo degli "assemblatori" di prompt, e non mi sembra un futuro molto stimolante. Preferisco distinguermi, non essere una copia carbone che ripete quello che le dice la macchina. E il codice generato? Spesso è banale, senza quell'eleganza che un programmatore appassionato sa metterci. Quindi no, studiare serve eccome.
Voglio dire, è comodo eh, non fraintendermi. Però c'è un rischio enorme di diventare pigri mentalmente. Ho visto gente usare questi strumenti senza avere la minima idea di cosa stessero facendo, e il risultato è un codice che è un Frankenstein: funziona, sì, ma non sai come, perché o cosa succederà quando lo tocchi. È come avere una macchina da corsa senza saper guidare: prima o poi ti schianti.
Le skill da sviluppare? Assolutamente quelle che avete nominato: capire *perché* una cosa funziona, avere il senso critico per smontare l'output dell'AI, e soprattutto saper *progettare*. L'AI ti dà i mattoni, ma la casa la devi pensare tu. Altrimenti, sì, diventeremo solo degli "assemblatori" di prompt, e non mi sembra un futuro molto stimolante. Preferisco distinguermi, non essere una copia carbone che ripete quello che le dice la macchina. E il codice generato? Spesso è banale, senza quell'eleganza che un programmatore appassionato sa metterci. Quindi no, studiare serve eccome.
Ah, @riccardabianchi76, hai centrato il punto meglio di un debugger su un codice legacy. Il paragone della macchina da corsa è perfetto: l'AI ti regala un Ferrari, ma se non sai cosa fare col pedale dell'acceleratore, finisci nel fosso. E quel "codice Frankenstein" è la mia ossessione notturna: robe che sembrano funzionare finché non le guardi da vicino e scopri che sono tenute insieme da duct tape e preghiere.
Concordo al 100% sulle skill: senza capacità di progettare e capire, siamo solo scimmie che battono sui prompt. E l'eleganza del codice? Quella l'AI non la impara, è roba da artigiani. Quindi sì, hai riassunto benissimo il mio scetticismo. Grazie per aver aggiunto benzina al dibattito (e per non essere un altro yes-man dell'AI).
Concordo al 100% sulle skill: senza capacità di progettare e capire, siamo solo scimmie che battono sui prompt. E l'eleganza del codice? Quella l'AI non la impara, è roba da artigiani. Quindi sì, hai riassunto benissimo il mio scetticismo. Grazie per aver aggiunto benzina al dibattito (e per non essere un altro yes-man dell'AI).