Adesso Italia

Insights7/4/2025

AI Assisted Vibe Coding: l’impatto sulle figure junior, mid-level e senior

agile software development
AI

Article by

Stefano Bruna

Chief Technology Officer

Linkedin

Per l'implementazione di uno spike tecnologico in un progetto di ricerca interno, per cui avevo una precisa idea funzionale ma praticamente nessuna conoscenza dello specifico stack tecnologico, ho sperimentato un po’ di ’Vibe Coding’. Le caratteristiche del task – dimensioni contenute e risultato funzionale ben chiaro – si prestavano bene a questo metodo, che ho applicato attraverso: 

 

  • Sessioni di sviluppo focalizzate e senza interruzioni (circa 4 ore a sessione). 
  • L’impiego di uno stack tecnologico moderno (backend Python/FastAPI, frontend Next.js). 
  • Prototipazione rapida e continue iterazioni, procedendo per tentativi e sperimentazioni. 
  • E soprattutto una collaborazione costante e sinergica con un assistente AI durante l'intero processo.

Ecco alcuni esempi in cui l’AI è stata un "compagno di coding”:

  • Scaffolding e Boilerplate: fin dalle prime fasi, ho utilizzato l’AI come un "acceleratore". Ad esempio, ho chiesto suggerimenti su come impostare rapidamente lo scheletro di un'API REST utilizzando FastAPI e Uvicorn, ottenendo subito una struttura di base funzionante da cui partire. 
  • Guida all'uso delle librerie: non conoscendo nel dettaglio lo stack, l'AI è stata fondamentale per capire come usare specifiche librerie. Per l'accesso al database, mi ha fornito esempi pratici su come definire modelli con SQLAlchemy, come configurare la connessione e, soprattutto, come implementare correttamente le relazioni tra le tabelle, un'area che spesso richiede la consultazione di documentazione specifica. 
  • Front-end setup e Struttura: anche sul lato Next.js, l'AI è stata preziosa. Mi ha dato indicazioni su come strutturare le cartelle dei componenti, come gestire le chiamate API al backend, e come impostare le pagine e il routing base, accelerando notevolmente la creazione di un client funzionale. 
  • Best Practices "Just-in-Time": invece di cercare manualmente le convenzioni o i pattern consigliati per ciascuna tecnologia, potevo chiedere direttamente all'AI ("Qual è il modo migliore per gestire X in FastAPI/Next.js?"), ottenendo risposte contestualizzate. 

    Questo contesto sembra presentare delle condizioni ideali per liberare il pieno potenziale di un AI Assistant. Le situazioni di stallo, causate dalla poca familiarità con uno stack tecnologico nuovo, si riducono drasticamente.

Faccio un esempio: l’applicazione ha iniziato a soffrire di blocchi intermittenti. Dopo aver descritto i sintomi all'AI, questa ha suggerito diverse opzioni, tra cui quella di usare un tool di profiling. Ho eseguito il tool e ho dato in pasto all'AI il suo output completo, un log molto esteso. L'abilità dell'AI nell'analizzare quella mole di dati è stata notevole: ha isolato una specifica attesa di 120 secondi per una connessione, diagnosticandola come un probabile problema di rete/DNS. Questo insight è stato la chiave per capire che il problema derivava dal mio recente passaggio a una rete Wi-Fi con limitazioni sull’esposizione di servizi locali. 

Questo esempio dimostra due cose: 

  • Fra i diversi suggerimenti, circa una decina, data la mia esperienza ho capito quale strada era meglio percorrere. Se non avessi usato l’AI avrei impiegato almeno 4 volte il tempo per risolvere cercando sul web. Vedere quel 120 disperso nell’output di uno strumento non conosciuto non sarebbe stato immediato. Ricordo che lo stack tecnologico era per me nuovo. 
  • Questa esperienza mi suggerisce un'ipotesi intrigante sull'impatto differenziato dell'AI: se i senior developer ne potenziano l'efficacia grazie alla loro esperienza e gli junior accelerano la loro curva di apprendimento iniziale, i mid-level developer potrebbero trovarsi in una posizione un po più critica. Rischiano di non avere ancora l'esperienza profonda dei senior per guidare e validare criticamente l'AI, né di trovarsi nella fase iniziale dei junior dove qualsiasi aiuto rappresenta un enorme passo avanti.

Potrebbero essere quindi proprio i mid-level developer ad incontrare le maggiori difficoltà nell'era dell'AI-assisted coding. Mentre i senior usano l'AI come un 'moltiplicatore di forza' e gli junior come un 'tutor accelerato', i mid-level potrebbero rimanere in un limbo: capaci di usare lo strumento, ma forse meno spinti a sviluppare quella profonda comprensione e quel problem solving autonomo che definiscono la seniority. Si rischia che per loro l’AI diventi una 'stampella' che ti aiuta a stare in piedi ma che contemporaneamente ti impedisce di correre. 

Tuttavia, questa lettura rischia di sottovalutare una caratteristica chiave: la capacità di adattamento. Proprio la natura "in-between" dei mid-level developer potrebbe renderli, al contrario, i più rapidi nell'adottare modalità di lavoro innovative. Essendo spesso in una fase di crescita attiva e meno ancorati a metodologie consolidate rispetto ai senior, potrebbero essere particolarmente ricettivi all'integrazione di nuovi strumenti come l'AI, evolvendo rapidamente verso competenze ibride – tecniche e collaborative con l'AI – estremamente preziose nel panorama attuale.

La vera sfida, quindi, non è tanto identificare chi sia più a rischio, quanto piuttosto come accompagnare tutti in questa transizione. In adesso.it, siamo consapevoli di queste dinamiche e stiamo lavorando attivamente per supportare ogni profilo nel suo percorso evolutivo verso l'AI-assisted coding. Indipendentemente dal livello di seniority, incoraggiamo un approccio equilibrato: 

  1. Rafforzare le fondamenta: continuiamo a investire sulla padronanza dei concetti chiave – design patterns, architetture software, principi SOLID – che forniscono la bussola critica per guidare, interpretare e validare l'output dell'AI. 
  2. Coltivare il nuovo mindset: promuoviamo una cultura di sperimentazione e apprendimento continuo, organizzando momenti di condivisione, fornendo accesso a strumenti e incoraggiando a vedere l'AI non come un sostituto, ma come un potente 'compagno di coding' con cui imparare a interagire efficacemente. 

     

    Crediamo che ogni sviluppatore, junior, mid-level o senior, possa trarre vantaggio dall'AI se supportato nel modo giusto. L'obiettivo è far sì che nessuno si senta lasciato indietro o limitato, ma che tutti possano sviluppare le competenze necessarie per prosperare in questo nuovo scenario.