Essendo una delle poche aree di vera crescita dell’ultimo decennio, lo sviluppo del software è una skill sempre più richiesta che abbraccia tutta una serie di ruoli, discipline e framework. Decidere quale di questi vi metterà nella migliore posizione possibile per trovare lavoro non è ovviamente semplice, ma alcuni trend attuali aiutano a capire quali siano le skill più ricercate oggi in questo ambito.

Ciò è particolarmente importante poiché la pandemia di COVID-19 continua ad avere un impatto negativo sul mercato del lavoro globale. A partire da settembre 2020, più di 14 milioni di americani avevano presentato istanza di sussidio di disoccupazione e il settore IT degli Stati Uniti ha perso più di 320.000 posti di lavoro a luglio e agosto, secondo un rapporto di CompTIA. Solo nel Regno Unito, il numero di ruoli di sviluppatore di software e di ingegneria del software pubblicizzati è diminuito del 33% nel luglio 2020 rispetto all’anno precedente.

Guardando oltre la pandemia, il numero di sviluppatori di software a livello globale dovrebbe però aumentare, il che significa che la competizione per i talenti diventerà più agguerrita. C’erano 23 milioni di sviluppatori di software al mondo nel 2018 secondo l’analisi di Evans Data Corporation e questo numero avrebbe dovuto raggiungere i 27,7 milioni entro il 2023 prima di essere rivisto in seguito alle conseguenze della pandemia.

Quali sono allora le capacità di sviluppo più preziose nel mercato di oggi? Abbiamo analizzato i dati per trovare le competenze più “hot” per i prossimi anni e il modo migliore per prepararvi al successo nel difficile mercato del lavoro attuale.

Non mettere le uova nello stesso paniere

Gli sviluppatori vengono spesso giudicati e valutati in base alla loro competenza con determinati linguaggi di programmazione e framework, ma è importante ricordare che si tratta di competenze trasferibili. Stack Overflow ha chiesto a migliaia di sviluppatori con che frequenza apprendono un nuovo linguaggio o un nuovo framework per il suo sondaggio del 2020, con circa il 75% degli intervistati che ha affermato di apprendere una nuova tecnologia almeno una volta all’anno.

“Linguaggi e framework sono molto simili, quindi le differenze tra i linguaggi di programmazione sono molto minori rispetto alla parola parlata. Passare da PHP a Python non è come imparare il francese” afferma Hew Ingram, responsabile tecnico presso lo specialista in tecnologia di reclutamento Applied. Nello sviluppo del software, come in molti percorsi di carriera, le competenze trasferibili dimostrabili sono più preziose di una lunga lista di competenze e molti responsabili delle assunzioni stanno diventando sempre più “agnostici” per quanto riguarda i linguaggio di programmazione.

Alcune skill sono più ricercate di altre

Detto questo, ci sono skill e framework che sono molto richiesti in questo momento e che si dimostreranno più preziosi per il vostro curriculum rispetto a qualcosa di onnipresente come Javascript o C++. Rust e Dart sono entrambi linguaggi di programmazione leggeri che hanno rapidamente guadagnato popolarità tra gli sviluppatori e sono stati in cima alla lista dei linguaggi di programmazione in rapida crescita su GitHub tra il 2018 e il 2019.

Allo stesso modo, il linguaggio di programmazione Go di Google sta crescendo in popolarità secondo Hired, che ha visto ingegneri esperti di Go ottenere una media di più di 9 richieste di interviste per candidato, con Scala e Ruby a breve distanza con più di otto richieste di interviste per candidato. Tuttavia, Java e Javascript potrebbero essere i linguaggi di programmazione da imparare assolutamente se siete appena agli inizi. In effetti, Java rimane la seconda skill più richiesta dai datori di lavoro, dietro SQL, come da analisi del popolare sito di lavoro Indeed.

Poi c’è Python, che ha rapidamente aumentato le competenze nell’ultimo decennio. Questo linguaggio di programmazione, popolare tra i data scientist, è stata la terza skill più richiesta secondo Indeed.com tra il 2014 e il 2019. Inoltre, lo stipendio medio per uno sviluppatore esperto di Python ammonta a 91.000 dollari all’anno secondo PayScale. A titolo di confronto, uno sviluppatore Java guadagna in media 74.000 dollari.

colloquio sviluppatori

Il rapporto GitHub State of the Octoverse 2019 offre un po’ di contesto attorno a questo argomento: “Dietro la crescita di Python c’è una comunità in rapida espansione di professionisti della scienza dei dati e hobbisti. Gli strumenti e le strutture che usano ogni giorno includono i numerosi pacchetti di data science di base basati su Python che si stanno dimostrando fondamentali per i progetti nel mondo accademico e nelle aziende”. Nel 2019 Python ha anche superato per la prima volta Java come secondo linguaggio più popolare su GitHub dai contributori del repository.

La natura mutevole delle competenze di back-end

Concentrandosi sul back-end, c’è una chiara direzione di viaggio dal punto di vista delle competenze: container e cloud native. Le competenze generali di cloud computing tendono ad allinearsi con i principali fornitori: Amazon Web Services (AWS), Microsoft Azure e Google Cloud Platform. I responsabili delle assunzioni tendono ad assumere in base a questi set di abilità specifici in modo che gli sviluppatori possano essere rapidamente integrati nel team.

Se state cercando di allinearvi a uno di questi fornitori, AWS continua a dimostrarsi il più popolare, poiché molte aziende hanno costruito i loro servizi sullo stack AWS. L’analisi di Indeed ha mostrato che le offerte di lavoro per sviluppatori esperti di AWS sono aumentate di cinque volte dal 2014 al 2019, superando di gran lunga la domanda di Azure e GCP.

Per quanto riguarda i container, la ricerca di Indeed mostra che la domanda di competenze Docker continua a crescere (un aumento del 4,162% dal 2014) ed è stata elencata in oltre il 5% di tutti i lavori tecnologici negli Stati Uniti nel 2019. Poco sotto troviamo la richiesta di competenza per quanto riguarda lo strumento di orchestrazione dei container Kubernetes e la rete mesh di servizi Istio, poiché entrambi sono diventati una sorta di metodo standard del settore per gestire gli ambienti containerizzati.

Kubernetes rimane uno dei primi dieci progetti open source più popolari dai contributori secondo il rapporto sullo stato dell’Octoverse 2019 di GitHub. Allo stesso modo, Istio è stato tra i progetti in più rapida crescita da parte dei contributori, con un aumento del 194% dei contributi nel 2019.

Ordinare l’intero stack

Una delle principali tendenze per gli sviluppatori di software negli ultimi anni è stata l’ascesa del cosiddetto sviluppatore “full-stack”, un tuttofare in grado di gestire sia la codifica front-end che quella back-end richiesta per creare ed eseguire applicazioni end-to-end. Secondo il Rapporto sulle competenze degli sviluppatori 2020 di HackerRank, i responsabili delle assunzioni di aziende di tutte le dimensioni “concordano sul fatto che gli sviluppatori full-stack abbiano la massima priorità”, con il 38% dei responsabili che afferma che è stato il ruolo numero uno da ricoprire nel 2020.

Se quindi state cercando di soddisfare questi criteri molto ampi, dovrete avere competenza con entrambi i linguaggi front-end come HTML/CSS e JavaScript, combinati con linguaggi e framework back-end come Node.js, Python, Ruby e Java, con in più alcune competenze su Git, database e applicazioni web o mobili. In bocca al lupo!

I dati sono ancora il nuovo petrolio

L’ascesa della scienza e ingegneria dei dati ha visto il continuo l’aumento di richieste di diversi linguaggi e skill. Strumenti di streaming di dati come Kafka, data warehouse moderni come Redshift e Snowflake e la popolare libreria di machine learning Tensorflow hanno tutti registrato un’impennata della domanda negli ultimi anni.

Python, R e Spark sono tutte skill in rapida crescita e questo prima ancora di entrare nelle acque complicate di ciò che implica il machine learning e le skill di intelligenza artificiale. Ciò ha visto l’ascesa di strumenti ML davvero mirati come Pytorch. Ovviamente, non tutti possono essere data scientist e molti sviluppatori non avranno questo set di abilità, ma possedere competenze complementari certamente non danneggerà la vostra ricerca di lavoro.

L’istruzione formale non è tutto

Infine, è importante ricordare che una laurea in informatica non è una necessità per ottenere un lavoro come sviluppatore di software nel 2021. “È fondamentale che i responsabili delle assunzioni si concentrino sulla valutazione delle competenze di un candidato piuttosto che sull’indicizzazione sull’istruzione. Mentre il 50% degli ingegneri del software ha una laurea in informatica, un altro 32% ha imparato a programmare da solo o ha imparato attraverso un bootcamp di codifica”, ha scritto il CEO di Hired Mehul Patel nel report 2020 State of Software Engineers.

In effetti, Google e Microsoft hanno entrambi lanciato alternative ai diplomi universitari standard, con il programma Career Certificates di Google e l’iniziativa di competenze globali di Microsoft. “La Generazione Z è più propensa di qualsiasi generazione precedente a utilizzare i bootcamp. Quasi uno su sei afferma di aver sfruttato i bootcamp per apprendere nuove competenze”, si legge nel report sulle competenze degli sviluppatori 2020 di HackerRank.