Career growth

Da junior a senior developer: il percorso reale in una software house

Quanto tempo serve per diventare senior? Cosa cambia davvero? Un tech lead racconta il percorso reale in una software house, oltre i titoli e gli anni di esperienza.

Team Lasting Dynamics

Team Editoriale di Lasting Dynamics

12 min read
Developer che collabora con un collega senior durante una sessione di pair programming

Da junior a senior developer: il percorso reale in una software house

C'è un momento preciso in cui un developer smette di essere junior. Non coincide con il giorno in cui il contratto cambia titolo, né con il quarto anno di lavoro, né con la prima pull request approvata senza commenti. Succede prima — o dopo, dipende dalla persona — ed è quasi sempre invisibile mentre accade. Te ne accorgi in retrospettiva, quando realizzi che stai rispondendo a domande che prima facevi tu, che stai scegliendo come risolvere un problema invece di chiedere come farlo, che la tua testa non è più dentro il codice ma sopra di esso.

Abbiamo visto questo momento decine di volte, da dentro. Questa non è una guida generica sulle "competenze del senior developer" — quelle le trovi ovunque, e sono quasi sempre una lista di tecnologie che cambierà entro sei mesi. È il racconto di cosa succede davvero quando un developer cresce in una software house: i momenti di svolta, le crisi di crescita, le cose che nessuno ti dice in anticipo. Scritto da chi sta dall'altra parte del tavolo e ha interesse a vedere il processo riuscire.


Il problema con come viene raccontata la crescita

Internet è piena di roadmap per diventare senior developer. Quasi tutte hanno la stessa struttura: una lista di tecnologie da imparare, ordinata per difficoltà crescente, con link a corsi e certificazioni. Alcune aggiungono le "soft skills" — comunicazione, leadership, mentoring — come se fossero un livello da sbloccare dopo aver completato le hard skills. Il messaggio implicito è che la crescita sia lineare, misurabile, e sostanzialmente individuale: impara queste cose, diventa senior.

Non funziona così. O meglio, funziona così solo sulla carta — nel mondo reale di una software house, la crescita ha una struttura molto più caotica, relazionale e contestuale. Un developer può conoscere React, TypeScript, Docker, i design pattern e i principi SOLID, e rimanere bloccato a livello junior per anni. Un altro può avere un bagaglio tecnico più limitato e fare il salto in diciotto mesi. La differenza non sta in quello che sai, ma in come usi quello che sai — e soprattutto in come ti relazioni con il lavoro, con il team, con i clienti, con l'incertezza.

Questo non significa che le competenze tecniche non contino. Contano moltissimo. Ma sono la condizione necessaria, non sufficiente.


I tre livelli reali (che non corrispondono ai titoli)

Quando osserviamo i developer del team nel tempo, vediamo tre modalità di lavoro distinte — che chiamiamo internamente "livelli", anche se i titoli contrattuali non sempre le rispecchiano con precisione.

Il primo livello è quello dell'esecutore competente: riceve un task definito, sa come affrontarlo tecnicamente, lo porta a termine con qualità. Ha bisogno di contesto per ogni decisione che va oltre il suo scope. Fa domande spesso — il che è positivo — ma le domande sono quasi sempre di tipo "come faccio a fare X?" piuttosto che "dovremmo fare X o Y?". Il suo lavoro è buono e affidabile, ma richiede supervisione sulle scelte architetturali e di design.

Il secondo livello è quello del problem solver autonomo: riceve un problema, non solo un task. Sa scomporre il problema in task, scegliere l'approccio tecnico, gestire le ambiguità. Inizia a fare domande di tipo "perché stiamo facendo X?" e "avete considerato Y come alternativa?". Il suo codice non è solo funzionante ma pensato — con un occhio alla manutenibilità, alla scalabilità, all'impatto su chi lavorerà su quel codice tra sei mesi. Questo è il livello mid, e molti developer rimangono qui a lungo senza rendersene conto.

Il terzo livello è quello del moltiplicatore: non solo risolve problemi, ma cambia il modo in cui il team li affronta. Scrive documentazione che altri usano davvero. Fa code review che insegnano qualcosa. Porta in una retrospettiva un'osservazione che cambia un processo. Quando entra in una discussione tecnica, alza il livello della conversazione. La sua presenza rende il team migliore — non solo il suo codice.

Il salto dal primo al secondo livello è principalmente tecnico. Il salto dal secondo al terzo è principalmente umano.


Quanto tempo ci vuole (la risposta onesta)

La domanda più frequente che ci fanno i developer junior è: "quanto tempo ci vuole per diventare senior?" La risposta onesta è: dipende, ma non in modo arbitrario.

Nei casi che abbiamo visto funzionare meglio, il salto da junior a mid avviene tra i 18 e i 36 mesi. Il salto da mid a senior tra i 2 e i 4 anni successivi. Quindi, in una traiettoria sana, un developer può diventare genuinamente senior in 4-7 anni dall'inizio della carriera. Ci sono eccezioni in entrambe le direzioni — developer che ci mettono 3 anni in totale, altri che dopo 8 anni sono ancora funzionalmente mid-level.

Quello che accelera il percorso non è lavorare più ore. È lavorare su problemi più grandi di quelli che sai già risolvere. Un developer che passa due anni a fare lo stesso tipo di task — anche bene, anche con ottima qualità — non cresce alla stessa velocità di uno che viene messo di fronte a problemi nuovi ogni sei mesi. Per questo, in una software house, la varietà dei progetti è un acceleratore di crescita che spesso vale più di un corso di formazione.

Quello che lo rallenta è quasi sempre lo stesso: evitare l'incertezza. I developer che crescono lentamente tendono a restare nella zona di confort tecnica — scelgono sempre la soluzione che conoscono, evitano le discussioni architetturali perché "non è compito mio", non fanno code review perché "non voglio sembrare presuntuoso". La crescita richiede una certa dose di disagio gestito.


Il momento di svolta: cosa lo scatena

Nei racconti dei developer del team, c'è quasi sempre un momento identificabile — un progetto, una crisi, una conversazione — che ha segnato il prima e il dopo. Non è sempre positivo nel momento in cui accade.

Uno dei nostri developer senior racconta di aver preso in carico da solo, per la prima volta, la gestione di un'integrazione critica con un sistema legacy di un cliente. Nessuno nel team conosceva bene quel sistema. La documentazione era parziale. Il cliente era nervoso. Lui ha passato due settimane in uno stato di ansia costante, ha fatto scelte che in retrospettiva avrebbe fatto diversamente, ha imparato più in quei quattordici giorni che nei sei mesi precedenti. Quando ha finito, qualcosa era cambiato: aveva la prova che poteva gestire l'incertezza.

Un altro racconta di una code review ricevuta da un senior del team — non aggressiva, ma molto diretta — che aveva smontato un'architettura su cui aveva lavorato per una settimana. La prima reazione era stata difensiva. Poi aveva riletto i commenti, capito il ragionamento, rifatto il lavoro. "Da quel momento ho iniziato a fare code review io stesso," dice. "Perché ho capito che non era un giudizio su di me, era un investimento nel codice."

Il pattern è sempre lo stesso: un momento di pressione reale, gestito, che lascia una traccia permanente nella fiducia in se stessi.


Cosa cambia davvero tra junior e senior

La differenza più visibile tra un developer junior e uno senior non è la velocità di scrittura del codice — spesso è l'opposto. I senior scrivono meno codice, non di più. Scrivono meno perché sanno quando non scrivere codice: quando la soluzione giusta è rimuovere codice esistente, quando il problema va risolto a livello di processo prima che a livello tecnico, quando la feature richiesta non dovrebbe essere costruita affatto.

La differenza più importante, però, è nel rapporto con il tempo. Un developer junior pensa a settimane. Un mid pensa a mesi. Un senior pensa ad anni — non in modo astratto, ma concretamente: "se scriviamo questo così, chi lo leggerà tra due anni? Cosa succederà quando il team sarà cresciuto? Come si comporterà sotto carico quando il prodotto avrà dieci volte gli utenti?" Questa proiezione temporale cambia ogni decisione tecnica.

C'è poi la dimensione relazionale. Un senior developer in una software house non lavora solo con il codice — lavora con i clienti, con il product team, con i designer, con i developer meno esperti. Sa tradurre i requisiti tecnici in linguaggio comprensibile per chi non scrive codice. Sa fare domande che aiutano il cliente a capire cosa vuole davvero, non solo quello che ha chiesto. Sa dare feedback costruttivi senza demotivare. Queste competenze non si imparano su nessuna roadmap online.


Come funziona la crescita dentro Lasting Dynamics

Quando un developer entra nel team come junior, il primo mese è quasi interamente dedicato all'osservazione e alla comprensione del contesto: come lavoriamo, come sono strutturati i progetti, come funzionano le relazioni con i clienti. Non viene messo su un progetto critico da solo — viene affiancato, con spazio per fare domande senza pressione di performance.

Nei mesi successivi, il percorso è guidato da obiettivi espliciti concordati con il tech lead — non "impara React" ma "entro il prossimo quarter, voglio che tu sia in grado di gestire autonomamente l'integrazione di una nuova API senza supervisione". Gli obiettivi sono concreti, misurabili, e legati al lavoro reale, non a esercizi teorici.

Le code review sono il principale strumento di crescita tecnica. Non le facciamo come controllo qualità — le facciamo come conversazione. Un commento su una PR non è "questo è sbagliato", è "hai considerato questo approccio alternativo? Ecco perché lo preferisco in questo contesto." Il developer che riceve il feedback impara non solo la soluzione, ma il ragionamento dietro.

Ogni sei mesi facciamo una conversazione strutturata di carriera — non una valutazione delle performance, ma una mappa: dove sei adesso, dove vuoi arrivare, cosa ti manca, cosa possiamo fare insieme per colmare il gap. Se un developer vuole specializzarsi in un'area specifica, cerchiamo di indirizzare i progetti in quella direzione. Se vuole sviluppare competenze di leadership, gli diamo responsabilità crescenti su progetti più piccoli prima di affidargli team interi.


L'Impatto dell'ai: cosa cambia nel percorso di crescita

Non si può scrivere di crescita professionale per developer nel 2025 senza parlare di AI. La domanda che sentiamo più spesso dai developer junior è: "ha ancora senso investire nella crescita tecnica se l'AI farà tutto?"

La risposta breve è sì, ma il percorso cambia. L'AI ha reso molto più veloce la scrittura di codice boilerplate, la ricerca di soluzioni a problemi noti, la generazione di test. Ha reso più accessibile il livello junior — chiunque con un po' di pazienza può far scrivere all'AI del codice funzionante. Ma ha anche alzato l'asticella per quello che conta davvero a livello senior.

Quello che l'AI non fa — ancora, e probabilmente non farà nel medio termine — è capire il contesto di business, fare le domande giuste al cliente, scegliere quale problema vale la pena risolvere, costruire la fiducia con un team, fare mentoring a un developer junior. Le competenze che distinguono un senior da un mid sono diventate più importanti, non meno, nell'era dell'AI. Il codice è sempre più una commodity — il giudizio rimane umano.

Per i developer junior, questo significa che il percorso di crescita dovrebbe essere ancora più orientato alle competenze di sistema e relazionali, non solo a quelle tecniche. Imparare a usare bene gli strumenti AI è parte del mestiere. Imparare a pensare a livello di architettura e di business è quello che farà la differenza.


Segnali che sei pronto per il salto

Ci sono alcuni indicatori concreti che, nella nostra esperienza, segnalano che un developer mid è pronto per essere riconosciuto come senior. Non sono una checklist da completare — sono osservazioni su pattern che abbiamo visto ripetersi.

Il primo è quando inizi a fare domande prima che te le facciano. Quando in una riunione di planning dici "abbiamo considerato l'impatto su X?" prima che qualcuno te lo chieda. Quando leggi una specifica e identifichi le ambiguità invece di aspettare di incontrarle nel codice.

Il secondo è quando il tuo feedback viene cercato attivamente. Non solo accettato — cercato. Quando i colleghi junior vengono da te con domande non perché sei l'unico disponibile, ma perché sanno che le tue risposte sono utili. Quando il tuo parere su una decisione architetturale viene chiesto anche quando non sei il responsabile del progetto.

Il terzo è quando inizi a pensare alla manutenibilità prima della funzionalità. Quando la prima domanda che ti fai di fronte a un problema non è "come lo risolvo?" ma "chi dovrà mantenere questa soluzione, e in che condizioni?"

Se riconosci questi pattern nel tuo lavoro quotidiano, probabilmente sei già senior — anche se il titolo non lo dice ancora.


Il percorso non è lineare

Una cosa che non viene mai detta abbastanza: il percorso da junior a senior non è una linea retta ascendente. Ci sono plateau — periodi di settimane o mesi in cui non senti di stare crescendo, in cui il lavoro è routinario e non stimolante. Ci sono regressioni apparenti — momenti in cui cambi progetto o tecnologia e ti senti di nuovo principiante. Ci sono crisi di fiducia — quando vedi un collega crescere più in fretta e ti chiedi se stai facendo qualcosa di sbagliato.

Tutto questo è normale. I plateau spesso precedono salti di crescita significativi — il cervello sta integrando quello che ha imparato prima di essere pronto per il livello successivo. Le regressioni apparenti sono spesso crescita reale in disguise — imparare a lavorare in un contesto nuovo ti costringe a mettere in discussione assunzioni che davi per scontate. Le crisi di fiducia, se gestite, diventano autoconsapevolezza.

Quello che conta non è la velocità, ma la direzione. Un developer che cresce lentamente ma costantemente, che ogni sei mesi è genuinamente più capace di sei mesi prima, arriverà dove vuole arrivare. Un developer che cresce a scatti e poi si blocca per anni ha un problema diverso — spesso di contesto, non di capacità.


Se stai leggendo questa guida perché stai valutando dove lavorare per crescere come developer, sappi che la scelta del contesto è probabilmente più importante di qualsiasi corso o certificazione. Un team che investe nella tua crescita, su progetti vari e sfidanti, con feedback diretto e opportunità di responsabilità crescente, vale più di qualsiasi roadmap online.

Leggi anche:

Team Lasting Dynamics

Team Lasting Dynamics

Team Editoriale di Lasting Dynamics

Il team di Lasting Dynamics scrive da Las Palmas de Gran Canaria, dove l'azienda ha sede.

Condividi questo articolo:LinkedInTwitter

Articoli Correlati