Le più preziose capacità di sviluppatore di software nel 2020

Essendo una delle aree di maggiore crescita dell'ultimo decennio, le competenze di sviluppo software rimangono molto richieste, anche nell'economia di oggi. Ma alcune abilità sono più desiderabili di altre.

Scegliere quelli giusti su cui concentrarsi è particolarmente importante poiché la pandemia COVID-19 continua ad avere un impatto sul mercato del lavoro globale. Solo nel Regno Unito, il numero di ruoli di sviluppatore di software e di ingegneria del software pubblicizzati è diminuito del 33% a luglio rispetto all'anno precedente, secondo la CV-Library del comitato di lavoro.

Quindi quali abilità di sviluppatore sono le più preziose nel mercato di oggi? Abbiamo analizzato i dati per trovare le competenze di sviluppatore più bancabili per i prossimi anni e il modo migliore per prepararti al successo in un mercato del lavoro difficile.

Non mettere tutte 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 quale frequenza apprendono un nuovo linguaggio o framework per il suo sondaggio per sviluppatori del 2020, con circa il 75% degli intervistati che afferma di apprendere una nuova tecnologia almeno una volta all'anno.

“I linguaggi e le strutture sono molto simili, quindi le differenze tra i linguaggi di programmazione sono molto inferiori 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.

Ad esempio, Ingram dice che se stava assumendo per uno sviluppatore React, "non gli dispiacerebbe se avessero già fatto React prima, se avessero fatto JavaScript angolare, JQuery o anche vanilla, sarebbero in grado di raccogliere React molto rapidamente . "

Nello sviluppo del software, come in molti percorsi di carriera, la capacità di dimostrare competenze trasferibili è più preziosa di una lunga lista di competenze e molti responsabili delle assunzioni stanno diventando sempre più indipendenti dalla lingua, secondo HackerRank.

Alcune abilità sono più calde di altre

Detto questo, ci sono competenze e framework che sono molto richiesti in questo momento che si dimostreranno più preziosi sul tuo curriculum rispetto alla competenza in linguaggi onnipresenti come JavaScript o C ++.

Rust e Dart sono entrambi linguaggi di programmazione leggeri che hanno guadagnato popolarità tra gli sviluppatori, in cima alla lista dei linguaggi di programmazione in rapida crescita su GitHub tra il 2018 e il 2019. Come ha osservato il rapporto GitHub State of the Octoverse:

Con Flutter nei nostri archivi di tendenza, non sorprende che Dart abbia guadagnato contributori quest'anno. Abbiamo anche visto tendenze verso linguaggi tipizzati staticamente incentrati sulla sicurezza dei tipi e sull'interoperabilità: le comunità Rust, Kotlin e TypeScript sono ancora in rapida crescita. 

Allo stesso modo, il linguaggio di programmazione Go di Google sta crescendo in popolarità secondo il mercato delle assunzioni tecnologiche Hired, che ha visto ingegneri esperti di Go guadagnare una media di nove o più richieste di interviste per candidato, con Scala e Ruby a ridosso di oltre otto richieste di interviste per candidato 2019.

Tuttavia, Java e JavaScript potrebbero essere i linguaggi di programmazione più bancabili da imparare se sei appena agli inizi. In effetti, Java rimane il secondo linguaggio più richiesto dai datori di lavoro dietro SQL, come risulta dall'analisi del popolare sito di lavoro Indeed.

Poi c'è Python, che ha rapidamente aumentato le competenze nell'ultimo decennio. Python è popolare tra i data scientist ed è il terzo linguaggio più richiesto, secondo milioni di offerte di lavoro negli Stati Uniti su Indeed.com tra il 2014 e il 2019.

Anche i soldi possono essere buoni, con lo stipendio medio per uno sviluppatore esperto di Python a $ 91.000, secondo PayScale. A titolo di confronto, uno sviluppatore Java costa in media $ 74.000. 

Di nuovo, il rapporto GitHub State of the Octoverse offre un contesto: 

Dietro la crescita di Python c'è una comunità in rapida espansione di professionisti della scienza dei dati e hobbisti, e gli strumenti e le strutture che usano ogni giorno. Questi includono i numerosi pacchetti di data science di base basati su Python che stanno abbassando le barriere al lavoro di data science e si stanno dimostrando fondamentali per i progetti nel mondo accademico e nelle aziende. 

L'anno scorso ha segnato anche la prima volta che Python ha superato Java come secondo linguaggio più popolare su GitHub dai contributori del repository. Il re è morto, lunga vita al re.

Verso il cloud nativo

Più in generale, una chiara direzione di viaggio può essere vista nella tendenza verso i container e lo sviluppo nativo del cloud.

Le competenze generali di cloud computing tendono ad allinearsi con i principali fornitori: Amazon Web Services (AWS), Microsoft Azure e Google Cloud Platform (GCP). I responsabili delle assunzioni tendono ad assumere contro l'esperienza con questi ambienti cloud, in modo che gli sviluppatori possano essere inseriti rapidamente come parte di un team.

Se stai cercando di allinearti con un determinato cloud, 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, con un aumento del 4,162% dal 2014, e che Docker è stato elencato in oltre il 5% di tutti i lavori tecnologici negli Stati Uniti nel 2019.

La domanda di competenza con lo strumento di orchestrazione dei container Kubernetes, disponibile su tutti e tre i principali cloud, e la mesh di servizi Istio hanno naturalmente seguito, poiché entrambi sono diventati metodi standard per gestire gli ambienti containerizzati.

Kubernetes rimane uno dei primi 10 progetti open source più popolari dai contributori secondo l'ultimo rapporto sullo stato dell'Octoverse 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 lo stack completo

Uno dei principali sviluppi 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 back-end necessaria per creare ed eseguire applicazioni web.

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 hanno la massima priorità", con il 38% di loro che afferma che è il ruolo numero uno da ricoprire nel 2020.

C'è qualche dibattito sul fatto che uno sviluppatore full-stack sia in realtà un unicorno, ma se stai cercando di soddisfare i criteri per l'assunzione di manager dovrai avere competenza con entrambi i linguaggi front-end come HTML / CSS e JavaScript e back- end linguaggi e framework come Node.js, Python, Ruby e Java, con alcune competenze su Git, database e applicazioni mobili messe in buona misura. In bocca al lupo.

I dati sono ancora il nuovo petrolio 

L'ascesa della scienza dei dati e del suo partner operativo, l'ingegnere dei dati, ha anche visto diverse lingue e competenze aumentare costantemente le classifiche di popolarità.

Strumenti di dati in streaming come Apache Kafka, data warehouse moderni come Amazon Redshift e Snowflake e piattaforme di big data come Apache Spark hanno registrato una domanda crescente negli ultimi anni. Anche i lavori che richiedono competenza in Python e nel linguaggio R fanno parte della fame di competenze di data science.

Questo prima ancora di entrare nelle acque complicate di ciò che implica l'apprendimento automatico e le abilità di intelligenza artificiale. Ciò ha visto l'ascesa di piattaforme e framework di machine learning come TensorFlow e PyTorch.

Ovviamente, non tutti possono essere un data scientist e molti sviluppatori non avranno questo set di abilità, ma avere competenze complementari certamente non danneggerà la tua occupabilità.

L'istruzione formale non è tutto

Infine, è importante ricordare che un diploma formale in informatica non è una necessità per ottenere un lavoro come sviluppatore di software nel 2020.

“È fondamentale che i responsabili delle assunzioni si concentrino sulla valutazione delle capacità di un candidato piuttosto che sull'eccessiva 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 e potrebbero benissimo avere lo stesso set di abilità di programmazione ", ha scritto il CEO assunto Mehul Patel nello Stato 2020 of Software Engineers, rapporto del reclutatore tecnologico.

In effetti, Google e Microsoft hanno entrambi lanciato quest'anno alternative ai diplomi universitari standard, con il programma di certificati di carriera di Google e l'iniziativa di formazione globale di Microsoft.

“È più probabile che la generazione Z utilizzi i bootcamp rispetto a qualsiasi generazione precedente. Quasi uno su sei afferma di aver sfruttato i bootcamp per apprendere nuove competenze ", secondo il Report sulle competenze degli sviluppatori 2020 di HackerRank. Inoltre, il 32% dei responsabili delle assunzioni sta portando in bootcamp laureati e il 72% di loro afferma che quelle assunzioni "erano ugualmente o meglio attrezzate per il lavoro rispetto ad altri."

Il dibattito continuerà sul vero valore di una laurea in informatica tradizionale e su quanto sia capace di diventare un ingegnere di successo. Ma quello che è certo è che il percorso tradizionale potrebbe non essere accessibile a tutti, e questo non dovrebbe escludere quelle persone dal mercato del lavoro.