Vai al contenuto
Menu

Modello di scala di carriera

Modello di scala di carriera per software engineer

Cinque livelli da Junior a Principal, sei competenze: dal rilascio del codice alla crescita del team.

Piano Gratuito · Nessuna carta di credito richiesta

Questa scala di carriera è pensata per aziende di prodotto con circa 20–200 persone: gli engineer portano le funzionalità dall’inizio alla fine, i team sono piccoli e nessuno in HR sta definendo un’architettura dei ruoli. Descrive cinque livelli, da chi è all’inizio della carriera a chi orienta la direzione tecnica dell’intera azienda. Il livello più alto, Principal Engineer, è un livello specialistico: la gestione degli engineer è coperta dalla scala di carriera separata per engineering manager.

Ogni livello è definito da ciò che una persona fa, non dagli anni di esperienza. Leggi una riga della matrice delle competenze da sinistra a destra per vedere come cresce un’aspettativa; leggi la sezione di un livello per vedere tutto ciò che ci si aspetta a quel livello. Usala per spiegare cosa significa il livello successivo, per strutturare autovalutazioni e check-in e per rendere confrontabili le proposte di promozione tra team diversi.

Considerala un punto di partenza. Rinomina i livelli in base ai tuoi titoli, unisci o elimina le competenze che non si adattano alla tua azienda e riscrivi le aspettative con parole tue prima di pubblicare la scala di carriera al team.

I livelli in sintesi

  1. Junior Engineer

    Impara a conoscere il codice e porta a termine attività ben definite con una guida.

    Ambito
    Singole attività in un’area del prodotto, di solito scomposte da qualcuno con più esperienza.
  2. Engineer

    Realizza funzionalità in autonomia ed è un membro affidabile del team.

    Ambito
    Funzionalità piccole e medie nell’area di un team, da una breve nota di design fino alla produzione.
  3. Senior Engineer

    Guida porzioni di lavoro più ampie e alza il livello del team che ha intorno.

    Ambito
    Progetti che coinvolgono più servizi o più persone, e le decisioni tecniche di un team.
  4. Staff Engineer

    Risolve problemi che attraversano i confini tra team e orienta decisioni tecniche oltre il proprio team.

    Ambito
    Più team o un’intera area di prodotto, compresi i problemi di cui nessun team è responsabile.
  5. Principal Engineer

    Definisce la direzione tecnica dell’azienda e risponde della sua salute tecnica nel lungo periodo.

    Ambito
    L’intera organizzazione di engineering e la strategia tecnica dell’azienda per i prossimi anni.

Matrice delle competenze

Ogni riga è una competenza e ogni colonna un livello. Leggi una riga da sinistra a destra per vedere come crescono le aspettative.

Cosa significa ogni competenza

Sviluppo e consegna
Trasformare i requisiti in software funzionante e manutenibile e portarlo agli utenti.
Progettazione dei sistemi
Scegliere strutture, interfacce e compromessi che reggano man mano che il prodotto cresce.
Qualità e affidabilità
Mantenere il prodotto corretto, osservabile e disponibile, e imparare dai guasti.
Collaborazione e comunicazione
Lavorare in modo efficace con gli altri engineer, con il prodotto, con il design e con il resto dell’azienda.
Responsabilità e impatto sul prodotto
Capire perché il lavoro conta e prendersi la responsabilità dei risultati, non solo delle attività.
Mentoring e crescita del team
Aiutare gli altri a migliorare e rendere il team più forte di qualsiasi singola persona che ne fa parte.
Software Engineer: aspettative per competenza e livello
CompetenzaJunior EngineerEngineerSenior EngineerStaff EngineerPrincipal Engineer
Sviluppo e consegnaCompleta attività ben circoscritte con codice leggibile e test, chiede aiuto dopo qualche ora di blocco e non dopo qualche giorno, e risolve i commenti della review prima del merge.Porta una funzionalità da una breve nota di design alla produzione senza bisogno di essere seguito passo passo, la suddivide in pull request facili da revisionare e fornisce stime realistiche per il lavoro che conosce.Consegna progetti che coinvolgono più servizi o più persone, ordina il lavoro in modo che qualcosa di utile venga rilasciato presto ed elimina i rischi prima che blocchino il team.Sblocca la consegna tra team: scioglie le dipendenze condivise, costruisce gli strumenti o esegue le migrazioni di cui hanno bisogno più team e mantiene in carreggiata i progetti che coinvolgono più team.Definisce il modo in cui l’intera organizzazione rilascia il software — pratiche di rilascio, scelte di piattaforma, strumenti di build e deploy — così che ogni team consegni più velocemente e in modo più sicuro.
Progettazione dei sistemiSegue i pattern esistenti nel codice e sa spiegare perché il codice che ha modificato è strutturato in quel modo.Progetta componenti all’interno di un servizio esistente, scrive una breve nota di design per le modifiche non banali e confronta almeno due opzioni prima di sceglierne una.Guida la progettazione di funzionalità che coinvolgono più servizi, mette per iscritto i compromessi perché altri li revisionino e revisiona in modo costruttivo i design degli altri engineer.Definisce l’architettura oltre i confini dei team — modelli di dati condivisi, contratti tra servizi, decisioni make-or-buy — e anticipa come dovrà cambiare il sistema nei prossimi uno o due anni.È responsabile della strategia tecnica dell’azienda: su quali tecnologie puntare, quali dismettere e come l’architettura deve evolvere insieme al business nell’arco di diversi anni.
Qualità e affidabilitàScrive i test per le proprie modifiche, verifica il proprio lavoro prima del rilascio e corregge i bug nel codice che ha toccato.Aggiunge monitoraggio e alert alle funzionalità che sviluppa, partecipa ai turni di reperibilità e gestisce gli incidenti di routine seguendo il runbook.Guida la risposta agli incidenti sui sistemi del team, scrive post-mortem senza colpevolizzare nessuno e si assicura che le azioni conseguenti vengano davvero portate a termine.Individua i rischi di affidabilità e sicurezza che attraversano più sistemi, definisce standard come la strategia di test e gli obiettivi di livello di servizio e porta avanti le correzioni tra i team.Definisce cosa significano affidabilità, sicurezza e qualità per l’azienda, le bilancia con la velocità insieme al management ed è l’ultimo punto di escalation per gli incidenti più difficili.
Collaborazione e comunicazioneCondivide apertamente progressi e ostacoli e fa domande chiare quando un requisito non è chiaro.Lavora direttamente con prodotto e design per chiarire i requisiti, spiega i vincoli tecnici con parole semplici e scrive descrizioni delle pull request che chi fa la review riesce a seguire.Rappresenta il team nella pianificazione, negozia perimetro e compromessi con il prodotto e scrive documenti comprensibili anche da chi non lavora in engineering.Allinea più team e funzioni attorno a un piano tecnico, risolve i disaccordi tra team e spiega i rischi tecnici al management.È una voce autorevole nelle decisioni a livello aziendale, traduce la strategia di business in direzione tecnica e viceversa e, quando serve, rappresenta l’engineering davanti a clienti, partner o investitori.
Responsabilità e impatto sul prodottoComprende lo scopo delle proprie attività, verifica che ciò che ha rilasciato funzioni per gli utenti e se ne occupa finché non funziona.È responsabile di una funzionalità dopo il lancio: ne osserva utilizzo ed errori, corregge ciò che non va e propone miglioramenti in base a ciò che impara.È responsabile di un’area del prodotto dall’inizio alla fine, mette in discussione i requisiti che non servono agli utenti e propone lavoro che fa avanzare gli obiettivi del team.Individua i problemi a più alto impatto in un’area di prodotto — compresi quelli di cui nessun team si è fatto carico — e si assicura che vengano risolti.Collega gli investimenti in engineering ai risultati dell’azienda e sostiene o contesta le grandi scommesse in base al loro impatto tecnico e di business.
Mentoring e crescita del teamChiede feedback e ne tiene conto, e mette per iscritto ciò che ha imparato perché il prossimo nuovo arrivato abbia un inizio più facile.Fa code review accurate, aiuta l’onboarding dei nuovi colleghi e lavora in coppia con gli engineer junior sulle parti del codice che non conoscono.Fa mentoring in modo mirato a uno o due engineer, dà feedback che li aiuta a raggiungere il livello successivo e partecipa ai colloqui di selezione.Fa crescere i senior engineer di più team, definisce il processo di selezione e le pratiche di engineering ed è una persona a cui gli altri si rivolgono per un consiglio.Costruisce la cultura tecnica dell’azienda — come si prendono le decisioni e come si condivide la conoscenza — e sviluppa la prossima generazione di staff engineer.

Scorri la tabella lateralmente per vedere tutti i livelli.

Scarica in CSV Si apre in Excel, Google Sheets o Numbers.

Junior Engineer: cosa ci si aspetta

Impara a conoscere il codice e porta a termine attività ben definite con una guida. Singole attività in un’area del prodotto, di solito scomposte da qualcuno con più esperienza.

Sviluppo e consegna
Completa attività ben circoscritte con codice leggibile e test, chiede aiuto dopo qualche ora di blocco e non dopo qualche giorno, e risolve i commenti della review prima del merge.
Progettazione dei sistemi
Segue i pattern esistenti nel codice e sa spiegare perché il codice che ha modificato è strutturato in quel modo.
Qualità e affidabilità
Scrive i test per le proprie modifiche, verifica il proprio lavoro prima del rilascio e corregge i bug nel codice che ha toccato.
Collaborazione e comunicazione
Condivide apertamente progressi e ostacoli e fa domande chiare quando un requisito non è chiaro.
Responsabilità e impatto sul prodotto
Comprende lo scopo delle proprie attività, verifica che ciò che ha rilasciato funzioni per gli utenti e se ne occupa finché non funziona.
Mentoring e crescita del team
Chiede feedback e ne tiene conto, e mette per iscritto ciò che ha imparato perché il prossimo nuovo arrivato abbia un inizio più facile.

Engineer: cosa ci si aspetta

Realizza funzionalità in autonomia ed è un membro affidabile del team. Funzionalità piccole e medie nell’area di un team, da una breve nota di design fino alla produzione.

Sviluppo e consegna
Porta una funzionalità da una breve nota di design alla produzione senza bisogno di essere seguito passo passo, la suddivide in pull request facili da revisionare e fornisce stime realistiche per il lavoro che conosce.
Progettazione dei sistemi
Progetta componenti all’interno di un servizio esistente, scrive una breve nota di design per le modifiche non banali e confronta almeno due opzioni prima di sceglierne una.
Qualità e affidabilità
Aggiunge monitoraggio e alert alle funzionalità che sviluppa, partecipa ai turni di reperibilità e gestisce gli incidenti di routine seguendo il runbook.
Collaborazione e comunicazione
Lavora direttamente con prodotto e design per chiarire i requisiti, spiega i vincoli tecnici con parole semplici e scrive descrizioni delle pull request che chi fa la review riesce a seguire.
Responsabilità e impatto sul prodotto
È responsabile di una funzionalità dopo il lancio: ne osserva utilizzo ed errori, corregge ciò che non va e propone miglioramenti in base a ciò che impara.
Mentoring e crescita del team
Fa code review accurate, aiuta l’onboarding dei nuovi colleghi e lavora in coppia con gli engineer junior sulle parti del codice che non conoscono.

Senior Engineer: cosa ci si aspetta

Guida porzioni di lavoro più ampie e alza il livello del team che ha intorno. Progetti che coinvolgono più servizi o più persone, e le decisioni tecniche di un team.

Sviluppo e consegna
Consegna progetti che coinvolgono più servizi o più persone, ordina il lavoro in modo che qualcosa di utile venga rilasciato presto ed elimina i rischi prima che blocchino il team.
Progettazione dei sistemi
Guida la progettazione di funzionalità che coinvolgono più servizi, mette per iscritto i compromessi perché altri li revisionino e revisiona in modo costruttivo i design degli altri engineer.
Qualità e affidabilità
Guida la risposta agli incidenti sui sistemi del team, scrive post-mortem senza colpevolizzare nessuno e si assicura che le azioni conseguenti vengano davvero portate a termine.
Collaborazione e comunicazione
Rappresenta il team nella pianificazione, negozia perimetro e compromessi con il prodotto e scrive documenti comprensibili anche da chi non lavora in engineering.
Responsabilità e impatto sul prodotto
È responsabile di un’area del prodotto dall’inizio alla fine, mette in discussione i requisiti che non servono agli utenti e propone lavoro che fa avanzare gli obiettivi del team.
Mentoring e crescita del team
Fa mentoring in modo mirato a uno o due engineer, dà feedback che li aiuta a raggiungere il livello successivo e partecipa ai colloqui di selezione.

Staff Engineer: cosa ci si aspetta

Risolve problemi che attraversano i confini tra team e orienta decisioni tecniche oltre il proprio team. Più team o un’intera area di prodotto, compresi i problemi di cui nessun team è responsabile.

Sviluppo e consegna
Sblocca la consegna tra team: scioglie le dipendenze condivise, costruisce gli strumenti o esegue le migrazioni di cui hanno bisogno più team e mantiene in carreggiata i progetti che coinvolgono più team.
Progettazione dei sistemi
Definisce l’architettura oltre i confini dei team — modelli di dati condivisi, contratti tra servizi, decisioni make-or-buy — e anticipa come dovrà cambiare il sistema nei prossimi uno o due anni.
Qualità e affidabilità
Individua i rischi di affidabilità e sicurezza che attraversano più sistemi, definisce standard come la strategia di test e gli obiettivi di livello di servizio e porta avanti le correzioni tra i team.
Collaborazione e comunicazione
Allinea più team e funzioni attorno a un piano tecnico, risolve i disaccordi tra team e spiega i rischi tecnici al management.
Responsabilità e impatto sul prodotto
Individua i problemi a più alto impatto in un’area di prodotto — compresi quelli di cui nessun team si è fatto carico — e si assicura che vengano risolti.
Mentoring e crescita del team
Fa crescere i senior engineer di più team, definisce il processo di selezione e le pratiche di engineering ed è una persona a cui gli altri si rivolgono per un consiglio.

Principal Engineer: cosa ci si aspetta

Definisce la direzione tecnica dell’azienda e risponde della sua salute tecnica nel lungo periodo. L’intera organizzazione di engineering e la strategia tecnica dell’azienda per i prossimi anni.

Sviluppo e consegna
Definisce il modo in cui l’intera organizzazione rilascia il software — pratiche di rilascio, scelte di piattaforma, strumenti di build e deploy — così che ogni team consegni più velocemente e in modo più sicuro.
Progettazione dei sistemi
È responsabile della strategia tecnica dell’azienda: su quali tecnologie puntare, quali dismettere e come l’architettura deve evolvere insieme al business nell’arco di diversi anni.
Qualità e affidabilità
Definisce cosa significano affidabilità, sicurezza e qualità per l’azienda, le bilancia con la velocità insieme al management ed è l’ultimo punto di escalation per gli incidenti più difficili.
Collaborazione e comunicazione
È una voce autorevole nelle decisioni a livello aziendale, traduce la strategia di business in direzione tecnica e viceversa e, quando serve, rappresenta l’engineering davanti a clienti, partner o investitori.
Responsabilità e impatto sul prodotto
Collega gli investimenti in engineering ai risultati dell’azienda e sostiene o contesta le grandi scommesse in base al loro impatto tecnico e di business.
Mentoring e crescita del team
Costruisce la cultura tecnica dell’azienda — come si prendono le decisioni e come si condivide la conoscenza — e sviluppa la prossima generazione di staff engineer.

Come adattare questa scala

  1. Allinea i livelli ai tuoi titoli

    Se i tuoi titoli sono Developer I, II e III, rinomina i livelli, ma mantieni un livello per ogni reale salto di responsabilità. La maggior parte delle aziende con meno di 100 engineer non ha ancora bisogno di un livello Principal: lascialo fuori finché qualcuno non svolge davvero quel lavoro.

  2. Mantieni da cinque a sette competenze

    Con più di sette, nessuno le legge; con meno di quattro, persone molto diverse sembrano uguali. Unisci le competenze che valuti sempre insieme e aggiungine una solo quando cambierebbe una decisione reale.

  3. Riscrivi le aspettative come comportamenti osservabili

    Per ogni cella, chiediti se un manager potrebbe indicare un esempio degli ultimi sei mesi. Sostituisci parole come «solido» o «approfondito» con ciò che la persona fa davvero, ad esempio «guida la risposta agli incidenti sui servizi del team».

  4. Provala su persone reali prima di pubblicarla

    Chiedi a due o tre manager di collocare i membri del loro team sulla bozza. Dove non sono d’accordo, la formulazione è ambigua: correggila, pubblica la scala di carriera e concorda di rivederla tra sei mesi.

FAQ

Domande su questa scala

Quanti livelli dovrebbe avere una scala di carriera per software engineer?

Da quattro a sei è la norma per un’azienda di 20–200 persone. Con meno livelli le promozioni diventano rare ed enormi; con più livelli la differenza tra due livelli è troppo piccola per descriverla. Questo modello ne usa cinque: Junior Engineer, Engineer, Senior, Staff e Principal.

Gli engineer devono diventare manager per crescere?

No. Questa è una scala di carriera del percorso specialistico: gli Staff e Principal Engineer crescono in perimetro e influenza senza gestire persone. Usala insieme alla scala di carriera per engineering manager, così che passare al management sia un cambio di percorso e non una promozione.

Come usiamo la scala di carriera per decidere le promozioni?

Promuovi le persone che lavorano già con costanza al livello successivo, non quelle che potrebbero farlo. Chiedi alla persona e al suo manager di raccogliere esempi concreti per ogni competenza del livello di destinazione e confronta ogni caso con la stessa matrice, così che le decisioni restino coerenti tra team diversi.

Come si inserisce la scala di carriera nei check-in e negli 1:1?

Usala come ordine del giorno dei check-in periodici: la persona si valuta rispetto al proprio livello attuale, il manager fa lo stesso e le differenze tra le due valutazioni diventano alcune azioni di sviluppo concrete per i mesi successivi.

Ogni quanto dovremmo aggiornare la scala di carriera?

Rivedila una o due volte l’anno e ogni volta che l’azienda cambia forma — ad esempio quando crei un team di piattaforma o inizi ad assumere Staff Engineer. Riscrivi una cella ogni volta che le valutazioni continuano a inciampare su di essa.

Costruisci questa scala di carriera in LadderKit — gratis

Configura i suoi livelli e le sue competenze per il tuo team, valuta le persone su questa base nei check-in e mantieni coerenti le decisioni di promozione.

Piano Gratuito · Nessuna carta di credito richiesta

  • Engineering

    Engineering Manager

    Quattro livelli da Engineering Manager a VP of Engineering, su sei competenze manageriali.

    • 4 livelli
    • 6 competenze
  • Engineering

    QA Engineer

    Quattro livelli da Junior QA a Lead QA Engineer, su sei competenze: dalla progettazione dei test alle pratiche di qualità.

    • 4 livelli
    • 6 competenze
  • Engineering

    DevOps Engineer

    Quattro livelli da Junior a Staff DevOps Engineer, su sei competenze: dall’infrastruttura al supporto agli sviluppatori.

    • 4 livelli
    • 6 competenze

Sfoglia tutti i modelli

Approfondimenti

  • Scale di carriera

    Doppia scala di carriera: percorso specialistico e percorso manageriale

    Come far convivere un percorso specialistico e un percorso manageriale: dove si separano, come allinearne i livelli e come le persone passano dall’uno all’altro senza perdere terreno.

    Aggiornato il 1 ottobre 2026

  • Scale di carriera

    Quanti livelli deve avere una scala di carriera?

    Da quattro a sei livelli per percorso bastano alla maggior parte delle aziende da 20 a 200 persone. Come scegliere il numero, i segnali di livelli troppo pochi o troppi e come aggiungerne uno.

    Aggiornato il 1 ottobre 2026