{"id":21328,"date":"2023-06-14T09:34:47","date_gmt":"2023-06-14T07:34:47","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=21328"},"modified":"2023-06-14T11:19:24","modified_gmt":"2023-06-14T09:19:24","slug":"la-definizione-di-sviluppatore-senior","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/","title":{"rendered":"La definizione di sviluppatore Senior"},"content":{"rendered":"\n<p>Il ruolo di <strong>sviluppatore Senior<\/strong> \u00e8 divenuto sempre pi\u00f9 <strong>importante<\/strong>, di pari passo con la continua e rapida evoluzione del settore Tech, e molti programmatori <strong>faticano<\/strong> ad esser riconosciuti come tali. Sei gi\u00e0 un Senior? E cosa ci si aspetta da te in quanto tale?<\/p>\n\n\n\n<p>A dire il vero, rispondere a queste domande non \u00e8 semplice e <strong>potremmo ricevere risposte differenti<\/strong> a seconda delle aziende o delle persone a cui le poniamo. In questo articolo cercher\u00f2 di condividere il mio punto di vista, in base alle mie opinioni ed esperienze personali.<\/p>\n\n\n\n<p>Veniamo al dunque! Spero che questo articolo possa aiutare gli ingegneri nella loro crescita professionale ed i manager ad assumere persone <strong>qualificate<\/strong>, a definire le aspettative&nbsp; ed a supportare i propri gruppi di lavoro.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-f8dac38b gb-headline-text\">Senior? Si, ma quanto?<\/h2>\n\n\n\n<p>La prima annotazione che mi permetto di fare \u00e8 che<strong> non far\u00f2 distinzione<\/strong> tra i vari livelli di anzianit\u00e0, come possono essere quelli di Staff, Ingegnere Capo o Architetto del Software.<\/p>\n\n\n\n<p>Mi preme, pi\u00f9 che altro, concentrarmi su <strong>quali siano le caratteristiche&nbsp;<\/strong>per essere riconosciuto ed apprezzato in qualit\u00e0 di <em>&#8220;Senior&#8221;<\/em>, in generale. Ok, Luciano, ma che diamine intendi per <em>&#8220;Senior, in generale&#8221;<\/em>?!? Le <strong>responsabilit\u00e0 principali <\/strong>di un ingegnere senior sono quelle di far progredire i progetti e&nbsp; le persone.&nbsp;<\/p>\n\n\n\n<p>Alcuni amano definire questa figura professionale come un <strong>moltiplicatore di forze<\/strong>, il che \u00e8, bada bene, ben diverso dal definirlo un ingegnere che ne vale 10: Infatti, lo sviluppatore senior non \u00e8 n\u00e9 un eroe solitario n\u00e9 una rockstar, un prestigiatore o un mago dalla lunga barba grigia, n\u00e9 tantomeno un unicorno o chiss\u00e0 che. <strong>E&#8217; innanzitutto uno che sa giocare in squadra.<\/strong><\/p>\n\n\n\n<p>Pi\u00f9 facile a dirsi che a farsi, certo, ma di quali competenze, compiti&nbsp; e mentalit\u00e0 stiamo parlando? Quale approccio mentale serve? Cosa serve in pi\u00f9, rispetto ad un ingegnere junior o di medio livello, per mandare avanti le cose?<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-06731415 gb-headline-text\">Sono gi\u00e0 un Senior?<\/h2>\n\n\n\n<p>Il primo mito da sfatare \u00e8 che essere un Senior&nbsp; non dipende necessariamente da quanto uno abbia lavorato nel settore.<\/p>\n\n\n\n<p><em>Pi\u00f9 anni di esperienza \u2260 senior<\/em><\/p>\n\n\n\n<p>Ovviamente, essere in giro da un po&#8217; sicuramente aiuta in quanto aumentano le <strong>probabilit\u00e0<\/strong> che tu abbia affrontato diverse sfide e ne abbia tratto preziosi insegnamenti. Ma non diciamo che <em>&#8220;non sei senior se non hai almeno 5 anni di esperienza&#8221;<\/em> o frasi del genere.&nbsp;<\/p>\n\n\n\n<p>Un ragionamento di questo tipo non pu\u00f2 funzionare. Allo stesso modo, essere<strong> un senior non \u00e8 nemmeno una questione di et\u00e0<\/strong>, invecchiare non comporta automaticamente che&nbsp; diventi pi\u00f9 bravo nel tuo lavoro&#8230; Il senior <strong>non \u00e8 uno che ha accumulato 40 anni di esperienza!<\/strong><\/p>\n\n\n\n<p>Nel corso della mia carriera ne ho avuto la <strong>conferma <\/strong>diverse volte.<\/p>\n\n\n\n<p>Ho lavorato con colleghi molto <strong>giovani<\/strong> e al tempo stesso molto <strong>appassionati<\/strong> e competenti, che definirei senza ombra di dubbio dei <strong>senior<\/strong>. Mentre ho avuto a che fare con colleghi pi\u00f9 anziani e con molti anni di esperienza sul curriculum ma il cui <strong>contributo<\/strong>, sia al progetto che alla squadra, era prossimo allo zero se non addirittura <strong>negativo<\/strong>. Non definirei mai questi ultimi come senior, sebbene la societ\u00e0 per cui lavoravo li considerasse come tali&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/06\/dev.jpeg\" alt=\"flutter skd, flutter\" class=\"wp-image-21127\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/06\/dev.jpeg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/06\/dev-300x169.jpeg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/06\/dev-768x433.jpeg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/06\/dev-896x504.jpeg 896w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/06\/dev-400x225.jpeg 400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"gb-headline gb-headline-81e66fa8 gb-headline-text\">Quali competenze servono?<\/h2>\n\n\n\n<p>Se gli anni di esperienza non sono importanti, <strong>cosa conta davvero?<\/strong><\/p>\n\n\n\n<p>Ricorda, tutto ruota sul <strong>far progredire i progetti<\/strong> e far crescere il tuo team e, per farlo, servono alcune <strong>competenze specifiche<\/strong>, ma di quali competenze stiamo parlando?<\/p>\n\n\n\n<p>Per quanto riguarda le <strong>competenze tecniche<\/strong>, ci si aspetta che un programmatore senior abbia delle<strong> solide basi<\/strong> di&nbsp; linguaggi di programmazione, framework, database, architettura dei programmi eccetera. Tuttavia <strong>le competenze tecniche non sono l\u2019 unica cosa <\/strong>che ne definiscono il ruolo. Le cosiddette <em>soft skills<\/em>,come possono essere la <strong>comunicazione<\/strong>, l&#8217;attitudine al comando o la propensione alla <strong>risoluzione dei problemi<\/strong> sono altrettanto importanti.<\/p>\n\n\n\n<p>Mi spingo a dire che per un senior tali competenze forse sono addirittura <strong>pi\u00f9 importanti<\/strong> rispetto alle quelle tecniche. Perch\u00e9 non importa solamente quello che sai, importa anche come tu sia in grado di trasmetterlo e permettere agli altri di sfruttare il tuo sapere. Come condividere la tua esperienza, sbloccare situazioni difficili e rendere il gruppo di lavoro autosufficiente e pi\u00f9 produttivo.<\/p>\n\n\n\n<p>Le <strong>competenze comunicative<\/strong> sono di importanza <strong>vitale<\/strong> per un programmatore senior, in quanto lavora spesso a contatto con gruppi multidisciplinari e deve comunicare concetti tecnici ad interlocutori che tecnici non sono. Un ingegnere senior, dunque, deve essere&nbsp;in grado di spiegare in modo chiaro le proprie idee, ascoltare attentamente e fornire riscontri costruttivi.&nbsp;&nbsp;<\/p>\n\n\n\n<p><strong>L&#8217;attitudine al comando<\/strong> \u00e8 altrettanto <strong>importante<\/strong>, in quanto \u00e8 responsabilit\u00e0 del senior quella di fare da tutor ai junior della squadra, dirigere i vari gruppi del progetto e prendere le scelte tecniche pi\u00f9 difficili. Ed \u00e8 suo anche il compito di <strong>motivare la squadra<\/strong>, assegnare i compiti in modo efficace e fare da guida e supporto all\u2019occorrenza.<\/p>\n\n\n\n<p>Un\u2019altra capacit\u00e0 indispensabile per l\u2019ingegnere del software senior \u00e8<strong> la propensione alla risoluzione dei problemi<\/strong>. Uno sviluppatore senior deve essere in grado di pensare in modo critico, analizzare problemi complessi&nbsp; e trovare soluzioni creative. Dovrebbe essere a suo agio all&#8217;interno di<strong> situazioni poco chiare<\/strong> e non ancora definite, pronto ad adattarsi ad ogni nuovo sviluppo.<\/p>\n\n\n\n<p>In fin dei conti, <strong>l&#8217;ingegneria del software non \u00e8 altro che risoluzione di problemi!<\/strong><\/p>\n\n\n\n<p>Tuttavia i problemi non sono sempre di natura tecnica, specie all&#8217;interno delle organizzazioni pi\u00f9 strutturate, dove sono presenti interlocutori con esperienze diverse e di differente formazione, e i problemi possono essere comunicati nel modo sbagliato e mutare di frequente. Per questo diventa fondamentale<strong> contribuire alla comprensione dei problemi<\/strong> che si stanno riscontrando, formulare e condividere gli obiettivi&nbsp; e guidare la squadra di lavoro nella giusta direzione; competenze cruciali, queste, che possono avere un&nbsp; impatto enorme.<\/p>\n\n\n\n<p>La migliore soluzione tecnica non \u00e8 necessariamente la migliore soluzione per una organizzazione.<\/p>\n\n\n\n<p>Piuttosto, <strong>la migliore \u00e8 quella che tiene in conto come ottimizzare l\u2019apporto di quanti pi\u00f9&nbsp; sviluppatori junior possibili<\/strong>, quanto facilmente possa essere modificata e adattata alle necessit\u00e0, di quanto la si possa espandere se gli affari vanno bene ecc.<\/p>\n\n\n\n<p>Potresti essere costretto a <strong>scartare soluzioni perfette<\/strong> dal punto di vista tecnico in favore di <strong>soluzioni ottimali<\/strong> per la squadra ed l\u2019ambiente in cui lavori. Le competenze tecniche da sole non bastano a comprendere tutte le sfaccettature di un progetto e a trovare soluzioni che soddisfano tutte le necessit\u00e0.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-b589e3d8 gb-headline-text\">Sono abbastanza tecnico?<\/h2>\n\n\n\n<p>Ok,ok, lo so che dovremmo parlare di<strong> competenze tecniche!<\/strong><\/p>\n\n\n\n<p>Dopotutto, visto come funziona il settore tech oggigiorno, questo \u00e8 il primo aspetto per cui sarai considerato! Se non sei in grado di dimostrare le competenze tecniche, allora non avrai nessuna chance di ottenere quel posto che desideri tanto!<\/p>\n\n\n\n<p>In qualit\u00e0 di sviluppatore senior, possedere <strong>competenze tecniche che coprono diverse aree \u00e8 fondamentale<\/strong> per dare il massimo in uno scenario in continua evoluzione quale lo sviluppo di software. Per essere uno sviluppatore senior di successo \u00e8 essenziale avere un profilo a<em> &#8220;forma di T&#8221;<\/em>, che enfatizza la<strong> perfetta padronanza di una specifica competenza e solide basi in altre.<\/strong><\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-c1d748e3 gb-headline-text\">Profilo a forma di &#8220;T&#8221;<\/h3>\n\n\n\n<p>Con profilo a forma di <strong>T <\/strong>si intende, per un ingegnere del software, <strong>essere esperto in una competenza o area specifica<\/strong> (rappresentata dal lungo tratto verticale della nostra T) ed avere al tempo stesso una <strong>vasta conoscenza di altre aree<\/strong> (rappresentate dai tratti orizzontali). Questo permette ai singolo individuo di poter contribuire in pi\u00f9 modi ad&nbsp;un progetto pur essendo esperto della propria area di specializzazione primaria. <strong>I profili a T consentono una collaborazione efficace<\/strong> con membri di lavoro aventi competenze diverse, aprendo la strada ad un processo di sviluppo con maggiori probabilit\u00e0 di successo.<\/p>\n\n\n\n<p>Un buon modo per costruire il profilo a T \u00e8 quello di iniziare a sviluppare il tuo tratto verticale,&nbsp;ovvero quello che alla fine diventer\u00e0 il tuo punto di forza! Concentrati per un po&#8217; su una <strong>singola area<\/strong>. Inutile a dirsi, sarebbe meglio sceglierne una che ti piaccia davvero.<\/p>\n\n\n\n<p>Quando pensi di averne raggiunto la <strong>padronanza<\/strong>, cerca di <strong>espandere<\/strong> la tua conoscenza partendo da l\u00ec e comincia a sviluppare il tratto orizzontale. Esci fuori dalla tua comfort zone ed esplora gli argomenti correlati. Questi argomenti dovrebbero auspicabilmente <strong>arricchire<\/strong> le tue conoscenze pregresse&nbsp; e permetterti di creare dei prodotti dall&#8217;inizio alla fine.<\/p>\n\n\n\n<p>Se, ad esempio, sei diventato esperto in sviluppo di <strong>API<\/strong>, potresti voler approfondire i <strong>database<\/strong> o lo sviluppo <strong>front-end<\/strong>, in quanto ti permetterebbero di avvicinarti ad un profilo da programmatore full-stack. Allo stesso modo, potresti anche approfondire l&#8217;argomento <strong>IaC<\/strong> (infrastructure-as-code) ed imparare ad implementarlo nel processo <strong>produttivo<\/strong>.<\/p>\n\n\n\n<p>Il segreto non sta nel diventare un esperto in ognuna di queste ulteriori aree ma<strong> nell&#8217;apprendere quanto basta<\/strong> per capire le basi e collaborare in modo efficace con chi, invece, le padroneggia a fondo.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-7a495bf7 gb-headline-text\">Conoscenza vasta<\/h3>\n\n\n\n<p>Serve anche una vasta conoscenza dello <strong>sviluppo di software<\/strong>, che comprende i modelli di piattaforme, architetture, strutture di codice, testing, processi di sviluppo e scalabilit\u00e0.<\/p>\n\n\n\n<p>Inoltre, un ingegnere del software senior deve saper <strong>mettere a confronto e scegliere<\/strong> tecnologie e paradigmi diversi, come architettura monolitica e microservizi, memoria e CPU, alta scalabilit\u00e0 e bassa latenza, software riutilizzabile e software su misura, complesso e semplice. Ed \u00e8 fondamentale <strong>saper prevedere l&#8217;effetto<\/strong>, sia nel breve che nel lungo termine, dei compromessi fatti.<\/p>\n\n\n\n<p>Raggiungere questo livello di conoscenza \u00e8 tutto fuorch\u00e9 semplice. Sicuramente necessita di&nbsp; una significativa <strong>quantit\u00e0 di tempo<\/strong> speso a sviluppare prodotti, adottando diverse pratiche, diversi linguaggi di programmazione, framework, metodologie e cos\u00ec via.<\/p>\n\n\n\n<p>Puoi ampliare le tue conoscenze solamente se sai riconoscere che ogni scelta tecnica comporta una serie&nbsp;di compromessi. Ci saranno sempre <strong>aspetti positivi e negativi.<\/strong><\/p>\n\n\n\n<h4 class=\"gb-headline gb-headline-a72351f4 gb-headline-text\">Non esiste una formula magica per la tecnologia!<\/h4>\n\n\n\n<p>Non esiste un framework che tu possa usare per costruire qualsiasi tipo di applicazione in modo ottimale! Se hai una visione sufficientemente completa del panorama tecnologico, dovresti essere in grado di capire<strong> quale insieme di tecnologie \u00e8 pi\u00f9 adatto <\/strong>ad affrontare un problema specifico.<\/p>\n\n\n\n<p>E, ovviamente, va bene essere smentiti, purch\u00e9 tu mantenga una mente aperta e lasci a te stesso, e al tuo team, il margine per commettere degli errori, imparare dai fallimenti e provare approcci alternativi. <strong>La strada per il successo raramente \u00e8 una linea retta&#8230;<\/strong><\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-650e1795 gb-headline-text\">Trova tutti i bug!<\/h2>\n\n\n\n<p>\u00c8 risaputo che il software privo di bug \u00e8 un <strong>mito<\/strong>, quindi non dir\u00f2 che un ingegnere del software senior non crea bug!&nbsp; <strong>Certo che lo fa&#8230;<\/strong> Ma \u00e8 molto importante per un ingegnere del software <strong>senior<\/strong> sapere cosa si pu\u00f2 fare <strong>per ridurre al minimo&nbsp;il numero di bug<\/strong> e cercare di individuarli il pi\u00f9 <strong>presto<\/strong> possibile (possibilmente prima che lo facciano gli utenti).<\/p>\n\n\n\n<p>Comprendere ed approfondire i resoconti degli utenti, scrivere diversi tipi di test (unitari, di integrazione, complessivi), individuare ed analizzare i casi limite e tenere conto del debito tecnico costituiscono competenze fondamentali .<\/p>\n\n\n\n<p>Un ingegnere del software senior <strong>dovrebbe essere in grado di fare una grande differenza <\/strong>e di aiutare l&#8217;intero team a scrivere un software migliore, illustrando ed educando alle migliori pratiche per il test del software.<\/p>\n\n\n\n<p>Direi che non \u00e8 troppo difficile scrivere test, ma scrivere <strong>buoni test \u00e8 quasi un&#8217;arte!<\/strong> Per scrivere test efficaci, \u00e8 necessario scrivere codici testabili. Ci\u00f2 significa progettare un codice modulare, <strong>privo di dipendenze<\/strong> e con input e output ben definiti. Quanto migliore \u00e8 la progettazione del codice, tanto pi\u00f9 facile sar\u00e0 scriverne i test.<\/p>\n\n\n\n<p>I test devono essere <strong>facili<\/strong> da leggere, comprendere e mantenere. Usa nomi descrittivi per i tuoi test e scrivi test che coprano una caratteristica o un comportamento specifico.<strong> Evita di testare pi\u00f9 funzioni nello stesso test<\/strong>, in quanto potrebbe rendere pi\u00f9 difficile individuare l&#8217;origine dell&#8217;errore.<\/p>\n\n\n\n<p>Ma come imparare a fare tutto questo?! Anche qui, <strong>pratica<\/strong>, <strong>pratica<\/strong> e ancora <strong>pratica<\/strong>!<\/p>\n\n\n\n<p>Inizia accettando il fatto che<strong> un codice non testato \u00e8 un cattivo codice<\/strong> (o per lo meno un codice che dovrebbe tenerti sveglio la notte). Quindi cerca di capire il settore aziendale specifico e che cosa ha senso testare e come. Quale tipo di input \u00e8 pi\u00f9 rappresentativo, quale tipo di output ci si aspetta e che tipo di effetti collaterali possono verificarsi.<\/p>\n\n\n\n<p><strong>Impara i diversi tipi e i diversi framework di test<\/strong>. Infine, impara quali tipi di test forniscono&nbsp;il maggior valore per l&#8217;azienda e ottimizza il flusso di lavoro del team per concentrarvi maggiormente su questi fattori.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-e0d9480d gb-headline-text\">Promuovere i modelli giusti<\/h2>\n\n\n\n<p>Avendo scritto un libro sui design pattern, sono certamente <strong>di parte al riguardo&#8230;<\/strong><\/p>\n\n\n\n<p>Un ingegnere del software senior dovrebbe aver sviluppato un certo grado di <strong>flessibilit\u00e0<\/strong> nei diversi linguaggi di programmazione e dovrebbe comprendere paradigmi come OOP e Funzionale, Dichiarativo e Imperativo, Compilato e Interpretato. Ci\u00f2 consentir\u00e0 a un ingegnere del software senior di<strong> essere in grado di risolvere lo stesso problema<\/strong> utilizzando strumenti e <strong>tecniche differenti<\/strong>.<\/p>\n\n\n\n<p>Allo stesso modo, un ingegnere del software senior deve<strong> comprendere i vari modelli di progettazione e le pratiche migliori<\/strong>. Questo gli consentir\u00e0 di suggerire modelli che possono avere effetti positivi a lungo termine e di evitare quelli potrebbero infine causare problemi.<\/p>\n\n\n\n<p>Il <strong>codice<\/strong> \u00e8 un elemento che<strong> dovr\u00e0 evolversi con il cambiare delle esigenze<\/strong> del business e dei clienti ed \u00e8 quindi importante progettare tenendo conto dell&#8217;evoluzione. I modelli non sono perfetti, sono solo degli schemi che potete decidere di utilizzare per&nbsp;affrontare situazioni comuni e spianare la strada a miglioramenti futuri.<\/p>\n\n\n\n<p>Cerca di <strong>non essere dogmatico<\/strong> applicando modelli di progettazione specifici solo perch\u00e9 puoi farlo,&nbsp; cerca di pensare a <strong>quale sia il valore <\/strong>che il modello specifico apporta al progetto e se questo valore sia effettivamente importante.<\/p>\n\n\n\n<p>A volte, del semplice codice fittizio pu\u00f2 risultare molto <strong>efficace<\/strong> ed essere <strong>compreso <\/strong>ed evoluto <strong>facilmente<\/strong>. Altre volte, invece, \u00e8 necessaria la struttura imposta da specifici modelli di progettazione, perch\u00e9 potrebbe rendere il codice pi\u00f9 testabile, estendibile, configurabile, ecc.<\/p>\n\n\n\n<p>Come ingegnere software senior, questa \u00e8 un&#8217;opportunit\u00e0 per brillare e avere un impatto significativo&nbsp;durante le sessioni di pairing e di revisione del codice!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.codemotion.com\/magazine\/it\/dev-community\/ux-piccola-guida-per-neofiti-e-curiosi\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/foto-gRPC.jpg\" alt=\"UX designer\" class=\"wp-image-19494\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/foto-gRPC.jpg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/foto-gRPC-300x169.jpg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/foto-gRPC-768x432.jpg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/foto-gRPC-896x504.jpg 896w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/11\/foto-gRPC-400x225.jpg 400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"gb-headline gb-headline-4059bb2e gb-headline-text\">Quali tipi di <em>soft skills<\/em>?<\/h2>\n\n\n\n<p>Ora che abbiamo affrontato le competenze tecniche che ti daranno un vantaggio nella tua carriera e ti permetteranno di essere riconosciuto come ingegnere senior, affrontiamo l&#8217;elefante nella stanza: <strong>le soft skills.<\/strong><\/p>\n\n\n\n<p>Hai ottenuto quel colloquio grazie alle tue competenze tecniche fondamentali, ma ora hai la possibilit\u00e0 di fare davvero colpo facendo mostra delle tue soft skills.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-3ec9813d gb-headline-text\">Voglia di crescere<\/h3>\n\n\n\n<p>La <strong>mentalit\u00e0<\/strong> di un ingegnere del software senior \u00e8 cruciale quanto le sue competenze tecniche e soft. Un ingegnere senior deve avere una <strong>mentalit\u00e0 incline alla crescita,<\/strong> la volont\u00e0 di imparare e adattarsi e la propensione al continuo miglioramento.<\/p>\n\n\n\n<p>Deve essere a proprio agio con i <strong>fallimenti<\/strong>, vederli come <strong>un&#8217;opportunit\u00e0 per imparare<\/strong> ed essere disposto a correre dei rischi. Ricorda sempre che un ingegnere senior deve anche essere un <strong>giocatore di squadra<\/strong>, non un eroe. Deve collaborare con il proprio team, sostenere i colleghi e contribuire al successo della squadra.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-c0c6eed0 gb-headline-text\">Essere una leva attiva<\/h3>\n\n\n\n<p>Un ingegnere software senior deve avere un ruolo molto proattivo in un&#8217;organizzazione. <strong>Non dovrebbe isolarsi in una stanza e continuare a sbattere le dita contro la tastiera.<\/strong> Un senior deve sapere quando \u00e8 il momento di fare domande difficili e prendere in mano la situazione per scoprire ci\u00f2 che non sa.<\/p>\n\n\n\n<p>Essere in grado di <strong>fornire un punto di vista fortemente tecnico<\/strong> in una conversazione aziendale pu\u00f2 avere grande impatto e informare l&#8217;azienda su quale sia la strategia migliore&nbsp; per andare avanti. A tutti gli effetti, un senior dovrebbe<strong> diventare un ponte tra il prodotto e la tecnologia.<\/strong><\/p>\n\n\n\n<p>Questo a volte significa che un senior dovrebbe anche sapere <strong>quando \u00e8 il momento di dire NO<\/strong>. No a soluzioni rapide e sporche (che alla fine si ritorceranno contro) solo per rispettare una scadenza. <strong>No<\/strong> a piani che prevedono solo la costruzione di funzionalit\u00e0 su funzionalit\u00e0 senza considerare l&#8217;esperienza dell&#8217;utente e la stabilit\u00e0 a lungo termine del prodotto.&nbsp; <strong>No<\/strong> a scelte tecniche arbitrarie solo perch\u00e9<em> &#8220;abbiamo sempre fatto cos\u00ec ed \u00e8 sempre andata bene&#8221;<\/em>.<\/p>\n\n\n\n<p>Dire NO \u00e8 facile ma al tempo stesso molto difficile. Tutti possono dire <strong>NO<\/strong>, questa \u00e8 la parte facile! Il difficile \u00e8 argomentare il perch\u00e9 di quel <strong>NO<\/strong>, proporre punti di vista alternativi, trovare compromessi e disinnescare bombe a orologeria a breve o lungo termine.<\/p>\n\n\n\n<p><strong>Per riuscire a farlo serve un elevato livello di soft skills<\/strong>. Devi saper comunicare in modo efficace e scegliere con <strong>saggezza<\/strong> la tua battaglia. <strong>Non puoi dire sempre NO<\/strong> a tutto o corri il rischio di essere preso per un ostruzionista scorbutico.<\/p>\n\n\n\n<p>Si tratta piuttosto di saper dire <em>&#8220;NO, MA&#8221;<\/em> piuttosto che un secco <em>&#8220;NO&#8221;<\/em>. E dovresti anche essere in grado di farlo di fronte alle persone giuste e al momento giusto&#8230; Se fatto bene, <strong>questo pu\u00f2 avere un forte impatto positivo sull&#8217;azienda e sul team<\/strong>. Pu\u00f2 portare all&#8217;innovazione e creare nuove potenzialit\u00e0 di lavoro o vantaggi competitivi unici.<\/p>\n\n\n\n<p>Questa \u00e8 un&#8217;area di crescita per me. Una di quelle in cui, se ripenso alla mia carriera, mi sembra di aver fallito molte volte. Ma spero di aver imparato qualcosa e con il tempo migliorer\u00f2&#8230;<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-4283bbd4 gb-headline-text\">Capire l&#8217;azienda<\/h3>\n\n\n\n<p>Per essere una leva attiva nella vostra organizzazione, <strong>devi essere in grado di capire l&#8217;azienda il pi\u00f9 profondamente possibile.<\/strong><\/p>\n\n\n\n<p><strong>Sai qual \u00e8 lo scopo dell&#8217;azienda? <\/strong>Qual \u00e8 la visione nel lungo termine? Esiste una strategia chiara? Quali sono i grandi punti di forza e quali di debolezza?<\/p>\n\n\n\n<p>Se sei in grado di rispondere a&nbsp; queste domande sei in una buona posizione per utilizzare le tue competenze tecniche per determinare come la tecnologia pu\u00f2 aiutare l&#8217;azienda ad avere successo.<\/p>\n\n\n\n<p>Solo con una solida comprensione dell&#8217;azienda sarai in grado di scegliere le battaglie giuste, di concentrarti su ci\u00f2 che conta e di contribuire alla progettazione di sistemi che possano servire l&#8217;azienda oggi ma anche essere adattati alle esigenze future.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-5283622e gb-headline-text\">La Comunicazione<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote has-text-align-left is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Una buona comunicazione \u00e8 stimolante come il caff\u00e8 nero e rende altrettanto difficile dormire dopo.<\/p>\n<cite> Anne Morrow Lindbergh<\/cite><\/blockquote>\n\n\n\n<p>Come ingegnere del software, <strong>le capacit\u00e0 comunicative sono fondamentali per il tuo successo<\/strong>. Devi essere in grado di comunicare efficacemente con diversi interlocutori, tra cui altri ingegneri, project manager, clienti e dirigenti. Ci\u00f2 richiede <strong>un&#8217;ampia gamma di abilit\u00e0 comunicative<\/strong>, dal parlare e ascoltare allo scrivere e presentare.<\/p>\n\n\n\n<p>Poich\u00e9 <strong>dovrai parlare con tutti gli interlocutori<\/strong>, dovresti imparare a comunicare concetti tecnici a interlocutori non tecnici in un modo che sia facile da comprendere. Ci\u00f2 significa anche saper ascoltare i commenti e incorporarli nel tuo lavoro.&nbsp;La capacit\u00e0 di comunicare efficacemente con gli interlocutori <strong>\u00e8 essenziale per garantire che tutti siano sulla stessa lunghezza d&#8217;onda<\/strong> e che i progetti siano portati a termine con successo.<\/p>\n\n\n\n<p>Un&#8217;altra importante abilit\u00e0 comunicativa per un ingegnere del software \u00e8 quella di <strong>spiegare le incertezze e proporre idee su come affrontarle.<\/strong> Lo sviluppo del software \u00e8 un processo intrinsecamente incerto e ci saranno sempre incognite e sfide impreviste.&nbsp;<\/p>\n\n\n\n<p>Come ingegnere del software, <strong>devi essere in grado di comunicare queste incertezze in modo chiaro e conciso<\/strong>. Devi anche essere in grado di proporre idee su come affrontare queste incertezze e far progredire il progetto.<\/p>\n\n\n\n<p>Inoltre, gli ingegneri del software devono essere in grado di<strong> parlare degli errori e delle lezioni apprese<\/strong>. Ne abbiamo gi\u00e0 parlato, ma \u00e8 importante sottolineare che<strong> il fallimento \u00e8 una parte inevitabile dello sviluppo<\/strong> del software ed \u00e8 importante essere trasparenti&nbsp;sui fallimenti e sulle lezioni apprese. Ci\u00f2 richiede capacit\u00e0 di comunicazione efficaci, compresa quella di assumersi la responsabilit\u00e0 degli errori e di comunicare onestamente. Inoltre, \u00e8 necessario <strong>saper comunicare le lezioni apprese dai fallimenti e incorporarle nei progetti futuri.<\/strong><\/p>\n\n\n\n<p>Le capacit\u00e0 comunicative sono essenziali anche<strong> per la stesura della documentazione e per le presentazioni.<\/strong> Gli ingegneri del software devono essere in grado di scrivere una documentazione chiara che spieghi come funzionano le loro soluzioni e come devono essere utilizzate e gestite nella produzione. Devono inoltre essere in grado di<strong> fornire presentazioni<\/strong> che comunichino efficacemente i concetti tecnici a un pubblico non tecnico. Ci\u00f2 richiede una grande capacit\u00e0 di <strong>scrittura e di presentazione<\/strong>, oltre all\u2019abilit\u00e0 di semplificare argomenti complessi e renderli digeribili per il pubblico.<\/p>\n\n\n\n<p>Una buona comunicazione pu\u00f2 aprire molte porte e sbloccare situazioni complesse. Assicurati quindi di esercitarla il pi\u00f9 possibile!<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-9f9955d6 gb-headline-text\">Supporto alla gestione<\/h3>\n\n\n\n<p>Quando sei un buon comunicatore, diventi una persona che pu\u00f2 essere <strong>molto efficace nel supportare diverse attivit\u00e0 di gestione<\/strong>. Ad esempio nella pianificazione e nell\u2019organizzazione degli incontri. Puoi <strong>aiutare a tenere traccia delle priorit\u00e0<\/strong> e del debito tecnico e a suddividere i compiti difficili in parti pi\u00f9 gestibili.<\/p>\n\n\n\n<p>Ti trovi&nbsp; in una <strong>posizione unica<\/strong> per capire e sfruttare i punti di forza del team e per coinvolgere le persone giuste al momento giusto. Lavorando a stretto contatto con la direzione, <strong>puoi assicurarti che il tuo lavoro sia in linea con gli obiettivi aziendali <\/strong>generali e che gli sforzi del tuo team siano incanalati nella giusta direzione.<\/p>\n\n\n\n<p>La <strong>pianificazione<\/strong> \u00e8 un&#8217;altra abilit\u00e0 determinante per un ingegnere del software. Richiede di suddividere i progetti di grandi dimensioni in attivit\u00e0 pi\u00f9 piccole e gestibili, di stimare il tempo necessario per ciascuna attivit\u00e0 e di stabilirne la priorit\u00e0. <strong>Una pianificazione efficace contribuisce a garantire che i progetti siano portati a termine in tempo e nel rispetto del budget.<\/strong><\/p>\n\n\n\n<p>L\u2019organizzazione degli incontri, come le riunioni in piedi, le revisioni informali e le retrospettive, possono offrire <strong>l&#8217;opportunit\u00e0 di condividere i progressi<\/strong>, identificare i problemi e pianificare il futuro. Come ingegnere del software, devi contribuire a guidare questi incontri e assicurarti che siano produttivi ed efficienti.<\/p>\n\n\n\n<p>Non sto dicendo che gli ingegneri del software senior debbano sostituire il ruolo dei project manager o dei product manager, ma piuttosto che<strong> debbano integrare questi ruoli e fornire la loro prospettiva tecnica unica per mantenere gli obiettivi,<\/strong> i piani e l&#8217;esecuzione in linea con le aspettative del team tecnico.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-f4e37d37 gb-headline-text\">Autonomia e attenzione alla consegna<\/h3>\n\n\n\n<p>Le ultime due soft skills su cui vorrei soffermarmi sono <strong>l&#8217;autonomia e l&#8217;attenzione alla consegna.<\/strong><\/p>\n\n\n\n<p>A volte gli ingegneri del software senior si trovano in una<strong> posizione unica per contribuire in modo significativo a progetti che richiedono una ricerca approfondita e tanto impegno.<\/strong> Si tratta di progetti fortemente tecnici come quelli relativi <strong>all&#8217;ottimizzazione delle prestazioni,<\/strong> alla significativa ristrutturazione del codice ed alla riprogettazione dell&#8217;architettura. Spesso si tratta di progetti molto importanti per l&#8217;azienda, perch\u00e9 possono sbloccare l&#8217;innovazione e generare nuove potenzialit\u00e0 di lavoro.<\/p>\n\n\n\n<p>In base alla mia esperienza, non \u00e8 raro che in questi progetti un singolo collaboratore sia in grado di dedicare una certa quantit\u00e0 di tempo a&nbsp;concentrarsi e a compiere progressi significativi in un lasso di tempo molto breve, portando avanti una prima grossa parte della ricerca. Ma anche in queste situazioni<strong> \u00e8 importante evitare a tutti i costi una scarsa comunicazione con il team.<\/strong><\/p>\n\n\n\n<p>Se stai lavorando a un progetto di questo tipo, assicurati di <strong>comunicare regolarmente con la direzione e altri colleghi senior <\/strong>per tenere sotto controllo i tuoi progressi, ottenere un riscontro utile e condividere le tue conoscenze.<\/p>\n\n\n\n<p>Ma la capacit\u00e0 di <strong>fornire valore lavorando in autonomia <\/strong>non \u00e8 utile solo nei progetti di ricerca, ma \u00e8 anche una <strong>buona abilit\u00e0 da padroneggiare in generale<\/strong>. Nell&#8217;industria del software, \u00e8 pi\u00f9 comune lavorare con cose che non conosciamo piuttosto che con cose che conosciamo!<\/p>\n\n\n\n<p>Ci sono sempre <strong>nuovi ambiti da esplorare<\/strong>, nuove sfide da affrontare e nuovi strumenti con cui confrontarsi. Pertanto, \u00e8 importante essere in grado di imparare rapidamente e di aggiornarsi velocemente quando necessario. <strong>Non dovresti aspettare che siano gli altri a insegnarti e a dirti come fare certe cose<\/strong>, ma dovresti essere in grado di fare alcuni progressi per conto tuo, ad esempio consultando e comprendendo la documentazione e il codice esistente.<\/p>\n\n\n\n<p>Se hai gi\u00e0 una vasta competenza, dovrebbe essere quasi istintivo aggiungerne altre quando necessario. Naturalmente, <strong>\u00e8 giusto chiedere aiuto se ti senti bloccato<\/strong>, ma \u00e8 anche importante <strong>cercare di fare tutto il possibile per progredire da solo<\/strong>, in modo da costruire il maggior contesto possibile e massimizzare il risultato del tempo speso a ricevere aiuto da altri.<\/p>\n\n\n\n<p>In teoria, un ingegnere del software senior <strong>non ha bisogno di troppe indicazioni.<\/strong> \u00c8 in grado di capire da solo ci\u00f2 che \u00e8 necessario per portare avanti le cose e di coinvolgere gli altri quando \u00e8 necessario. Un altro aspetto riguarda <strong>la negoziazione delle aspettative<\/strong> e la comprensione di ci\u00f2 che significa avere successo nell&#8217;ambiente attuale.&nbsp;<\/p>\n\n\n\n<p>\u00c8 bene essere chiari con la direzione e con il resto del team tecnico e definire le caratteristiche del successo individuale e di squadra.&nbsp;Se non sai cosa ci si aspetta da te e dal resto del team, anche se pensi di fare la cosa giusta, <strong>potresti finire per non fornire il valore&nbsp;che ci si aspetta da te<\/strong>; allo stesso modo, potresti non essere in grado di aiutare il tuo team ad avere successo.<\/p>\n\n\n\n<p>Avere un simile <strong>atteggiamento di schiettezza e chiarezza di solito mantiene l&#8217;umore pi\u00f9 positivo e aiuta a evitare le delusioni<\/strong>. Certo, non \u00e8 sempre possibile evitare tutte le delusioni o i fallimenti. Perci\u00f2, quando il problema si presenta, potresti essere tentato di dare la colpa a qualcun altro o al sistema. Ma \u00e8 invece pi\u00f9 maturo chiedersi cosa si sarebbe potuto fare meglio e cosa si&nbsp;potrebbe fare in futuro per evitare che problemi simili si ripresentino.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/06\/UX-Security-e1660034130388-1024x576.jpg\" alt=\"javascript, typescript release\" class=\"wp-image-17988\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/06\/UX-Security-e1660034130388-1024x576.jpg 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/06\/UX-Security-e1660034130388-300x169.jpg 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/06\/UX-Security-e1660034130388-768x432.jpg 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/06\/UX-Security-e1660034130388-1536x864.jpg 1536w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/06\/UX-Security-e1660034130388-896x504.jpg 896w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/06\/UX-Security-e1660034130388-400x225.jpg 400w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2022\/06\/UX-Security-e1660034130388.jpg 1921w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"gb-headline gb-headline-673936cf gb-headline-text\">Come posso crescere?<\/h2>\n\n\n\n<p>Se sei un ingegnere del software e vuoi aumentare le tue competenze e diventare un membro senior del tuo team, <strong>potresti chiederti quali sono i passi da intraprendere per raggiungere questo obiettivo.<\/strong><\/p>\n\n\n\n<p>Beh, non temere! <strong>Ecco 4 idee<\/strong> (pi\u00f9 alcune extra) che credo ti aiuteranno nel tuo percorso.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-a7766bc1 gb-headline-text\">Approfondire un livello<\/h3>\n\n\n\n<p>Innanzitutto,<strong> non limitarti a grattare la superficie delle tecnologie con cui stai lavorando<\/strong>. Scava pi\u00f9 a fondo e<strong> impara a conoscere gli strati sottostanti<\/strong>. Probabilmente hai costruito un sito web o un&#8217;API, ma ti sei mai chiesto come funziona il protocollo HTTP? O anche come funziona il protocollo TCP e&nbsp;cosa succede per stabilire una connessione? Apprezzare questi dettagli ti dar\u00e0 una comprensione molto pi\u00f9 ricca delle tecnologie con cui lavori ogni giorno.<\/p>\n\n\n\n<p>S\u00ec, <strong>se cominci a scavare diventa un pozzo senza fondo<\/strong>&#8230; Quindi come fare ad addentrarti pi\u00f9 a fondo senza perderti e a ricavarne valore? La mia regola generale (che ho rubato\/appreso dal mio amico Roberto) \u00e8 quella di scavare <strong>solo un livello pi\u00f9 in basso<\/strong>, partendo dalle tecnologie con cui si ha gi\u00e0 familiarit\u00e0.<\/p>\n\n\n\n<p>Hai gi\u00e0 trascorso un po&#8217; di tempo con OAuth e OpenID Connect? Probabilmente vorrai sapere cosa c&#8217;\u00e8 dentro un JWT. Conosci il flusso del codice di autorizzazione OAuth e cosa succede con tutti i reindirizzamenti? Sai come funzionano gli algoritmi di firma come RSA e HMAC?<\/p>\n\n\n\n<p>Tutti questi sono argomenti che puoi esplorare per <strong>consolidare la tua conoscenza <\/strong>di questo particolare ambito.&nbsp;Ti permetteranno di esplorare concetti pi\u00f9 generali che <strong>potresti riutilizzare in altri ambiti. <\/strong>Tutti costituiscono dei validi passi in avanti per ampliare le tue conoscenze e diventare un ingegnere pi\u00f9 completo.<\/p>\n\n\n\n<p>Sono spesso prevenuto verso la costruzione di oggetti. Mi sembra di non capire veramente qualcosa se non riesco a costruirne un piccolo prototipo. Se anche tu sei come me, potresti provare a farlo. Sapresti decodificare un token JWT senza usare una libreria? Saresti in grado di andare oltre&nbsp; e implementare l&#8217;algoritmo di verifica della firma?<\/p>\n\n\n\n<p><strong>Costruire prototipi<\/strong> \u00e8 un ottimo modo per memorizzare alcuni concetti e mettere davvero alla prova la vostra conoscenza. Naturalmente, costruire richiede uno sforzo maggiore, quindi scegliete con saggezza i vostri esercizi di prototipazione: non \u00e8 possibile reimplementare oltre 60 anni di ingegneria del software solo per il gusto di imparare!<\/p>\n\n\n\n<p>Un video divertente che mi \u00e8 piaciuto molto ultimamente \u00e8 The Computer Science Iceberg. Perch\u00e9 mi piace cos\u00ec tanto?&nbsp;Perch\u00e9 illustra davvero bene l&#8217;idea di livelli graduali di astrazione e di ricerca di conoscenze fondamentali e generiche.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-8a5a34bb gb-headline-text\">Divertiti<\/h3>\n\n\n\n<p>Questa \u00e8 una delle mie convinzioni principali:<strong> l&#8217;ingegneria del software \u00e8 una professione molto impegnativa<\/strong>.&nbsp;Non perch\u00e9 sia pi\u00f9 difficile di altre professioni, ma perch\u00e9 le cose si muovono cos\u00ec velocemente che non puoi&nbsp;mai smettere di imparare e ti sentirai sempre indietro.<\/p>\n\n\n\n<p>L&#8217;unica cosa che potrebbe rendere la professione un po&#8217; pi\u00f9 facile <strong>\u00e8 una vera passione per la materia.<\/strong>&nbsp;Se sei appassionato, <strong>sar\u00e0 pi\u00f9 facile motivarti a imparare sempre cose nuove!<\/strong> E se non so se sono abbastanza appassionato? \u00c8 comprensibile, soprattutto se sei all&#8217;inizio della tua carriera. C&#8217;\u00e8 cos\u00ec tanto davanti a te che potrebbe essere spaventoso e persino scoraggiante.<\/p>\n\n\n\n<p>Anche in questo caso,<strong> il mio consiglio \u00e8 di orientarti verso la costruzione di oggetti<\/strong>. Costruire qualcosa ti dar\u00e0 un riscontro tangibile del fatto che ci\u00f2 che stai imparando pu\u00f2 essere effettivamente utile. Potresti realizzare dei progetti secondari per mettere in pratica le nuove conoscenze.<\/p>\n\n\n\n<p>Inoltre,<strong> non dovresti essere timido nel mostrare ci\u00f2 che hai costruito<\/strong> (e ci\u00f2 che hai appreso) ai tuoi colleghi e persino ai tuoi amici al di fuori del lavoro! \u00c8 probabile che riceverai un riscontro e che ti verranno in mente nuove idee e nuove cose che vorresti imparare e provare.<\/p>\n\n\n\n<p>Ancora meglio se ti rendi conto che <strong>puoi applicare alcune di queste conoscenze al lavoro<\/strong>. Magari potete sviluppare un nuovo percorso all&#8217;interno dell&#8217;azienda per cui lavori, magari potresti aiutare in qualcosa che al momento viene trascurato perch\u00e9 nessun altro ha il&nbsp;tempo o le competenze, magari tutto questo pu\u00f2 dimostrare un valore maggiore e otterrai una promozione!<\/p>\n\n\n\n<p>Quando si applica questa mentalit\u00e0 di apprendimento continuo e di condivisione delle conoscenze sul lavoro, <strong>si potrebbe generare una stimolazione reciproca<\/strong> e ritrovarsi con un team che si diverte a imparare e a costruire insieme.<\/p>\n\n\n\n<p>Un&#8217;altra idea per far entrare le persone in sintonia tra loro e generare una stimolazione reciproca delle idee \u00e8 quella di organizzare <em>hackathon <\/em>aziendali o giornate di studio gratuite. Questi sono <strong>ottimi modi per aiutare i team ad appassionarsi<\/strong> a ci\u00f2 che fanno, a esplorare nuove idee, a imparare cose nuove e, in definitiva, a mettere le persone in condizione di fornire pi\u00f9 valore nel breve e nel lungo termine.<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-612d4eb0 gb-headline-text\">Programmazione a coppie<\/h3>\n\n\n\n<p>La programmazione a coppie \u00e8 un altro grande strumento che puoi <strong>sfruttare<\/strong> per dare una spinta alle tue competenze. <strong>Collaborare<\/strong> con il maggior numero possibile di persone all&#8217;interno dell&#8217;organizzazione \u00e8 <strong>fondamentale<\/strong>. Anche se qualcuno \u00e8 pi\u00f9 giovane di te, pu\u00f2 comunque avere intuizioni e prospettive che forse non avevi considerato prima. La programmazione in coppia&nbsp;offre una <strong>piattaforma per condividere idee e imparare gli uni dagli altri.<\/strong><\/p>\n\n\n\n<p>Allo stesso modo, non scartare il valore <strong>dell&#8217;insegnamento agli altri<\/strong>. Anche i membri pi\u00f9 anziani del team possono beneficiare delle tue conoscenze e della tua esperienza. Se fai coppia con altri, puoi condividere le tue competenze e aiutare tutti a crescere e a svilupparsi.<\/p>\n\n\n\n<p><strong>Ho imparato tantissimi trucchi lavorando in coppia con altre persone.<\/strong> Anche piccole cose, come la configurazione dell&#8217;editor o del terminale. Lo so: <strong>non tutti amano la programmazione in coppia.<\/strong> Se questo \u00e8 il caso, non preoccuparti! Ci sono altri approcci da seguire che possono comunque fornirti un <em>feedback <\/em>prezioso e aiutarti a imparare dai tuoi colleghi. <strong>Le revisioni interattive del codice e le sessioni di&nbsp;dimostrazione <\/strong>sono ottime alternative che consentono di condividere il proprio lavoro e ricevere riscontri senza dover lavorare insieme in tempo reale.<\/p>\n\n\n\n<p>Alla fine, la cosa pi\u00f9 importante<strong> \u00e8 rimanere aperti a nuove idee e approcci<\/strong>. Continuando a imparare e a crescere, sarei sulla buona strada per diventare uno sviluppatore di software senior. Quindi, perch\u00e9 non provi la programmazione a coppie e vedi cosa riesci a imparare?<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-759620ab gb-headline-text\">Creazione di contenuti<\/h3>\n\n\n\n<p>Prima di tutto, <strong>la creazione di contenuti pu\u00f2 assumere diverse forme<\/strong>: articoli, discorsi, video, discussioni su Twitter, e chi pi\u00f9 ne ha pi\u00f9 ne metta! E indovina un po&#8217;? <strong>Non occorre essere un esperto per condividere qualcosa di nuovo che hai imparato.<\/strong> Anche se sei alle prime armi&nbsp;con un determinato argomento, la tua nuova prospettiva pu\u00f2 portare valore agli altri e aiutarti ad affermarti come leader di pensiero.&nbsp;<\/p>\n\n\n\n<p>Perci\u00f2 crea dei contenuti su come ti sei sentito quando hai provato un nuovo linguaggio di programmazione o un framework.&nbsp;<em>Cosa ti \u00e8 piaciuto? C&#8217;\u00e8 stato qualcosa che ti ha confuso? Cosa ti \u00e8 mancato della tua precedente esperienza?<\/em><\/p>\n\n\n\n<p>Ma il punto \u00e8 questo: <strong>devi farlo diventare un&#8217;abitudine<\/strong>. Impegnati a seguire un programma regolare e svilupperai disciplina e coerenza nella creazione di contenuti. Inoltre, pi\u00f9 creerai, pi\u00f9 affinerai le tue capacit\u00e0 di comunicazione.&nbsp;E lo ripeto ancora una volta: <strong>la comunicazione \u00e8 un&#8217;abilit\u00e0 fondamentale per qualsiasi ingegnere senior.<\/strong><\/p>\n\n\n\n<p>A proposito di comunicazione, \u00e8 qui che <strong>la creazione di contenuti brilla<\/strong>. Come ingegneri, amiamo perderci nei dettagli tecnici, ma <strong>spiegare concetti complessi a interlocutori non tecnici pu\u00f2 essere difficile<\/strong>. Creando contenuti,<strong> imparerai a comunicare i tuoi&nbsp;concetti<\/strong> in modo chiaro e coinvolgente per un pubblico pi\u00f9 ampio. Inoltre, avrai l&#8217;opportunit\u00e0 di ricevere un parere sui tuoi contenuti e,&nbsp;se presterai attenzione, potrai migliorare ulteriormente le tue capacit\u00e0 comunicative.<\/p>\n\n\n\n<p>Hai mai sentito parlare di <em>atomic essays<\/em>? Si tratta di suddividere le tue&nbsp; idee in parti di contenuto pi\u00f9 brevi e mirate. Questo approccio <strong>pu\u00f2 rendere i tuoi contenuti pi\u00f9 coinvolgenti e pi\u00f9 facili da assimilare<\/strong>, soprattutto su piattaforme come Twitter, dove la brevit\u00e0 \u00e8 fondamentale. Se non sai che tipo di contenuti creare, questo potrebbe essere un buon formato per iniziare.<\/p>\n\n\n\n<p>Se non sai su cosa creare contenuti, ecco il mio consiglio: <strong>ogni giorno, alla fine della tua giornata lavorativa, scrivi 1 cosa nuova che pensi di aver imparato durante la giornata<\/strong>. Alla fine della settimana lavorativa, <strong>rivedi i tuoi 5 punti<\/strong>. Sono sicuro che per almeno una di queste cose varr\u00e0 la pena creare dei contenuti.<\/p>\n\n\n\n<p><strong>La creazione di contenuti pu\u00f2 aiutarti a diventare un ingegnere pi\u00f9 esperto<\/strong>, affermandoti come guida intellettuale, sviluppando le tue capacit\u00e0 di comunicazione e contribuendo alla comunit\u00e0. Quindi, vai avanti e condividi le tue conoscenze con il mondo.&nbsp;<\/p>\n\n\n\n<p>Ti sorprenderai dell&#8217;impatto che avr\u00e0 su di te e sugli altri!<\/p>\n\n\n\n<h3 class=\"gb-headline gb-headline-d6708e6b gb-headline-text\">Altre idee<\/h3>\n\n\n\n<p>Ecco alcuni altri <strong>consigli casuali<\/strong> che puoi aggiungere a quelli dati sopra.<\/p>\n\n\n\n<p>Innanzitutto,<strong> cerca sempre di mantenere un atteggiamento positivo<\/strong>. Quando le cose si fanno difficili, \u00e8 facile scoraggiarsi e perdere di vista il quadro generale. Ma ricorda che con tempo e risorse sufficienti, i team possono superare qualsiasi sfida. Quando manca questo lusso,&nbsp;sono certo che esistono compromessi accettabili che possono soddisfare le esigenze di tutti.<\/p>\n\n\n\n<p>Un&#8217;altra cosa fondamentale per aggiornarsi <strong>\u00e8 evitare di essere troppo rigidi in fatto di tecnologia o di stili di programmazione<\/strong>. Sforzati di sperimentare diversi modi per risolvere i problemi. \u00c8 un esercizio per le tue capacit\u00e0 di risoluzione dei problemi.<\/p>\n\n\n\n<p>\u00c8 importante<strong> supportare le idee dei colleghi<\/strong>, anche quando avresti fatto le cose in modo diverso. Questo tipo di atteggiamento collaborativo aiuta a creare fiducia e favorisce una cultura dell&#8217;innovazione e del lavoro di squadra. Inoltre, la prossima volta che proporrai qualcosa, sono sicuro che le persone saranno disposte a discutere e a sostenere le tue idee.<\/p>\n\n\n\n<p>Quando si tratta di affrontare compiti difficili,<strong> non avere paura di offrirti come volontario.<\/strong> Che ne dici di quel refactoring che nessuno vuole fare? Fatti avanti e accettalo. Quelle parti di codice complicate e incasinate che tutti evitano? Tuffati e cerca&nbsp;di dargli un senso. Assumendo questi compiti impegnativi, potrai farti una reputazione di risolutore di problemi e diventare la persona di riferimento per i lavori pi\u00f9 difficili.<\/p>\n\n\n\n<p>Infine, come regola generale,<strong> cerca di migliorare un po&#8217; le cose ogni volta che ne hai la possibilit\u00e0. <\/strong>Che si tratti di documentare un processo,&nbsp;migliorare l&#8217;interfaccia utente di un&#8217;applicazione o snellire un flusso di lavoro, ogni piccolo miglioramento \u00e8 importante. Con il tempo, questi&nbsp;piccoli successi si accumulano e ci aiutano a diventare membri pi\u00f9 validi del team.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-47c8f053 gb-headline-text\">Come faccio a vendermi come sviluppatore senior?<\/h2>\n\n\n\n<p>Se penso di essere un ingegnere senior, cosa posso fare per essere riconosciuto come tale?<\/p>\n\n\n\n<p>Innanzitutto,<strong> inizia ad assumerti maggiori responsabilit\u00e0.<\/strong> Cerca opportunit\u00e0 per dirigere progetti o fare da tutor a ingegneri junior. <strong>Condividi le tue conoscenze <\/strong>e la tua esperienza con gli altri e fornisci loro una guida.<\/p>\n\n\n\n<p>In secondo luogo, <strong>cerca di avere un impatto al di l\u00e0 del tuo team o progetto attuale<\/strong>. Partecipa a iniziative interfunzionali, contribuisci a progetti open-source o intervieni a eventi di settore. Questo tipo di attivit\u00e0 <strong>pu\u00f2 aiutarti ad affermarti come guida <\/strong>intellettuale nel tuo settore e a dimostrare la tua esperienza a un pubblico pi\u00f9 ampio.<\/p>\n\n\n\n<p>In terzo luogo,<strong> concentrati sullo sviluppo delle tue soft skills.<\/strong> In qualit\u00e0 di ingegnere senior, dovrai comunicare efficacemente con interlocutori tecnici e non, condurre riunioni e negoziare efficacemente. Pertanto<strong>, lavora per migliorare<\/strong> le capacit\u00e0 di comunicazione, di leadership e di risoluzione dei conflitti per diventare un membro completo e rispettato del tuo team .<\/p>\n\n\n\n<p>Un altro modo per dimostrare la tua competenza \u00e8<strong> condividere le tue conoscenze con gli altri. <\/strong>Scrivi post su blog tecnici, registra video didattici o intervieni a eventi interni o esterni per mostrare la tua esperienza e dimostrare la tua volont\u00e0 di aiutare gli altri a imparare.<\/p>\n\n\n\n<p>Infine, <strong>cerca il parere dei tuoi colleghi<\/strong>, dei mentori e dei manager. Chiedi critiche costruttive e sii aperto a suggerimenti per migliorare.&nbsp;<\/p>\n\n\n\n<p>La ricettivit\u00e0 ai commenti consente di migliorare continuamente le tue competenze e di dimostrare il tuo impegno a crescere e ad apprendere come ingegnere senior.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-bb211948 gb-headline-text\">Conclusione<\/h2>\n\n\n\n<p><strong>La definizione di ingegnere software senior \u00e8 complessa e sfaccettata<\/strong>, ma in generale implica il possesso di una profonda competenza tecnica,&nbsp;<strong>un&#8217;ampia conoscenza del settore e una serie di competenze trasversali <\/strong>che consentono una comunicazione efficace, la leadership e la risoluzione dei problemi.<\/p>\n\n\n\n<p>Per diventare un ingegnere del software senior, <strong>\u00e8 importante sviluppare e affinare continuamente le proprie competenze<\/strong>, concentrandosi non solo sulle abilit\u00e0 tecniche ma anche sulla comunicazione, sulla leadership e sull&#8217;acume commerciale.<\/p>\n\n\n\n<p>Ci\u00f2 potrebbe comportare<strong> la programmazione in coppia<\/strong>,<strong> la creazione di contenuti, la partecipazione volontaria a progetti impegnativi e la ricerca di nuove opportunit\u00e0 di apprendimento.<\/strong><\/p>\n\n\n\n<p>In definitiva, il percorso verso il grado di senior<strong> non \u00e8 lineare e richiede dedizione<\/strong>, <strong>perseveranza e propensione alla crescita <\/strong>per continuare a migliorare ed evolvere come ingegnere del software. Quindi, continua a spronarti per andare sempre pi\u00f9 a fondo,&nbsp;per divertirti e trovare gioia nel tuo lavoro e per sforzarti sempre di avere un impatto positivo sul tuo team e sull&#8217;organizzazione.<\/p>\n\n\n\n<p>Ma se ti sei chiesto durante la lettura<strong> se stavo descrivendo il perfetto ingegnere software senior, <\/strong>lascia che ti dica solo che non mi aspetto che le persone siano in grado di soddisfare ogni singolo aspetto esposto in questo articolo. Ci saranno cose in cui sarai bravissimo e altre in cui sarai appena sufficiente. Fa parte della natura umana e va bene cos\u00ec!<\/p>\n\n\n\n<p><strong>Non possiamo eccellere in tutto, <\/strong>ma dobbiamo conoscere i nostri punti di forza e di debolezza, lavorare con il nostro team per amplificare i punti di forza e compensare le debolezze&#8230; e sforzarci di migliorare ogni giorno!<\/p>\n\n\n\n<p>\u00c8 un viaggio, non una destinazione! <em>Touch\u00e9<\/em>&#8230;<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><em>Questo articolo si basa su<a href=\"https:\/\/loige.co\/the-senior-dev\/\" class=\"ek-link\"> una presentazione <\/a>che ha tenuto lo scorso anno l&#8217;autore dal titolo:&nbsp;&#8220;The senior dev, an opinionated take&#8221;, ed \u00e8 stato tradotto dall&#8217;inglese all&#8217;italiano da Mauro Bardetta.<\/em> <a href=\"https:\/\/loige.co\/the-senior-dev\/\" target=\"_blank\" aria-label=\"Leggi l'articolo originale in inglese qui (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Leggi l&#8217;articolo originale in inglese qui<\/a>. <\/p>\n\n\n\n<script src=\"https:\/\/codemotion.activehosted.com\/f\/embed.php?id=12\" type=\"text\/javascript\" charset=\"utf-8\"><\/script>\n","protected":false},"excerpt":{"rendered":"<p>Il ruolo di sviluppatore Senior \u00e8 divenuto sempre pi\u00f9 importante, di pari passo con la continua e rapida evoluzione del settore Tech, e molti programmatori faticano ad esser riconosciuti come tali. Sei gi\u00e0 un Senior? E cosa ci si aspetta da te in quanto tale? A dire il vero, rispondere a queste domande non \u00e8&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/\">Read more<\/a><\/p>\n","protected":false},"author":169,"featured_media":19940,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10315],"tags":[10436,10486],"collections":[],"class_list":{"0":"post-21328","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-carriere-tech","8":"tag-carriere-tech","9":"tag-dev-senior","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>La definizione di sviluppatore Senior - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"Lo sviluppatore senior \u00e8 una figura fondamentale di ogni team; ma quali sono le capacit\u00e0 e le caratteristiche che deve avere? Scoprilo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"La definizione di sviluppatore Senior\" \/>\n<meta property=\"og:description\" content=\"Lo sviluppatore senior \u00e8 una figura fondamentale di ogni team; ma quali sono le capacit\u00e0 e le caratteristiche che deve avere? Scoprilo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-14T07:34:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-14T09:19:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1134\" \/>\n\t<meta property=\"og:image:height\" content=\"925\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Luciano Mammino\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Luciano Mammino\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"29 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/\"},\"author\":{\"name\":\"Luciano Mammino\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/789f22a70834d0bab9612003ca260919\"},\"headline\":\"La definizione di sviluppatore Senior\",\"datePublished\":\"2023-06-14T07:34:47+00:00\",\"dateModified\":\"2023-06-14T09:19:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/\"},\"wordCount\":6370,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/iStock-1304570729.jpg\",\"keywords\":[\"carriere tech\",\"dev senior\"],\"articleSection\":[\"Carriere tech\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/\",\"name\":\"La definizione di sviluppatore Senior - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/iStock-1304570729.jpg\",\"datePublished\":\"2023-06-14T07:34:47+00:00\",\"dateModified\":\"2023-06-14T09:19:24+00:00\",\"description\":\"Lo sviluppatore senior \u00e8 una figura fondamentale di ogni team; ma quali sono le capacit\u00e0 e le caratteristiche che deve avere? Scoprilo.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/iStock-1304570729.jpg\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2023\\\/01\\\/iStock-1304570729.jpg\",\"width\":1134,\"height\":925,\"caption\":\"Front end development concept. Vector flat graphic design\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/la-definizione-di-sviluppatore-senior\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Carriere tech\",\"item\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/it\\\/carriere-tech\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"La definizione di sviluppatore Senior\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#website\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"contentUrl\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Codemotion.Italy\\\/\",\"https:\\\/\\\/x.com\\\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/#\\\/schema\\\/person\\\/789f22a70834d0bab9612003ca260919\",\"name\":\"Luciano Mammino\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f2e43de35dfb592ec49eeaee1ca0291f037b01ad2e687b54aff1472c366b26f6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f2e43de35dfb592ec49eeaee1ca0291f037b01ad2e687b54aff1472c366b26f6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f2e43de35dfb592ec49eeaee1ca0291f037b01ad2e687b54aff1472c366b26f6?s=96&d=mm&r=g\",\"caption\":\"Luciano Mammino\"},\"url\":\"https:\\\/\\\/www.codemotion.com\\\/magazine\\\/author\\\/luciano-mammino\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"La definizione di sviluppatore Senior - Codemotion Magazine","description":"Lo sviluppatore senior \u00e8 una figura fondamentale di ogni team; ma quali sono le capacit\u00e0 e le caratteristiche che deve avere? Scoprilo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/","og_locale":"en_US","og_type":"article","og_title":"La definizione di sviluppatore Senior","og_description":"Lo sviluppatore senior \u00e8 una figura fondamentale di ogni team; ma quali sono le capacit\u00e0 e le caratteristiche che deve avere? Scoprilo.","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2023-06-14T07:34:47+00:00","article_modified_time":"2023-06-14T09:19:24+00:00","og_image":[{"width":1134,"height":925,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg","type":"image\/jpeg"}],"author":"Luciano Mammino","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Luciano Mammino","Est. reading time":"29 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/"},"author":{"name":"Luciano Mammino","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/789f22a70834d0bab9612003ca260919"},"headline":"La definizione di sviluppatore Senior","datePublished":"2023-06-14T07:34:47+00:00","dateModified":"2023-06-14T09:19:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/"},"wordCount":6370,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg","keywords":["carriere tech","dev senior"],"articleSection":["Carriere tech"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/","name":"La definizione di sviluppatore Senior - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg","datePublished":"2023-06-14T07:34:47+00:00","dateModified":"2023-06-14T09:19:24+00:00","description":"Lo sviluppatore senior \u00e8 una figura fondamentale di ogni team; ma quali sono le capacit\u00e0 e le caratteristiche che deve avere? Scoprilo.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg","width":1134,"height":925,"caption":"Front end development concept. Vector flat graphic design"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/la-definizione-di-sviluppatore-senior\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Carriere tech","item":"https:\/\/www.codemotion.com\/magazine\/it\/carriere-tech\/"},{"@type":"ListItem","position":3,"name":"La definizione di sviluppatore Senior"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/789f22a70834d0bab9612003ca260919","name":"Luciano Mammino","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f2e43de35dfb592ec49eeaee1ca0291f037b01ad2e687b54aff1472c366b26f6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f2e43de35dfb592ec49eeaee1ca0291f037b01ad2e687b54aff1472c366b26f6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f2e43de35dfb592ec49eeaee1ca0291f037b01ad2e687b54aff1472c366b26f6?s=96&d=mm&r=g","caption":"Luciano Mammino"},"url":"https:\/\/www.codemotion.com\/magazine\/author\/luciano-mammino\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-600x600.jpg","author_info":{"display_name":"Luciano Mammino","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/luciano-mammino\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg",1134,925,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-300x245.jpg",300,245,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-768x626.jpg",768,626,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-1024x835.jpg",1024,835,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg",1134,925,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg",1134,925,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729.jpg",100,82,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/01\/iStock-1304570729-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Luciano Mammino","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/luciano-mammino\/"},"uagb_comment_info":0,"uagb_excerpt":"Il ruolo di sviluppatore Senior \u00e8 divenuto sempre pi\u00f9 importante, di pari passo con la continua e rapida evoluzione del settore Tech, e molti programmatori faticano ad esser riconosciuti come tali. Sei gi\u00e0 un Senior? E cosa ci si aspetta da te in quanto tale? A dire il vero, rispondere a queste domande non \u00e8&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/21328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=21328"}],"version-history":[{"count":9,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/21328\/revisions"}],"predecessor-version":[{"id":22752,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/21328\/revisions\/22752"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/19940"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=21328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=21328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=21328"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=21328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}