Le 13 abilità di sviluppatore che devi padroneggiare ora

Pesante pesa la corona del re sviluppatore.

Sì, poiché il software divora il mondo, la domanda di sviluppatori qualificati rimane alta. Ma la pervasività del software - dal server al cloud fino al prossimo assalto di dispositivi indossabili e IoT - significa responsabilità molto maggiori per gli ingegneri del software e la necessità di espandere costantemente le proprie competenze.

Le aziende ora sono spesso alla ricerca di qualcuno che si senta a proprio agio con ogni livello dello stack di sviluppo, abbia la capacità di estrarre informazioni da enormi set di dati e possa pensare strategicamente ai dispositivi futuri, il tutto riconsiderando i vecchi sistemi che utilizzano i linguaggi e i framework più recenti. Basta non avere idea da dove cominciare.

Per scoprire le competenze di sviluppo più ricercate quest'anno, abbiamo contattato un mix di reclutatori, CTO, CEO e altri dirigenti che hanno offerto le loro tecnologie indispensabili da provare, strategie da considerare e competenze trasversali da padroneggiare.

Se stai cercando di rispolverare il tuo curriculum o aggiornare il tuo attuale set di abilità (dovresti esserlo), lascia che la nostra analisi delle competenze più desiderabili e delle esigenze tecnologiche di tendenza sia la tua guida.

Rispolvera JavaScript

In questi giorni, gli sviluppatori che hanno padroneggiato JavaScript non possono sbagliare, dicono quelli che abbiamo intervistato. La competenza JavaScript è di gran lunga l'abilità più ricercata nominata da dirigenti e reclutatori.

"La maggior parte degli sviluppatori ha già un'idea delle migliori parole chiave che i datori di lavoro stanno cercando, dopo aver esaminato le bacheche di lavoro e i rapporti comparativi sugli stipendi, mentre si preparava per un colloquio di lavoro", afferma Sherif Abushadi, un istruttore di Dev Bootcamp. "JavaScript è il discorso della città, così come dozzine di framework e librerie correlati costruiti dalla comunità JavaScript."

Indipendentemente dal fatto che tu stia costruendo per il desktop, il Web o il dispositivo mobile, "JavaScript ha dimostrato di essere un insieme di abilità altamente portabile e prezioso nel mercato di oggi", afferma Todd Anglin, chief evangelist di Progress Software.

Gli ingegneri con solidi fondamenti di informatica e conoscenza di uno stack moderno non andranno in cerca di lavoro, afferma Mark Stagno, consulente principale per la pratica tecnologica del software presso WinterWyman Search. "Potrebbe trattarsi di ingegneri full-stack o sviluppatori focalizzati sull'interfaccia utente che conoscono JavaScript e una libreria moderna come AngularJS o React", afferma.

Abushadi aggiunge che, sebbene JavaScript sia il re, altri linguaggi e approcci popolari in cui vale la pena immergersi in questi giorni includono Ruby, in concerto con il framework Ruby on Rails, e Python, in combinazione con Django; entrambi gli stack tecnologici si sono dimostrati fondamentali per la creazione di applicazioni Web scalabili.

  • Corso gratuito: inizia con AngularJS
  • Pratica con 17 editor JavaScript e IDE

Vai alla grande con i dati

I progetti di big data hanno continuato a diventare, beh, più grandi lo scorso anno e non c'è alcun segno di tale rallentamento negli anni a venire.

"Anche se i big data esistono da anni, è una tendenza che è destinata a rimanere", afferma Andrey Akselrod, co-fondatore e CTO di Smartling. "Gli sviluppatori devono avere una conoscenza approfondita di [business intelligence] e prodotti di analisi, strumenti di machine learning e altre soluzioni che trasferiscono, archiviano e aggregano grandi quantità di dati. Solo allora possono aiutare le loro organizzazioni a memorizzare, interagire e analizzare i big data per prendere decisioni aziendali migliori ".

Il ritmo della creazione dei dati è vertiginoso, afferma John Piekos, vice presidente dell'ingegneria di VoltDB. Ma lo sono anche le opportunità.

"I dispositivi mobili e Internet of Things stanno diventando onnipresenti in tutto il mondo", afferma Piekos. “Le applicazioni in fase di sviluppo oggi sfruttano quantità incredibili di dati e analizzano e reagiscono in tempo reale. Le tecnologie che acquisiscono e agiscono sui dati nel momento in cui arrivano, come le soluzioni di streaming e gli archivi di dati in memoria, stanno diventando competenze indispensabili da padroneggiare. E la tecnologia in grado di archiviare, gestire e analizzare storicamente enormi quantità di dati - petabyte e oltre - saranno competenze che saranno utili agli sviluppatori per il prossimo decennio ".

Per gli sviluppatori che desiderano aggiungere il data wrangling ai loro arsenali, tecnologie come Hadoop, Spark, R e la varietà di framework di machine learning attualmente emergenti sono ottimi punti di partenza.

  • Guida rapida: impara a elaborare i big data con R
  • Scarica Hadoop Deep Dive

Padroneggia l'intero stack

Molte delle migliori aziende stanno ora cercando sviluppatori full-stack che si muovano comodamente tra una varietà di tecnologie e piattaforme.

Questi ingegneri "comprendono le implicazioni delle decisioni tecniche dai livelli principali del software al livello di presentazione", afferma Hossein Rahnama, fondatore e chief product officer della startup Flybits. "Si tratta di grandi risorse in quanto semplificano il lavoro per i loro colleghi e impediscono alla startup di sviluppare silos seguendo un processo decisionale tecnico gerarchico classico. Consentono alle squadre di rimanere piccole ed efficaci. Anche sfruttare piattaforme come Top Coder e Amazon Mechanical Turks sono ottimi modi per impegnarsi in progetti interessanti ".

Bryan Reinero, sostenitore degli sviluppatori presso MongoDB, afferma che in futuro gli ingegneri avranno bisogno di una gamma più ampia di competenze per essere efficaci: "Fortunatamente, aumentare l'ambito delle competenze è salutare sia per l'ingegnere che per l'azienda in cui lavora".

Acquista in devops

Alcuni guru della tecnologia pensano che i devop cadranno nel dimenticatoio poiché l'uso del cloud computing continua a crescere all'interno delle aziende. Non è così, afferma Reinero di MongoDB.

"Le competenze di Devops sono evidenti", afferma Reinero, "spesso espresse dal dicta" Gli ingegneri responsabili della scrittura di un'applicazione sono gli stessi ingegneri che mantengono l'applicazione in produzione ". Ciò include la necessità di abbattere i silos ingegneristici in modo che gli ingegneri comprendano come funziona il loro codice in produzione e siano consapevoli delle prestazioni e della stabilità durante la fase di sviluppo ".

Un maggiore accesso a prospettive di lavoro interessanti non è l'unica ragione per cercare di aggiungere devops al tuo curriculum; Le pratiche devops ti rendono semplicemente uno sviluppatore migliore e un collaboratore più prezioso, sostiene Reinero.

"Gli ingegneri che pensano in questi termini rilasceranno un codice migliore più velocemente e con maggiore sicurezza", afferma Reinero. “Le pratiche Devops migliorano anche la coesione del team e l'agilità operativa. Questo è il tipo di vantaggio che consente a un'azienda di accelerare il passo ".

  • Scarica Devops Digital Spotlight

Diversificare

Le competenze che le aziende cercano oggi sono notevolmente più varie rispetto a qualche anno fa, afferma Stagno di WinterWyman Search: "Java e C # rimangono una parte del mercato, ma quando si guardano le aziende fondate dopo l'ultima recessione, si vede una varietà: Ruby on Rails, Python / Django, Node.js e l'emergere di linguaggi di programmazione funzionali, con Scala il più diffuso.

“Stiamo iniziando a vedere alcune aziende che adottano anche Go. Non credo che tu abbia bisogno di trovare la tecnologia "giusta" da padroneggiare, ma vuoi assicurarti di essere attuale, poiché ci sono tecnologie sbagliate da scegliere che ti metteranno dietro la curva poiché il paesaggio è sempre- mutevole."

  • 11 database all'avanguardia che vale la pena esplorare ora
  • 9 linguaggi di programmazione all'avanguardia che vale la pena imparare ora

Usa la fonte

In particolare per i liberi professionisti, la possibilità di puntare al tuo codice su GitHub mostra che il tuo lavoro è stato messo a frutto e rivisto dai tuoi colleghi.

"Lavora su librerie significative e rendile open-source per dimostrare un valore istantaneo a potenziali datori di lavoro", afferma Kiran Bondalapati, co-fondatore e CTO di ZeroStack, aggiungendo che contribuire a progetti open source può anche aiutare a stabilire credenziali di collaborazione.

Candace Murphy, responsabile del reclutamento presso la società di servizi di personale Addison Group, afferma che le competenze .Net e Java sono ancora molto richieste, ma "le tendenze più ampie nello sviluppo open source sono in crescita. Stiamo assistendo a un aumento delle richieste di professionisti IT con esperienza JavaScript open source Ruby, Python, Node.js e AngularJS. Questa tendenza è guidata dalle aziende che abbandonano le piattaforme tradizionali che richiedono costi di licenza ".

Se le aziende stesse stanno esplorando GitHub per le tecnologie da aggiungere ai loro stack, non dovresti?

  • Guida rapida: 20 suggerimenti e trucchi per gli utenti di Git e GitHub

Sii agile e affina le tue capacità di lavoro di squadra

Lo sviluppo agile dovrebbe far parte delle competenze dei programmatori nel 2016, afferma Greg Sterndale, co-fondatore di PromptWorks, un negozio di consulenza software di Filadelfia specializzato in applicazioni Web e mobili. E mantieni la semplicità: “Sii umile e abbi fame. Acquisire familiarità con metodologie agili e snelle: la capacità di suddividere grandi progetti in piccole storie, dare priorità, adattarsi al cambiamento e fornire il massimo valore ".

Poiché offrire feedback è importante in un ambiente agile, l'istruttore di Dev Bootcamp Abushadi sottolinea la necessità di comprendere i tuoi colleghi e il progetto: "La capacità di fornire feedback onesto, gentile e attuabile quando si lavora in team è veramente possibile solo quando hai empatia e l'abilità di dare e ricevere feedback è il più delle volte la differenza fondamentale tra progetti di successo e insuccessi ".

  • La guida alla sopravvivenza aziendale del programmatore professionista

Mettiti al sicuro

Secondo Murphy di Addison, le aziende che hanno subito violazioni della sicurezza lo scorso anno sanno già cosa vogliono e quali competenze saranno loro più utili nel 2016.

"Stanno adottando approcci più proattivi per aumentare la sicurezza, non solo all'interno del loro reparto IT ma su tutta la linea", afferma Murphy. “Di conseguenza, quest'anno assisteremo a un cambiamento nelle tecnologie più richieste.

Gli esperti hanno notato la crescente domanda di sicurezza di rete, in particolare sicurezza delle applicazioni adattive, nonché sicurezza del cloud.

"Con l'aumento dell'adozione del cloud, la sicurezza e la conformità sono preoccupazioni crescenti per le organizzazioni", afferma Aashish Kalra, presidente di Cambridge Technology Enterprises. "Ciò ha comportato un aumento della domanda di esperti in sicurezza, conformità, governance e amministrazione dei dati".

Sebbene gli sviluppatori abbiano tradizionalmente passato la responsabilità della sicurezza a professionisti della sicurezza dedicati, la necessità per gli sviluppatori di salvaguardare il proprio codice continua a crescere. Consideralo una nicchia inestimabile e in crescita da riempire.

  • Proteggi il tuo codice: 17 suggerimenti di sicurezza per gli sviluppatori
  • Come ripensare la sicurezza per il nuovo mondo dell'IT