
J'ai eu l'occasion de toucher aux résultats du rapport sur les compétences des développeurs HackerRank 2018, basé sur une enquête auprès de plus de 39000 développeurs du monde entier. Sous la coupe, une brève explication de ce qui vaut la peine d'être appris et de ce que vous devez rechercher si vous voulez soudain que la matrice vous emmène une fois dans votre monde numérique du futur.
Formation et éducation
Un développeur sur quatre qui a participé à l'
étude HackerRank a commencé à coder bien avant qu'il ne soit officiellement autorisé à conduire une voiture en vertu de la loi.
Il n'est jamais trop tôt ni trop tard pour commencer la programmation. Sur les quelque 39 000 développeurs interrogés à tous les niveaux professionnels, plus du quart ont écrit leur premier code avant l'âge de 16 ans.
Pendant ce temps, parmi tous les développeurs qui ont commencé à coder après 26 ans, 36% sont maintenant des développeurs seniors ou même de niveau supérieur qui progressent rapidement dans leur carrière.

La révolution PC a provoqué des ambitions uniques chez les enfants des années 70. Contrairement aux générations suivantes, si les enfants des années 70 voulaient voir des technologies innovantes, ils devraient les créer eux-mêmes - ils n'avaient pas d'autre choix. Il n'y avait pas de ressources étendues pour leur apprendre à créer des logiciels. Près de la moitié de tous les développeurs (47%) âgés de 45 à 54 ans ont commencé à coder avant 16 ans. Pendant ce temps, les développeurs entre 18 et 24 ans sont de loin les moins susceptibles de commencer à coder jusqu'à 16 (seulement 20%).
Les développeurs âgés de 45 à 54 ans ont été parmi les premiers à mettre la main sur des PC relativement puissants tels que Acorn Archimedes, TRS-80, Commodore 64 et Apple II. Dans des conditions d'accès limité à l'éducation formelle, les jeunes qui ont participé à la révolution informatique avaient un désir inhabituellement fort d'apprendre à programmer de manière indépendante.

Le Royaume-Uni possède un leadership dans l'éducation des jeunes codeurs. Sur les 17 pays représentés dans l'enquête, la patrie de Sherlock Holmes et du football se démarque avec la plus forte proportion de jeunes développeurs qui ont commencé à coder à l'âge de 5 à 10 ans. Il y a une explication très raisonnable à cela. L'Angleterre a été le premier pays à moderniser son programme d'études de telle sorte que les enfants de moins de 5 ans doivent désormais suivre des cours de programmation.
Le gouvernement a cité à plusieurs reprises le fait que la connaissance précoce du codage est une étape importante pour ouvrir la porte à une carrière dans les logiciels et comprendre les principes de la pensée informatique et des logiciels qui affectent la vie quotidienne.
Apprenez, étudiez et étudiez à nouveau!Il semble que chaque année, un nouveau langage de programmation, un nouveau framework ou une nouvelle bibliothèque soit distribué via les blogs des développeurs. L'auto-éducation est la norme pour les développeurs de tous âges. Malgré le fait que 67% des développeurs ont des diplômes universitaires, environ 74% ont déclaré qu'ils étaient au moins partiellement autodidactes.
En moyenne, les développeurs connaissent 4 langages de programmation et veulent en apprendre 4 de plus. Le degré de soif d'apprendre varie selon la génération - les jeunes développeurs de 18 à 24 ans prévoient d'apprendre 6 langues, tandis que les plus de 35 ans prévoient d'en apprendre 3 seulement.
Étant donné que la programmation est axée sur la recherche indépendante visant à résoudre de nouveaux problèmes, l'auto-éducation est une partie importante d'un développeur réussi. Au moment de choisir quoi étudier ensuite, le meilleur principe directeur est de vous mettre dans la même discipline et d'apprendre des outils comme moyen de croissance. Les outils changeront toujours. En fin de compte, c'est la curiosité et un véritable intérêt pour les programmes qui devraient stimuler le désir d'apprendre de nouveaux outils et de s'adapter à l'évolution du paysage technologique.

Une nouvelle génération pour l'auto-apprentissage au lieu des livres préfère YouTube. Les développeurs apprécient les conseils étape par étape de collègues qui sont venus, ont vu et surmonté les défis auxquels ils étaient confrontés.
La nature même de l'apprentissage évolue. Les générations plus jeunes affluent sur YouTube, tandis que les générations plus âgées préfèrent les livres pour acquérir de nouvelles compétences.
Les deux ont des avantages uniques. YouTube fournit un paradigme d'apprentissage systématique, vous permettant de réaliser des progrès structurés et durables en imitant les programmes universitaires, à la seule différence que vous pouvez le faire à votre propre rythme. Un autre avantage est l'adaptabilité. Alors que YouTube peut vous offrir un flux inépuisable d'avancées logicielles flexibles, les didacticiels sont une sorte de relique intemporelle des fondamentaux de CS. En tout cas, il est clair que nous sommes au bord de l'évolution de l'éducation.
Les développeurs apprennent les langues recherchées par les employeursBien que de nouveaux langages apparaissent souvent, la chose la plus importante pour les développeurs est de maîtriser les principaux langages, y compris les plus obsolètes. Dans l'ensemble, les exigences les plus courantes des employeurs aujourd'hui sont: JavaScript, Java, Python, C ++ et C.

Si nous comparons les langues les plus demandées par les employeurs avec les langues les plus courantes que les développeurs connaissent, il n'y a pas d'écart. Java, JavaScript, C et C ++ et Python sont tous en tête de liste des langages que les développeurs connaissent.
Il existe de légères différences dans les langues les plus populaires par industrie. Java, par exemple, est populaire dans le monde des services financiers depuis de nombreuses années. C domine le matériel en raison de ses performances, de l'API matérielle directe de bas niveau et de la disponibilité du compilateur sur de nombreuses plates-formes. Et C # est plus courant parmi les organisations gouvernementales.
JavaScript oriente!JavaScript est le seul langage suffisamment polyvalent pour créer des frontends, des backends, des extensions mobiles et de navigateur. Par conséquent, JavaScript contrôle Internet. Le plus souvent, les employeurs ont besoin de développeurs qui connaissent AngularJS, Node.JS et React.

Soit dit en passant, ces 3 cadres ont également le plus grand écart entre ce que les développeurs savent et ce que veulent les employeurs. React a la plus grande différence entre le pourcentage de développeurs qui connaissent la structure et le pourcentage d'employeurs qui recherchent des candidats avec cet ensemble de compétences. En d'autres termes, les développeurs ont aujourd'hui une excellente occasion d'apprendre à répondre aux demandes du marché et à fournir exactement les compétences dont les entreprises ont besoin.
Compétences demandées par les employeurs
Les compétences en résolution de problèmes sont presque unanimement les qualifications les plus importantes que les employeurs recherchent ... plus que la connaissance des langages de programmation, du débogage et de la conception de systèmes. Une démonstration de la pensée informatique et de la capacité de résoudre des problèmes complexes et importants est aussi précieuse (sinon plus) que les compétences techniques de base nécessaires pour travailler.

Ce que vous savez vraiment faire est plus important que ce qui se reflète dans votre CV. Il est communément admis que les recruteurs recherchent des diplômes dans des universités prestigieuses. Mais en fait, ils regardent ce que vous avez vraiment fait, et non où et comment vous avez étudié à l'école. La grande majorité des gestionnaires d'embauche ont déclaré qu'ils recherchaient des résultats vérifiés et confirmés de votre travail, des faits confirmant vos nombreuses années d'expérience et de projets / GitHub. Quelle que soit la taille de l'entreprise, 9 gestionnaires d'embauche sur 10 affirment que l'expérience et les années d'expérience - les deux qualifications - sont parmi les qualifications les plus populaires. Soit dit en passant, vos compétences pratiques sont plus importantes pour les petites entreprises. Les petites entreprises accordent plus d'importance à votre portefeuille de projets: 80% contre 66% dans les grandes entreprises.
Les qualifications qui soutiennent généralement un curriculum vitae (diplôme de prestige, niveau d'éducation, approbation des compétences ou certificats) occupent la place la plus basse parmi les entreprises qui se soucient le plus. Ces facteurs n'indiquent pas des qualifications prouvées. La seule qualification avec la note la plus élevée qui peut être facilement consultée à partir du curriculum vitae est «des années d'expérience», car l'expérience de travail et le portefeuille sont parfois corrélés avec ce qualificatif. Puisqu'il est plus difficile d'examiner les portefeuilles individuels sur une échelle, de nombreuses années d'expérience sont un signal alternatif basé sur les CV pour une excellence prouvée, bien que cela néglige complètement les performants qui ont grandi rapidement dans leurs rôles.

Les entreprises envisagent GitHub et des projets pour compléter les CV et mieux évaluer les compétences. Lorsque l'étude a filtré les données de rôle, il a été constaté que ceux qui occupaient des postes de niveau C, y compris les fondateurs, les CTO et les VP, apprécient les projets GitHub plus de plusieurs années d'expérience. Le prestige des diplômes avancés a perdu encore plus d'importance pour ces personnes.
Lorsque les développeurs rencontrent des personnes de niveau C, il y a plus de temps pour évaluer les compétences éprouvées en fonction des projets, des travaux antérieurs et du portefeuille.
Les développeurs affluent vers des langues qui sont devenues populaires auprès des géants de la technologieLorsque l'étude a analysé les langues avec le plus grand écart entre ce que les développeurs ne savent pas et ce qu'ils veulent en savoir plus: Go, Kotlin, Rust, Scala et Swift ont pris la plus haute place. Les développeurs individuels ont clairement tendance à suivre l'exemple des géants de la technologie de la Silicon Valley.
L'amour pour toujours!JavaScript est peut-être le langage le plus recherché par les employeurs, mais Python captive les développeurs de tous âges selon notre indice d'amour et de haine. Python est également le langage le plus populaire que les développeurs souhaitent apprendre dans leur ensemble, et une proportion importante le sait déjà.

Python est connu pour sa simplicité, sa lisibilité et la puissance des bibliothèques scientifiques. Il se développe également dans le cadre des cours d'initiation à l'informatique.
Il existe une tendance inhabituelle des générations parmi les nouveaux langages: les jeunes développeurs n'aiment pas les nouveaux langages (par exemple, Go, Kotlin et Scala) plus que les anciens développeurs. En fait, Go crée l'une des plus grandes lacunes. Les développeurs âgés de 18 à 24 ans ne s'en soucient pas, mais les 45-54 ans le considèrent comme l'une de leurs langues préférées. L'inverse est vrai à propos de JavaScript.
Node.js - nouveau et très préféréNode.js s'impose comme le framework le plus préféré de la plus grande part de développeurs. En tant que seule méthode pour le backend JavaScript, les règles Node.js. En ce qui concerne les frameworks frontaux, AngularJS et React sont à la mode ici. Mais il s'avère que cet amour est le plus courant parmi la jeune génération.

Attirer les talents
L'évaluation des compétences s'avère être le plus gros problème d'embauche, plus que le manque de talents.
Selon plus de 7 000 employeurs, les CV sont toujours le moyen le plus courant d'évaluer les développeurs aujourd'hui. Une étude a montré que 81% des gestionnaires d'embauche utilisent un curriculum vitae comme première étape du processus de sélection.
Lorsqu'on leur a demandé quel était le plus gros problème d'embauche, les mêmes gestionnaires d'embauche ont répondu que l'évaluation des compétences était leur problème numéro un, et non le manque de talent. Pendant ce temps, seulement 55% des développeurs ont déclaré que les CV reflétaient bien leurs capacités.
Équilibre travail-vieSi vous regardez une description d'un poste technique vacant, les RH allouent généralement une pile technique, des informations sur la mission, les tâches, les compensations et autres avantages. Autrement dit, tout pour inciter le développeur à répondre à la vacance. Cependant, comme le montre l’étude, cela vaut la peine de se concentrer sur d’autres choses.
Le numéro un dans la «liste de souhaits» des développeurs est une référence forte à l'équilibre entre le travail et la vie personnelle. Les gens considéraient l'équilibre entre le travail et la vie personnelle comme la caractéristique la plus souhaitable. Un peu plus que la croissance et la formation professionnelles, qui occupaient la deuxième place. Plus précisément, les Américains recherchent un équilibre entre le travail et la vie personnelle plus que les développeurs d'autres régions comme l'Asie et l'Europe.
L'équilibre entre le travail et la vie personnelle est le plus important pour les développeurs de 25 ans et plus, et il n'est pas surprenant que ce critère prenne une place moins importante pour les développeurs de 18 à 24 ans.
Horaire de travail flexibleIl est clair que l'équilibre entre le travail et la vie personnelle peut signifier des choses complètement différentes pour différentes personnes. C'est pourquoi les chercheurs se sont penchés sur le sujet de ce que les développeurs veulent vraiment.
Dans l'ensemble, l'équilibre entre le travail et la vie personnelle peut être maintenu par des horaires flexibles - les horaires de 10 h à 20 h sont courants.
Les développeurs veulent travailler pour des gestionnaires qui se concentrent sur le résultat et non sur le temps passé dans la chaise de bureau. Et les options à distance sont également utiles. Le travail à distance est un désir particulièrement fort pour les développeurs de 25 ans et plus, et les personnes entre 25 et 44 ans sont les plus fervents partisans de la fermeture des e-mails après les heures d'ouverture.
La croissance professionnelle est importante pour les étudiantsLa croissance professionnelle augmente en premier lieu où les étudiants recherchent du travail, et la rémunération passe également sensiblement du 3e pour les professionnels au 7e pour les étudiants. L'équilibre entre le travail et la vie personnelle est toujours important pour les étudiants, bien qu'il tombe du premier au second.
Les étudiants s'efforcent d'apprendre et de réaliser leur potentiel, donc à l'heure actuelle dans leur carrière, la priorité est donnée à l'équilibre entre le travail et la vie.
Pendant ce temps, le désir des professionnels de compenser l'équilibre entre le travail et la vie personnelle montre à quel point l'expérience pratique ouvre les yeux sur l'industrie. Parfois, cela vaut la peine de vous consacrer du temps, de la flexibilité et une tranquillité d’esprit générale.
MéthodologieHackerRank a mené une étude auprès des développeurs afin d'identifier les tendances en matière d'éducation, de compétences et de pratiques d'embauche. Au total, 39 441 développeurs professionnels et étudiants ont participé à l'enquête. L'enquête a été organisée par SurveyMonkey et HackerRank, qui ont recruté des répondants par courrier électronique via des communautés de médias sociaux professionnelles comptant plus de 3,2 millions de membres.