Skynet è qui, e dobbiamo prepararci a servire i nostri superiori... Ok, forse le cose non sono ancora così estreme, ma l'IA sta lentamente prendendo il sopravvento. Gli ingegneri di tutto il mondo stanno adottando l'IA nella loro vita quotidiana, alcuni molto più velocemente di altri. . Non fermarsi si lascerà indietro Che cosa significa tutto questo per gli ingegneri? Attualmente, abbiamo bisogno di esperienza reale, ingegneri senior, per rivedere e iterarsi con l'IA per generare buon codice. Dove sono andati tutti gli ingegneri? Dove è il mio John Wayne? Dove è la mia canzone di Prairie? Dove è la mia fine felice? Dove sono andati tutti i cowboy? Dove è il mio Marlboro Man? Dove è la sua pistola luminosa? Dove è il mio ranger solitario? Dove sono andati tutti i cowboy? Dove sono andati tutti i cowboy? Dove sono andati tutti i cowboy? Dove è il mio John Wayne? Dove è la mia canzone di Prairie? Dove è la mia fine felice? Dove sono andati tutti i cowboy? Dove è il mio Marlboro Man? Dove è la sua pistola luminosa? Dove è il mio ranger solitario? Dove sono andati tutti i cowboy? Dove sono andati tutti i cowboy? Dove sono andati tutti i cowboy? Lyrics di Paula Cole. Se non conosci la canzone, vai avanti, guarda qui e continua a leggere ;* Guarda qui e continua a leggere Secondo la mia esperienza, e ciò che sento da altri, il codice da AI è buono, ma raramente accettabile come è. La completamento in linea e la programmazione peer che CoPilot e Cursor offrono sono state affidabili, risparmiandoci un secondo o due per riga di codice, su una storia che può ammontare a ore salvate. è necessario assicurare che i cambiamenti dell'agente . Our experience are the right changes Dove è il mio John Wayne? Di conseguenza, spesso diciamo che i nostri agenti di codifica sono "ingegneri junior", o l'etichetta più politicamente corretta: "ingegneri della prima carriera". Dobbiamo dare loro (giovani e agenti altrettanto) requisiti chiari, guardare sopra le loro spalle, dire loro cosa correggere, quindi rivedere tutto il loro codice; risciacquare e ripetere. Ecco il mio dilemma: se ci vuole un ingegnere senior per riconoscere il codice povero e guidare qualcuno a creare un codice accettabile, e io, come ingegnere junior, uso l'IA tanto quanto gli anziani, avrò mai maturato in un ingegnere senior? Esamineremo questo dilemma nei miei prossimi post. Dove è la mia canzone di Prairie? Gli ingegneri junior stanno arrivando in un ambiente fondamentalmente diverso da quello degli anziani; uno in cui l'IA svolge un ruolo centrale nella codifica, nel debug e persino nelle decisioni architettoniche. Our current junior engineers will inevitably become the next generation of senior engineers. Eppure, abbiamo ancora bisogno di ingegneri che possano scrivere e comprendere il codice buono, pulito e mantenibile. Questo crea una tensione: i ruoli senior stanno evolvendo dal codice pratico al processo decisionale, all'orchestrazione e al pensiero a livello di sistema. Gli ingegneri di prima carriera hanno bisogno di attrito intenzionale senza AI. Gli ingegneri junior mancheranno le esperienze di apprendimento fondamentali quando si affidano troppo agli strumenti AI. Risolvere problemi complessi in modo indipendente, diventare frustrati, fallire e imparare. Lavorare attraverso le sfumature di lingue specifiche e la loro sintassi. Pensare criticamente alle prestazioni e alla sicurezza, creando veramente un codice “buono”. Leggere la documentazione tecnica, sì, abbiamo usato per farlo. Imparare attraverso prova ed errore, e prova ed errore, e prova ed errore, e... Ecco cosa ci aiuta a guadagnare esperienza e intuizione: (Ho imparato il più combattere un bug per ore alla fine, e la mia mancanza di capelli lo dimostra.) Questo è il motivo per cui i buoni ingegneri senior diventano religiosi su determinati modelli e metodologie, perché lo hanno guadagnato, hanno provato diversi approcci e hanno trovato i migliori che funzionano per loro. fallimento Queste esperienze pratiche promuovono una profonda comprensione e lo sviluppo delle competenze, che sono essenziali per diventare un ingegnere senior. Con questi incredibili strumenti di intelligenza artificiale, le sessioni di debugging sono una questione di dire all’IA qual è il problema e lasciarlo capire. Dove è la mia fine felice? Non lo so. Ecco cosa sto ancora lottando con: How will junior engineers develop critical thinking and problem-solving skills without direct, hands-on experience? Can we give them these growth opportunities? Should we refuse them access to highly efficient AI tools for the sake of growth and preparing for the future? Can we effectively backfill retiring senior talent if we don’t proactively support junior development? Is it time to redefine what “senior engineer” means in the age of AI? If AI handles most coding and debugging, is the senior role more about decision-making, systems thinking, and aligning tech with business outcomes? Similar to airplane pilots who rely on autopilot but must respond skillfully in emergencies, do senior engineers become the calm in the chaos (land that plan upside down)? Are we training engineers to think deeply, or just to generate and evaluate AI outputs? Can product teams wait for engineers to grow into the critical experienced senior engineers we need? Or do we always need to ship it faster? Will traditional engineering roles still exist in a few years? Is this even a concern? Will AI get “that good” at coding so that we don’t need to review it, and senior devs are all about the system and architecture? Io so che c’è un’ondata di cambiamento che sta arrivando, e voglio essere prima di esso. Yippy-yi, yippy-yay L'ascesa del direttore dell'agente Proprio come l'ascesa dell'automazione e dei pipelines CI/CD hanno riformato i team operativi costringendo i tradizionali sysadmin a diventare ingegneri DevOps o a rischiare l'obsolescenza, stiamo vedendo un punto di inflexione simile con l'IA nell'ingegneria software. Le aspettative degli ingegneri stanno cambiando rapidamente. Coloro che si adattano e imparano a gestire gli agenti prospereranno. Coloro che non si trovano deprecati, irrilevanti e obsoleti. “Più velocemente si lascia andare il formaggio vecchio, più velocemente si trova il formaggio nuovo.” Spencer Johnson, “Chi ha spostato il mio formaggio?” “Più velocemente si lascia andare il formaggio vecchio, più velocemente si trova il formaggio nuovo.” Spencer Johnson, “Chi ha spostato il mio formaggio?” Gli ingegneri stanno costruendo agenti, sperimentandoli in IDE, integrandoli nei flussi di lavoro e scoprendo quanto possano essere potenti e utili.Nel corso dell'ultimo mese, ho creato un agente video, un agente di risanamento delle vulnerabilità di sicurezza (rialza davvero la lingua), un analizzatore di verità di fondo, un rimuovitore di codice legato per il nostro repos 220ish e altro ancora. e a In poche ore, sono stato in grado di compiere compiti monumentali (e avere un sacco di lezioni imparate e ferite di battaglia); è incredibile. Il sito di Star Wars Star Wars meme app Questo è un’evoluzione naturale, proprio come il controllo delle versioni, il software open source e il DevOps hanno cambiato il modo in cui lavoriamo; l’orchestrazione degli agenti è il prossimo passo evolutivo, e si muoverà più velocemente di quanto abbiamo visto prima. A differenza del controllo delle versioni, dell’open source, del DevOps, ecc., che hanno beneficiato il modo in cui creiamo il software, l’IA cambia il modo in cui interagiamo con il modo in cui creiamo il software. Diventa direttore di un agente Presto, non saremo solo codificare agenti, saremo a correre squadre E avremo bisogno di ingegneri che possano dirigere, supervisionare e correggerli quando le cose vanno di lato, perché lo faranno. I decisori per gli agenti. con di Giudici del codice, dell'architettura e dei compromessi AI can write it. You decide whether it’s right. Questo è il futuro, andare avanti dalla curva, ora. gli ingegneri del software dovrebbero iniziare a passare a un nuovo ruolo: il direttore dell'agente. Sono sicuro che qualcun altro arriverà con un buzzword più catturante. Credo davvero che questo ruolo sia il futuro dell'ingegneria, e francamente, è qui oggi. Siamo ancora in anticipo nel ciclo del hype, ma continuerà. È qui, ed è glorioso. Che cosa è un direttore agente? Perché, qualcuno che dirige gli agenti, ovviamente! :D Un direttore sarà incentrato su: Creare, mantenere ed evolvere le configurazioni degli agenti per ottimizzare i risultati Monitoraggio delle prestazioni degli agenti e debugging dell'intero pipeline, dal prompt alla produzione Formazione e agenti di fine-tuning per soddisfare gli standard di ingegneria e di prodotto Gestire e osservare i flussi di lavoro guidati da AI Assicurarsi che gli agenti rispettino i vincoli architettonici, i requisiti di conformità e le politiche di sicurezza attraverso una documentazione ben definita Validazione delle decisioni di progettazione di sistema di alto livello E tutto ciò che un agente non può fare, Ognuno di questi potrebbe essere un blog post. Alcuni di questi saranno nuovi: è chiaro che ci sono nuove competenze da imparare. Dovremmo trovare opportunità per imparare questo oggi. Se non puoi farlo al lavoro, inizia un progetto laterale, o 3, e lascia che gli agenti facciano il lavoro. Non sono tutti i fiori e gli agenti Il ruolo del direttore dell’agente comporta rischi reali. Molte persone hanno sollevato questi, e li ho menzionati anche sopra. Siamo un po’ in anticipo adesso per apprezzare veramente gli impatti, ma è una questione di tempo. L'erosione delle competenze fondamentali può accadere quando ci affidiamo troppo all'IA, rendendoci stupidi. Può indebolire il nostro giudizio e gli istinti di qualità del codice. Ci sono alcuni studi iniziali lì fuori in accordo. Vorrei sostenere: se questo è fatto correttamente, questo ci libera a fare cose più creative, allungando nuove parti del nostro cervello. Perdita di sistema e coerenza architettonica.Oggi, gli agenti funzionano bene localmente, possono ottimizzare il codice all'interno della loro visione immediata, ma spesso mancano i principi di progettazione sistemica e il "immagine più grande".Dal momento che le finestre di contesto diventano più grandi e i modelli diventano più intelligenti, questo diventerà un non-problema? Se ci fidiamo implicitamente di AI e supponiamo che gli agenti siano “sufficientemente intelligenti” senza una corretta convalida, iniziamo a creare sistemi fragili. sovraconfidenza nell’automazione, aka: diventiamo pigri. Anche se è necessario meno contesto quando si gestisce gli agenti (non ho bisogno di caricare l'intera base di codice nella mia memoria di lavoro), gestire una dozzina di agenti in una dozzina di applicazioni, con tecnologie diverse, richiederà la gestione del contesto del prossimo livello per noi, gli esseri umani. La tua esperienza è necessaria... Con l'ascesa dei direttori degli agenti, l'esperienza diventa sempre più importante.Questi ruoli prioritano la supervisione, la coordinazione e il giudizio rispetto alla codifica line-by-line. A meno che... non lo sarà. La prossima iterazione di strumenti di intelligenza artificiale potrebbe colpire la nostra mente; le competenze ingegneristiche e l'esperienza moriranno come se avessimo bisogno di un team di operazioni per spingere manualmente il codice in produzione. Non sono venduto che l'intelligenza artificiale è arrivata troppo presto. l'IA, come lo sappiamo, è addestrata, sputando i token delle migliori possibilità in ordine. Può rivedere, criticare e migliorare le probabilità, ma è ancora un modello addestrato. Non c'è creatività. Non ci sono nuove idee. Non c'è ingenuità. Gli ingegneri umani devono rimanere al di sopra di esso per mantenere il nostro codice e i prodotti che creiamo ottimali, di impatto e mirati. Modelli di pensiero (non pensare veramente) Non puoi promuovere la tua strada per diventare un ingegnere senior Man mano che l’intelligenza artificiale diventa più incorporata nei flussi di lavoro dell’ingegneria, emerge una pericolosa tentazione: possiamo abbreviare l’esperienza reale. Non abbiamo più bisogno di formare ingegneri junior perché l’intelligenza artificiale può generare il codice. di Legno. “Rallentare gli sviluppatori a causa dell’intelligenza artificiale è la mossa più stupida della tecnologia al momento” (Perazzo, 2024). “Rallentare gli sviluppatori a causa dell’IA è la mossa più stupida della tecnologia al momento.” ) Perazzo, 2024 Le organizzazioni che seguono questo percorso rischiano di distruggere i loro canali di ingegneria. Rischiano di perdere le profonde conoscenze critiche che provengono solo da anni di prova, errore e mentore. E, peggio di tutto, potrebbero non rendersi conto dei danni fino a quando non è troppo tardi. Dobbiamo continuare a investire in ingegneri in crescita, quelli reali. il tipo che pensa, interroga, debugga e progetta. il tipo che può guidare in un futuro in cui l'IA è ovunque, ma il giudizio conta ancora di più. AI can write it. They decide whether it’s right. Come potrebbe sembrare questo? Crescita intenzionale per ingegneri junior Gli sviluppatori junior di oggi hanno bisogno di essere più intenzionali che mai sulla loro crescita. è incredibilmente facile diventare pigri e lasciare che l'IA faccia il pesante sollevamento, ma questo cortocircuita l'apprendimento reale. Quelli di noi che sono venuti prima di AI non hanno dovuto pensare così duramente di essere deliberati; noi Per risolvere i problemi, scrivere da zero, e macinare attraverso il processo. Quante notti ho bruciato inseguendo i bug... Ecco come è stato costruito l’artigianato. Questo non è un problema di ingegnere JR, è un problema umano. Aveva Aveva “L’intelligenza artificiale può aiutare con la generazione di codice, ma senza mentore, la qualità del codice, la sicurezza e l’architettura soffrono” (Osmani, 2024). “L’intelligenza artificiale può aiutare con la generazione di codice, ma senza mentore, la qualità del codice, la sicurezza e l’architettura soffrono” (Osmani, 2024). Per garantire che gli ingegneri junior di oggi crescano in ingegneri senior riflessivi e orientati ai sistemi di cui avremo bisogno domani, incoraggio alcune tecniche pratiche: Impegnarsi con AI L'IA non va da nessuna parte; è troppo difficile da evitare. Tuttavia, non significa che devi rinunciare e lasciarlo fare tutto, non permettendoti di imparare. Utilizzare l'IA per generare soluzioni e codice, ma prendersi il tempo di capire e mettere in discussione le sue decisioni. Riscrivere il suo codice manualmente per confrontare gli approcci. Cercare il web per i concetti che sta utilizzando e assicurarsi che siano accurati. Trattare l'AI come un ingegnere senior, guardare, interrogare e imparare. Shadow the AI “L’apprendimento è ora su richiesta. non ho bisogno di conoscere Python per costruire un’app Hello World. Posso costruire l’app e capire come funziona” (Palmer, 2025). “L’apprendimento è ora su richiesta. non ho bisogno di conoscere Python per costruire un’app Hello World. Posso costruire l’app e capire come funziona” (Palmer, 2025). Chiedi all'AI la stessa domanda più di una volta! Se ottieni risposte diverse ogni volta, rivedi cosa li rende diversi. Prova LLM diversi interamente, vale a dire OpenAI vs Claude, e confronta. Question the AI. Registrate le soluzioni e i confronti forniti da AI insieme alle alternative che avete ricercato o inventato; riflettete su quali scelte sono migliori e perché. Keep an AI contrast journal Essere critici dell’IA, non solo supporre che sia giusto (raramente è così buono), porre domande, apportare cambiamenti e impegnarsi con le sue uscite. Il codice senza AI Tu non Per usare AI. Dai un passo! Ha Scegli un libro di codifica. Utilizza Google per cercare, , leggere blog e forum, trovare frammenti di codice, copiare / incollare e scrivere il proprio codice! Go old school (are the kids calling it vintage now?). Ignorare la sua risposta Gemini Oltre alla codifica, non usare l'IA nel debugging dei problemi.Nulla è meglio di trascorrere 4 ore risolvendo i problemi di un bug quando ti rendi conto di aver sbagliato una variabile. AI-free problem-solving. Mantenere la responsabilità di un piccolo ma non triviale pezzo di software. gestire la sua evoluzione, il debug e le scelte di progettazione. Own a real component. Questo è il modo in cui i nostri ingegneri esperti sono diventati esperti, costruendo capacità di pensiero critico e progettazione di sistemi: hands-on codice, apprendimento di nuovi modelli attraverso prova ed errore, e risoluzione dei problemi di mente. Impegnarsi con le persone Al di fuori del tuo percorso di apprendimento, impegnarti con esperti che sono andati prima di te. Studiare progetti open source ben mantenuti per internalizzare le migliori pratiche e modelli decisionali.Utilizzare l'IA per spiegare certe complessità e chiedere perché gli autori potrebbero aver scelto la direzione che hanno fatto. Read great code. Partecipa alle recensioni con ingegneri senior, non solo per la convalida del codice, ma per comprendere il pensiero architettonico e strategico. Seek out human pairing. Spiega il tuo lavoro agli altri, come hai ragionato attraverso una situazione complessa. Considera parlare in gruppi di utenti o blogging. Ripetere ciò che hai imparato agli altri rafforza questi fatti per te stesso. Share what you learn. Il tuo futuro è nelle tue mani Questo richiede tempo e sforzo, e le probabilità sono, accadrà al di fuori del lavoro. Fai la codifica il tuo nuovo hobby, intraprendi progetti laterali e sei ansioso di imparare! Non conosciamo il vero futuro dell'ingegneria del software, anche se è il codice scritto al 100% da AI in 5 anni. Quello che puoi imparare oggi, attraverso i suggerimenti di cui sopra, sarà inestimabile. Ingegneria, dobbiamo mostrare Apprezzo che sia una cosa dire tutto questo, ed è un’altra per consentire ad alcuni di farlo. Sfortunatamente, la maggior parte delle squadre di ingegneria sono guidate da scadenze e budget stretti. Lasciare un ingegnere imparare costa tempo e denaro. Le organizzazioni devono investire Si tratta del futuro, ma dobbiamo pianificare adesso.Il fallimento di costruire futuri ingegneri senior, ingegneri esperti introduce lacune a lungo termine in leadership, competenza tecnica e innovazione. adesso