Les 13 compétences de développeur que vous devez maîtriser maintenant

Heavy pèse la couronne du roi développeur.

Oui, comme les logiciels mangent le monde, la demande de développeurs qualifiés reste élevée. Mais l'omniprésence des logiciels - du serveur au cloud en passant par l'assaut à venir des appareils portables et IoT - signifie des responsabilités bien plus grandes pour les ingénieurs en logiciel et la nécessité d'étendre constamment vos compétences.

Les entreprises recherchent désormais fréquemment quelqu'un qui soit à l'aise avec toutes les couches de la pile de développement, qui ait la capacité d'extraire des informations à partir d'ensembles de données massifs et qui puisse penser stratégiquement aux appareils à venir, tout en reconsidérant les anciens systèmes en utilisant les derniers langages et frameworks. Il suffit de ne pas savoir par où commencer.

Pour découvrir les compétences de développeur les plus recherchées cette année, nous avons contacté un mélange de recruteurs, de CTO, de PDG et d'autres cadres qui ont proposé leurs technologies indispensables à essayer, des stratégies à envisager et des compétences générales à maîtriser.

Si vous cherchez à dépoussiérer votre CV ou à mettre à jour vos compétences actuelles (vous devriez l'être), laissez-vous guider par notre ventilation des compétences les plus souhaitables et des besoins technologiques les plus courants.

Actualisez JavaScript

Ces jours-ci, les développeurs qui maîtrisent JavaScript ne peuvent pas se tromper, disent ceux que nous avons interrogés. La maîtrise de JavaScript est de loin la compétence la plus fréquemment recherchée par les dirigeants et les recruteurs.

«La plupart des développeurs ont déjà une idée des principaux mots-clés recherchés par les employeurs, après avoir examiné les sites d'emploi et les rapports de salaires comparatifs, tout en se préparant à un entretien d'embauche», déclare Sherif Abushadi, instructeur chez Dev Bootcamp. «JavaScript est le sujet de conversation de la ville, tout comme des dizaines de frameworks et de bibliothèques connexes créés par la communauté JavaScript.»

Que vous construisiez pour le bureau, le Web ou le mobile, «JavaScript s'est avéré être un ensemble de compétences hautement portable et précieux sur le marché actuel», déclare Todd Anglin, évangéliste en chef chez Progress Software.

Les ingénieurs ayant de solides bases en informatique et une connaissance d'une pile moderne ne chercheront pas de travail, déclare Mark Stagno, consultant principal pour la pratique de la technologie logicielle chez WinterWyman Search. «Il peut s'agir d'ingénieurs full-stack ou de développeurs centrés sur l'interface utilisateur qui connaissent JavaScript et une bibliothèque moderne comme AngularJS ou React», dit-il.

Abushadi ajoute que, bien que JavaScript soit roi, d'autres langages et approches populaires qui valent la peine de se plonger dans ces jours incluent Ruby, de concert avec le framework Ruby on Rails, et Python, en conjonction avec Django; les deux piles technologiques se sont révélées essentielles pour créer des applications Web évolutives.

  • Cours gratuit: Commencez avec AngularJS
  • Pratique avec 17 éditeurs JavaScript et IDE

Allez grand avec les données

Les projets de Big Data ont continué à prendre de l'ampleur l'année dernière, et rien n'indique que cela ralentisse dans les années à venir.

«Bien que le big data existe depuis des années, c'est une tendance qui est là pour rester», déclare Andrey Akselrod, co-fondateur et directeur technique de Smartling. «Les développeurs doivent avoir une connaissance approfondie des produits [d'intelligence d'affaires] et d'analyse, des outils d'apprentissage automatique et d'autres solutions qui transfèrent, stockent et regroupent de grandes quantités de données. Ce n'est qu'alors qu'ils pourront aider leurs organisations à stocker, interagir et analyser le Big Data pour prendre de meilleures décisions commerciales.

Le rythme de création des données est vertigineux, déclare John Piekos, vice-président de l'ingénierie chez VoltDB. Mais les opportunités le sont aussi.

«Les appareils mobiles et Internet des objets sont de plus en plus omniprésents dans le monde», déclare Piekos. «Les applications développées aujourd'hui exploitent des quantités incroyables de données et analysent et réagissent en temps réel. Les technologies qui capturent et agissent sur les données dès leur arrivée, telles que les solutions de streaming et les magasins de données en mémoire, deviennent des compétences incontournables à maîtriser. Et les technologies capables de stocker, gérer et analyser historiquement d'énormes quantités de données - pétaoctets et plus - seront des compétences qui serviront bien les développeurs pour la prochaine décennie. »

Pour les développeurs qui cherchent à ajouter la gestion des données à leur arsenal, des technologies telles que Hadoop, Spark, R et la variété de cadres d'apprentissage automatique qui émergent actuellement sont d'excellents points de départ.

  • Guide rapide: apprenez à analyser le Big Data avec R
  • Téléchargez la plongée approfondie de Hadoop

Maîtrisez la pile complète

De nombreuses grandes entreprises recherchent maintenant des développeurs full-stack qui se déplacent confortablement entre une variété de technologies et de plates-formes.

Ces ingénieurs «comprennent les implications des décisions techniques des couches de base du logiciel sur la couche de présentation», explique Hossein Rahnama, fondateur et directeur produit de la startup Flybits. «Ce sont de grands atouts car ils facilitent beaucoup le travail de leurs pairs et empêcheront la startup de développer des silos en suivant une prise de décision technique hiérarchique classique. Ils permettent aux équipes de rester petites et efficaces. Tirer parti de plateformes telles que Top Coder et Amazon Mechanical Turks sont également d'excellents moyens de s'engager dans des projets sympas. »

Bryan Reinero, promoteur des développeurs chez MongoDB, déclare qu'à l'avenir, les ingénieurs auront besoin d'un plus large éventail de compétences pour être efficaces: «Heureusement, augmenter le champ d'expertise est à la fois sain pour l'ingénieur et pour l'entreprise dans laquelle elle travaille.

Acheter dans devops

Certains gourous de la technologie pensent que les devops seront laissés pour compte alors que l'utilisation du cloud computing continue de croître au sein des entreprises. Non, dit Reinero de MongoDB.

«Les compétences Devops se démarquent clairement», déclare Reinero, «souvent exprimée par le dicton« Les ingénieurs responsables de l'écriture d'une application sont les mêmes ingénieurs qui maintiennent l'application en production ». Cela inclut la nécessité de briser les silos d'ingénierie afin que les ingénieurs comprennent comment leur code fonctionne en production et soient conscients des performances et de la stabilité pendant la phase de développement. »

Un meilleur accès aux perspectives d'emploi à chaud n'est pas la seule raison pour laquelle vous souhaitez ajouter des devops à votre CV; Les pratiques devops font simplement de vous un meilleur développeur et un collaborateur plus précieux, soutient Reinero.

«Les ingénieurs qui pensent en ces termes publieront un meilleur code plus rapidement et avec plus de confiance», déclare Reinero. «Les pratiques Devops améliorent également la cohésion des équipes et l'agilité opérationnelle. C'est le genre d'avantage qui permet à une entreprise d'accélérer en avance sur le peloton. »

  • Téléchargez le Devops Digital Spotlight

Diversifier

Les compétences que les entreprises recherchent aujourd'hui sont considérablement plus variées qu'il y a quelques années, déclare Stagno de WinterWyman Search: «Java et C # font toujours partie du marché, mais lorsque vous regardez les entreprises créées après la dernière récession, vous voyez une variété: Ruby on Rails, Python / Django, Node.js et l'émergence de langages de programmation fonctionnels, avec Scala le plus répandu.

«Nous commençons à voir certaines entreprises adopter également Go. Je ne crois pas que vous deviez trouver la `` bonne '' technologie à maîtriser, mais vous voulez vous assurer que vous êtes à jour, car il y a de mauvaises technologies à choisir qui vous mettront derrière la courbe comme le paysage est toujours en changeant."

  • 11 bases de données de pointe à explorer maintenant
  • 9 langages de programmation de pointe à apprendre maintenant

Utilisez la source

En particulier pour les pigistes, la possibilité de pointer vers votre code sur GitHub montre que votre travail a été mis à profit et revu par vos pairs.

«Travaillez sur des bibliothèques significatives et ouvrez-les pour démontrer une valeur instantanée aux employeurs potentiels», déclare Kiran Bondalapati, co-fondateur et directeur technique de ZeroStack, ajoutant que contribuer à des projets open source peut également aider à établir des références de collaboration.

Candace Murphy, responsable du recrutement au sein de la société de services de dotation Addison Group, déclare que les compétences .Net et Java sont toujours très demandées, mais «les tendances plus larges du développement open source sont en croissance. Nous constatons une augmentation des demandes de professionnels de l'informatique avec l'expérience JavaScript open source Ruby, Python, Node.js et AngularJS. Cette tendance est motivée par les entreprises qui s'éloignent des plates-formes traditionnelles qui exigent des frais de licence. »

Si les entreprises elles-mêmes explorent GitHub pour des technologies à ajouter à leurs piles, n'est-ce pas?

  • Guide rapide: 20 trucs et astuces pour les utilisateurs de Git et GitHub

Soyez agile et perfectionnez vos compétences en travail d'équipe

Le développement agile devrait faire partie du carquois de compétences des codeurs en 2016, déclare Greg Sterndale, co-fondateur de PromptWorks, une boutique de conseil en logiciels de Philadelphie spécialisée dans les applications Web et mobiles. Et restez simple: «Soyez humble et ayez faim. Familiarisez-vous avec les méthodologies agiles et lean - la capacité de décomposer les grands projets en petites histoires, de hiérarchiser, de s'adapter au changement et de fournir le plus de valeur. »

Étant donné que les commentaires sont importants dans un environnement agile, l'instructeur de Dev Bootcamp Abushadi insiste sur la nécessité de comprendre vos collègues ainsi que le projet: «La capacité de fournir des commentaires honnêtes, gentils et exploitables lorsque vous travaillez en équipe n'est vraiment possible que lorsque vous avez de l'empathie et la capacité de donner - et de recevoir - des commentaires est le plus souvent la principale différence entre les projets réussis et non réussis. »

  • Le guide de survie en entreprise du programmeur professionnel

Soyez en sécurité

Selon Addison's Murphy, les entreprises qui ont subi des failles de sécurité l'année dernière savent déjà ce qu'elles veulent et quelles compétences leur seront les plus utiles en 2016.

«Ils adoptent des approches plus proactives pour accroître la sécurité, non seulement au sein de leur service informatique, mais à tous les niveaux», déclare Murphy. «En conséquence, nous verrons un changement dans les technologies les plus demandées cette année.

Les experts ont noté la demande accrue de sécurité du réseau, en particulier la sécurité adaptative des applications, ainsi que la sécurité du cloud.

«Avec l'adoption croissante du cloud, la sécurité et la conformité sont de plus en plus préoccupantes pour les entreprises», déclare Aashish Kalra, président de Cambridge Technology Enterprises. «Cela a entraîné une augmentation de la demande d'experts en sécurité, conformité, gouvernance et administration des données.»

Bien que les développeurs aient traditionnellement passé la responsabilité de la sécurité à des professionnels de la sécurité dédiés, le besoin pour les développeurs de protéger leur code ne cesse de croître. Considérez-le comme un créneau de plus en plus précieux à combler.

  • Protégez votre code: 17 conseils de sécurité pour les développeurs
  • Comment repenser la sécurité pour le nouveau monde de l'informatique