CodeGym /Java Blog /Random-IT /Com'è essere uno sviluppatore senior. Breve guida al ruol...
John Squirrels
Livello 41
San Francisco

Com'è essere uno sviluppatore senior. Breve guida al ruolo

Pubblicato nel gruppo Random-IT
Tradizionalmente nel settore tecnologico gli sviluppatori sono divisi in quattro gradazioni in base ai loro livelli di qualifica: Junior, Middle, Senior e Team Lead. In due articoli precedenti abbiamo già coperto tutte le basi di cosa vuol dire essere uno sviluppatore di livello Junior e Medio . Ora è il momento di passare alla gradazione successiva. Senior Developer, com'è esserlo e in che modo Senior è diverso da un programmatore di medio livello? Scopriamolo. Com'è essere uno sviluppatore senior.  Una breve guida al ruolo - 1

Chi è uno sviluppatore senior?

In tali articoli su professioni e specializzazioni nello sviluppo software dobbiamo sempre fare una sorta di disclaimer, spiegando che la percezione e la comprensione di una certa posizione può variare molto, a seconda dell'azienda, del settore in cui opera e di altri fattori . Alcune persone, soprattutto quelle che tendono ad essere in qualche modo conservatrici, credono che ti sia permesso definirti Senior solo se hai oltre 10 anni di esperienza di programmazione, il che è responsabile. Significa che solo gli anni in cui stavi effettivamente programmando come dipendente a tempo pieno contano, non puoi iniziare a contare da quando hai provato a programmare per la prima volta in Basic all'età di 12 anni (come tendono a fare molti giovani programmatori, facendo incazzare i veri programmatori Senior ). Essendo meno conservatore, molte persone credono che più di cinque anni di lavoro a tempo pieno come sviluppatore di software ti permettano di definirti un Senior. D'altra parte, anni di esperienza sono solo un numero, ciò che conta davvero sono le conoscenze, le capacità e l'esperienza applicata. È qui che devi davvero consegnare per meritare il titolo di Senior, perché lo sviluppatore senior è spesso visto come un mago di programmazione onnisciente e onnipotente. Nella percezione del management, Senior è normalmente colui che sa come risolvere qualsiasi compito relativo al progetto o come scrivere il codice richiesto. Ma una delle funzioni più importanti di uno sviluppatore senior su uno specifico progetto di sviluppo software è la conoscenza del progetto stesso con tutte le sue problematiche, esigenze, sfumature e così via. Essere in grado di lavorare in autonomia è una qualità importante di un Senior. Ciò significa che il Senior sa cosa e quando fare, e non ha bisogno di supervisione per svolgere il lavoro che dovrebbe svolgere. E questa è una qualità piuttosto preziosa agli occhi di qualsiasi datore di lavoro, in quanto significa che puoi affidare a questo sviluppatore un compito relativo al progetto e lasciare tutto il resto a lui/lei. Con "tutto il resto": capire i bisogni, i requisiti e i limiti per il compito da completare, trovare l'approccio giusto, trovare gli strumenti adeguati, dividere il grande compito in compiti più piccoli e dare quelli a livello medio e junior Sviluppatori, ecc. C'è un altro aspetto importante che differenzia i programmatori Senior dai programmatori di livello medio e Junior. È nel codice che scrivono e nel modo in cui lo fanno. Senior normalmente è e dovrebbe essere colui che scrive il codice più chiaro, semplice e conciso. A volte nella misura in cui questo codice sembra eccessivamente semplice e primitivamente semplice. Questo perché Senior deve considerare non solo il completamento dell'attività come risultato finale, ma l'effetto complessivo del nuovo codice sulla base di codice del progetto. Gli sviluppatori senior scrivono il loro codice pensando alla manutenibilità e alla scalabilità, e questo è il loro principale punto di forza, che può venire solo con l'esperienza e nient'altro.

Quali sono le responsabilità di uno sviluppatore senior?

Ora parliamo più in dettaglio di alcune delle responsabilità più standard e comuni di un Senior Developer, concentrandoci naturalmente sulle responsabilità tipiche dei programmatori Java.
  • Identificare e analizzare i requisiti degli utenti;
  • Dare priorità, assegnare ed eseguire attività di codifica;
  • Sviluppo di applicazioni Java;
  • Revisione del lavoro del codice per accuratezza e funzionalità;
  • Analizzare regolarmente i segmenti di codice;
  • Rimanere aggiornati con le nuove tecnologie e insegnare agli sviluppatori Junior come usarle;
  • Generazione di idee e soluzioni relative al ciclo di sviluppo con altri membri del team;
  • Assumersi la responsabilità generale di tutto il lavoro di sviluppo e del codice del progetto.

Requisiti per uno sviluppatore senior

Ecco un elenco dei requisiti più comuni e tipici per uno sviluppatore senior che dovresti soddisfare per ottenere questo lavoro. Naturalmente, i requisiti variano a seconda delle politiche di assunzione dell'azienda, delle tecnologie utilizzate nel progetto e del linguaggio di programmazione.
  • Ampia conoscenza generale dello sviluppo del software e delle sue tecnologie;
  • Ottima conoscenza di Java;
  • Esperienza nella progettazione, realizzazione e test di applicazioni aziendali;
  • Conoscenza approfondita dei framework Java più diffusi come Spring, Spring Boot o Java EE, JSF e altri;
  • Esperienza con la progettazione orientata agli oggetti (OOD).
Questi sono solo requisiti di base relativi alla programmazione, ma avere conoscenze tecniche spesso non è sufficiente per ottenere il lavoro di uno sviluppatore senior, poiché ci sono così tante altre abilità importanti che costituiscono un forte senior. Ecco alcuni requisiti non tecnici comunemente menzionati per Sr. Developer.
  • Buone capacità di delega e gestione del tempo;
  • Capacità di problem solving;
  • Buone capacità di comunicazione;
  • Forti capacità di comunicazione scritta e verbale;
  • La capacità di rispettare le scadenze e pensare in modo strategico.

Quanto guadagnano gli sviluppatori senior?

Come forse saprai, quando si tratta di stipendi per lavori di codifica negli Stati Uniti, per uno sviluppatore senior esperto, il cielo è un limite, poiché giganti come Google, Facebook, Amazon, Apple e Microsoft pagano MOLTO gli ingegneri del software . Ad esempio, in Google, un ingegnere del software al livello 7, che è considerato il massimo che puoi ottenere come sviluppatore, può guadagnare $ 608.000 in totale all'anno. Ma passiamo alle cifre medie. Secondo Glassdoor , il programmatore senior medio negli Stati Uniti guadagna circa $ 121.000 all'anno, che è considerevolmente più alto rispetto allo stipendio di un programmatore di medio livello di $ 71.000 all'anno e allo stipendio medio di $ 63.502 all'anno che guadagnano gli sviluppatori Junior negli Stati Uniti. un rapportodi PayScale, uno sviluppatore senior con 10-19 anni di esperienza guadagna un compenso totale medio di $ 109.122 basato su 5.523 stipendi. Alla fine della loro carriera (dai 20 anni in su), i dipendenti guadagnano un compenso totale medio di $ 111.432. In Germania , secondo PayScale, uno sviluppatore di software senior con oltre 10 anni di esperienza guadagna un compenso medio totale di € 63.638. In Francia, lo stipendio medio di un Senior è di € 54.982. Come al solito, quando si tratta solo di numeri, i programmatori americani sono davanti ai loro colleghi in Europa e altrove. Un altro punto interessante da notare è che i programmatori senior in America guadagnano molto di più dei programmatori di medio livello. Forse, questo sarebbe meglio spiegato con il presupposto che la maggior parte dei programmatori senior veramente professionali ed esperti negli Stati Uniti lavori per i giganti tecnologici americani, che sono i leader mondiali nella spesa della forza lavoro del software.

Prospettive di carriera

Quando si tratta di prospettive di carriera, gli sviluppatori senior le hanno sicuramente. Ma la cosa divertente è che la maggior parte di loro non ne sta cercando nessuno. Posizioni come Team Lead e Tech Lead sarebbero tra le opzioni principali da guardare al raggiungimento del livello Senior. Oltre a varie opzioni nella gestione della tecnologia. Con probabilmente le posizioni di CTO e CEO di un'azienda tecnologica come i risultati più alti possibili nella carriera di uno sviluppatore senior. Il CTO è ovviamente più realistico, poiché anche nel settore tecnologico, la maggior parte dei CEO ha infatti un background tecnico nullo o molto limitato.

Com'è essere uno sviluppatore senior. Opinioni

Naturalmente, quando si tratta della posizione di sviluppatore senior in generale, la maggior parte delle discussioni tende a concentrarsi su due argomenti chiave su cui gli sviluppatori non vedono l'ora di discutere: cosa ti rende davvero uno sviluppatore senior e quando puoi iniziare a definirti un senior. “Ciò potrebbe sorprendere alcune persone, ma i lavori di livello Senior richiedevano costantemente ai candidati di avere tra i 5 e gli 8 anni di esperienza. C'erano alcuni che chiedevano 10 anni o più, ma non molti. In qualità di sviluppatore senior, un'azienda si aspetta che tu sia in grado di prendere un'idea vaga, specificarla, pianificare lo sviluppo, coinvolgere un team e seguirlo fino al completamento. Considerando che, in genere, uno sviluppatore intermedio dovrà eseguire, senza supervisione, i compiti individuali a lui assegnati, lavorare all'interno di un team ed eseguire un po' di tutoraggio.condivide il suo punto di vista. “Con uno sviluppatore senior, posso fornire un obiettivo di alto livello/più vago e loro possono specificarlo, creare un piano per l'esecuzione, eseguirlo da me, quindi implementarlo con una quantità minima di mano. Quindi, quando ti senti sicuro di poter prendere un'idea vaga e portarla completamente a compimento, sei uno sviluppatore senior. Nota che non significa che non chiedi mai aiuto, perché tutti lo fanno di tanto in tanto, ma puoi guidare il processo senza che io debba farti da babysitter ", afferma Eric Wise, co-fondatore e CEO di Wise Telemetry. E concludiamo con questa bella citazionedi Pablo Oliva, uno sviluppatore di software esperto dalla Germania: “Gli sviluppatori senior con cui ho lavorato sembravano avere un'enorme cintura di attrezzi, per così dire. Ogni volta che sorgevano problemi, avevano molte risorse a cui rivolgersi. Conoscevano abbastanza bene gli strumenti e le lingue che usavamo quotidianamente e sapevano dove cercare quando non sapevano qualcosa (c'è una differenza tra cercare su Google senza meta e andare alla pagina di manuale giusta al primo tentativo). Questa conoscenza di vecchie soluzioni e la competenza nel cercare nuove soluzioni li rendeva molto rispettati dai loro coetanei, che spesso si rivolgevano a loro per suggerimenti. Saprebbero anche, a loro volta, quando smettere di cercare da soli e chiedere aiuto a un collega. Alcuni avevano certificazioni, altri no. Alcuni si erano laureati, altri no. Ma sono sempre stati un punto di riferimento per i loro team (e anche per le persone di altri team, per alcuni sviluppatori senior particolarmente spettacolari). Quindi, quante persone pensano di chiederti aiuto quando si bloccano?
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION