Article original : The 2020 Stack Overflow Developer Survey – 65,000 Devs Share Their Salaries, Top Programming Languages, and More

Stack Overflow vient de publier les résultats de son enquête 2020 menée auprès de plus de 65 000 développeurs.

Tout comme pour les enquêtes précédentes de Stack Overflow, j'ai épluché leurs résultats et je les ai résumés pour vous, en y ajoutant ma propre analyse personnelle en tant que développeur et enseignant.

Cet article vous donnera un aperçu de ce à quoi ressemble la profession de développeur logiciel en 2020.

Notez que dans cet article, je vais me concentrer uniquement sur les résultats de l'enquête provenant de développeurs professionnels – et non sur les étudiants ou les autres personnes qui n'ont pas encore commencé à travailler en tant que développeurs.

Si vous souhaitez en savoir plus sur les personnes qui débutent dans le domaine du développement logiciel, je vous recommande de consulter également la dernière enquête de freeCodeCamp sur les nouveaux codeurs menée auprès de 31 000 développeurs.

Notez également que j'attends que Stack Overflow rende public l'intégralité du jeu de données des réponses à l'enquête (ils le font généralement quelques semaines après la publication du résumé des résultats). Une fois cela fait, j'ajouterai un lien ici, et je proposerai peut-être des visualisations de données supplémentaires.

Pour cet article, je partage les visualisations de données officielles de Stack Overflow, accompagnées de ma propre analyse de celles-ci et de leur importance.

Tout d'abord, cet article couvrira la démographie : l'âge, le parcours éducatif et l'ancienneté dans le code.

Deuxièmement, je passerai en revue les outils que les développeurs utilisent le plus souvent, et ceux qui les enthousiasment le plus.

Enfin, j'aborderai le salaire des développeurs et la satisfaction au travail.

Quel est l'âge moyen d'un développeur logiciel professionnel ?

La plupart des développeurs professionnels ont entre la fin de la vingtaine et le début de la trentaine. Mais comme nous le verrons, les développeurs indiens (qui sont très nombreux) font baisser considérablement l'âge moyen.

Image Les développeurs ont tendance à être plus jeunes, avec environ 46 % d'entre eux ayant la vingtaine.

Mais contrairement à la croyance populaire, le code n'est pas seulement un jeu de jeunes. (J'ai fait de mon mieux pour dissiper ce mythe). 1 développeur sur 20 est âgé de 50 ans ou plus.

Les développeurs américains ont tendance à être plus âgés que les développeurs d'autres pays, avec un âge moyen de près de 34 ans.

Image Les développeurs américains sont en moyenne les plus âgés, suivis par les développeurs du Royaume-Uni et du Canada. Les développeurs indiens n'ont, en moyenne, que 26 ans.

Les Américains semblent également commencer à coder plus tard dans la vie que dans d'autres pays, et n'ont codé en moyenne que pendant environ 16 ans – ce qui signifie que la plupart d'entre eux n'ont commencé à coder qu'après le lycée.

Image Les Australiens ont le plus grand nombre d'années d'expérience en programmation, avec près de 17 ans en moyenne.

Et cette expérience supplémentaire en programmation fait une grande différence pour la carrière.

Les managers et les cadres ont tendance à avoir 14 ans ou plus d'expérience en programmation.

Image Le nombre d'années d'expérience professionnelle en programmation, par description de poste.

Même pour les développeurs front end et les développeurs full stack – les deux intitulés de poste les plus courants pour les nouveaux développeurs – les gens ont en moyenne plus de 8 ans d'expérience en programmation.

Gardez à l'esprit que beaucoup de gens sont parfaitement heureux dans ces rôles et y restent pendant des années. Cela ne signifie donc pas que le développeur moyen a 8 ans d'expérience en programmation lorsqu'il décroche son premier emploi de développeur full stack.

La plupart des développeurs professionnels ont en réalité commencé à apprendre à coder il y a entre 5 et 14 ans :

Image Nombre d'années écoulées depuis que les développeurs professionnels ont appris à coder pour la première fois.

Quel est le parcours éducatif de la plupart des développeurs professionnels ?

Environ 75 % des développeurs ont terminé un diplôme universitaire de premier cycle, et beaucoup d'entre eux ont également obtenu un diplôme de deuxième ou troisième cycle.

Image

3 % des développeurs professionnels ont arrêté leurs études après avoir obtenu un diplôme de niveau bac+2 (associates degree), et environ 17 % des développeurs n'ont aucun diplôme universitaire.

Cela m'amène à deux points importants :

  1. Si vous n'êtes pas allé à l'université, vous n'êtes pas seul. Beaucoup de développeurs professionnels n'y sont pas allés.
  2. Mais la plupart des développeurs professionnels sont allés à l'université. Réfléchissez-y donc à deux fois avant d'essayer de faire comme Bill Gates et d'abandonner vos études pour lancer votre propre startup.

Si vous allez à l'université, vous voudrez presque certainement vous spécialiser en informatique (computer science). C'est de loin la spécialité la mieux rémunérée aux États-Unis, et c'est aussi la plus courante chez les développeurs professionnels.

Cette année, Stack Overflow a décidé de regrouper les spécialités de génie logiciel et de génie informatique avec l'informatique. Mais au cours des 8 dernières années, l'informatique a toujours été de loin la spécialité la plus courante.

Image Statistiquement parlant, une spécialisation en informatique est la voie la plus sûre vers une carrière de développeur logiciel.

Pourtant, il est passionnant de voir combien d'autres spécialités sont représentées ici. 4,4 % des développeurs viennent des sciences naturelles, 3,6 % des mathématiques, environ 5 % des lettres et des beaux-arts, et il y a même un bon mélange de spécialités en sciences de la santé.

De quelles régions proviennent les répondants à l'enquête ?

Image Une carte des répondants à l'enquête. Plus le cercle est grand, plus il y a de répondants.

Selon Stack Overflow, la répartition régionale des répondants est la suivante :

+-------------------+-----------+
|      Région       | Réponses  |
+-------------------+-----------+
| Europe            |    24 688 |
| Amérique du Nord  |    15 570 |
| Asie              |    16 400 |
| Amérique du Sud   |     3 070 |
| Afrique           |     2 709 |
| Australie/Océanie |     1 570 |
+-------------------+-----------+

Combien de répondants étaient des femmes ?

Seulement 7,7 % des répondants qui étaient des développeurs professionnels se sont identifiés comme des femmes. Mais sur une note positive, ce chiffre est en hausse par rapport aux 7,5 % de 2019.

Image 91,7 % des répondants qui étaient des développeurs professionnels se sont identifiés comme des hommes.

Quel pourcentage de développeurs vivent avec des différences physiques ou mentales ?

Un certain nombre de développeurs sont malvoyants ou complètement aveugles. Je connais plusieurs personnes dans la communauté freeCodeCamp qui écrivent du code à l'aide d'outils de lecteurs d'écran. Et il semble que beaucoup de gens dans la communauté Stack Overflow le fassent aussi.

Image 1,1 % des répondants étaient aveugles ou avaient des difficultés de vision.

Et environ 1 répondant sur 5 vivait avec une différence de santé mentale ou autre :

Image L'anxiété et les troubles de l'humeur sont courants chez les développeurs. De plus, 2,3 % sont autistes ou se situent sur le spectre autistique.

Outils et technologies : le langage de programmation le plus utilisé est JavaScript

Image Près de 70 % des développeurs professionnels ayant répondu à l'enquête Stack Overflow 2020 ont codé en JavaScript.

JavaScript est la technologie la plus utilisée depuis que Stack Overflow a commencé son enquête annuelle. Ce résultat n'est donc pas très surprenant.

Cela dit, il y a des changements intéressants. Dart semble progresser avec l'introduction de Flutter pour le développement d'applications mobiles.

Kotlin a connu une croissance assez rapide en tant qu'alternative pour le développement Java.

Et Python semble être plus en forme que jamais, comme nous le verrons un peu plus tard.

Le langage de programmation le plus apprécié par les développeurs

Rust est le langage de programmation le plus apprécié des développeurs depuis 4 ans. Ce langage haute performance, qui vient de fêter ses 5 ans ce mois-ci, est massivement utilisé par l'équipe de Mozilla Firefox.

Image 86 % des développeurs ont soit commencé à expérimenter Rust, soit souhaitent l'utiliser à l'avenir.

TypeScript – une version de JavaScript statiquement typée – possède également une base de fans passionnés et a été le deuxième langage le plus apprécié.

Le langage de programmation que les développeurs souhaitent apprendre ensuite

Les développeurs qui travaillent déjà avec d'autres langages de programmation sont principalement intéressés par l'apprentissage de Python, JavaScript, Go et TypeScript.

Image 30 % des développeurs n'ont pas encore utilisé Python mais souhaitent le faire, suivis par 18,5 % de développeurs qui veulent se lancer dans JavaScript.

La base de données préférée des développeurs

Image Redis, la structure de base de données en mémoire pour le stockage de paires clé-valeur, est la base de données la plus appréciée. 66,5 % des développeurs l'ont soit utilisée, soit souhaitent l'utiliser sur un futur projet. PostgreSQL – la base de données relationnelle populaire – arrive juste derrière.

Et en ce qui concerne les bases de données que les développeurs souhaitent le plus apprendre :

Image MongoDB est la base de données la plus convoitée, avec 19 % des développeurs exprimant leur intérêt pour l'utiliser sur leur prochain projet. PostgreSQL suit de près avec 15,6 %.

La plateforme préférée des développeurs

Linux est la plateforme la plus appréciée, avec 76,9 % des développeurs qui l'utilisent ou expriment leur intérêt pour l'utiliser à l'avenir.

Image Linux l'emporte avec un solide 77 %.

Docker et Kubernetes – bien qu'ils ne soient pas des systèmes d'exploitation – sont également des plateformes populaires pour construire des applications. En termes de plateformes cloud, AWS était plus populaire qu'Azure, qui était lui-même plus populaire que Google Cloud Platform et IBM Cloud.

En ce qui concerne l'enthousiasme des développeurs pour les plateformes, Docker arrive en tête avec 24,5 % des développeurs souhaitant l'utiliser pour un futur projet. L'intérêt pour AWS était également très élevé :

Image Près d'un quart de tous les développeurs souhaitent apprendre Docker.

Quel système d'exploitation la plupart des développeurs utilisent-ils ?

En 2020, près de la moitié (46 %) des développeurs utilisent toujours Windows comme système d'exploitation de bureau principal.

MacOS et Linux sont presque à égalité pour la deuxième place.

Image Près de la moitié de tous les développeurs utilisent Windows comme système d'exploitation principal sur leur ordinateur de bureau ou portable.

Une petite minorité d'anticonformistes utilisent BSD. Si vous voulez en savoir plus à ce sujet, voici un aperçu rapide de BSD et de ses avantages.

Les meilleurs frameworks, bibliothèques et outils de développement

Node.js est à nouveau l'outil (hors langage, système d'exploitation et base de données) le plus largement utilisé.

Image Plus de la moitié des répondants utilisent Node.js. Environ un tiers utilise la stack Microsoft .NET.

Les outils d'apprentissage automatique (machine learning) sont également de plus en plus utilisés cette année. Un certain nombre de développeurs utilisent TensorFlow, Pandas et PyTorch.

Et cela peut en surprendre certains, mais le framework / la bibliothèque web le plus utilisé en 2020 est toujours jQuery.

Image jQuery est en tête, suivi de près par React. Angular n'est pas très loin derrière.

Il existe un nombre absurde de sites web anciens qui utilisent encore jQuery, même si de nombreux développeurs aimeraient s'en débarrasser.

Si vous essayez de sevrer vos sites web de jQuery, ce site vous montre comment reproduire les fonctionnalités de jQuery en utilisant du JavaScript pur (vanilla).

Les autres points majeurs à retenir de ce graphique :

  • React a connu une croissance constante.
  • Vue.js et Angular ne sont pas près de disparaître. Ils restent des frameworks front end largement utilisés.

Comment les développeurs choisissent-ils leurs outils ?

C'était une nouvelle question dans l'enquête Stack Overflow de cette année : comment les développeurs recherchent-ils de nouveaux outils et décident-ils de les utiliser ?

L'approche la plus populaire : s'il y a un essai gratuit, il suffit d'essayer.

Image 77 % des développeurs essaieront un outil s'il propose un essai gratuit. 68 % demanderont l'avis de leurs collègues développeurs sur un outil. Et seulement 30 % des développeurs se fient aux sites d'avis.

Cela dit, la plupart des développeurs ne se sentent pas très puissants pour déterminer quels outils leur équipe finira par utiliser.

Image 57 % des développeurs ont déclaré avoir au moins une certaine influence sur les décisions relatives aux outils, et 43 % des développeurs ont déclaré avoir peu ou pas d'influence sur les outils que leur équipe finira par adopter.

Je soupçonne qu'une des raisons pourrait être que les grandes entreprises ont souvent des Directeurs des Systèmes d'Information (DSI) qui prennent les décisions d'achat de licences logicielles d'entreprise au niveau institutionnel.

Cela dit, le fait que 18 % des développeurs estiment avoir "une grande influence" est encourageant. Ce chiffre est probablement beaucoup plus élevé qu'il ne l'aurait été il y a 10 ans.

Comment les développeurs utilisent différentes technologies en tandem

L'une des parties les plus intéressantes de l'enquête Stack Overflow de cette année est cette visualisation de données, qui montre les outils que les développeurs associent le plus couramment à d'autres outils.

Voici les clusters. La taille de chaque cercle correspond à la proportion de répondants à l'enquête qui utilisent l'outil :

Image Ce graphe de réseau montre les relations entre l'utilisation de différents outils. On peut voir émerger plusieurs écosystèmes distincts.

Il n'est pas surprenant que Ruby et Rails aient tendance à être utilisés ensemble, ou que les développeurs .NET aient tendance à développer sur des machines Windows et le cloud Azure.

Mais nous pouvons également faire quelques observations intéressantes ici. Le fait que MySQL soit plus étroitement associé à PHP, par exemple, rappelle que la stack LAMP (Linux, Apache, MySQL, PHP) est toujours une chaîne d'outils largement utilisée.

Comparez cela avec MongoDB, qui semble être le plus largement utilisé avec les outils de l'écosystème JavaScript.

Angular a adopté TypeScript en 2015, et il est désormais plus couramment associé à TypeScript qu'à JavaScript.

Dart a commencé comme un outil de développement web chez Google. Plutôt que d'être incorporé dans Angular, il est désormais plus couramment associé au développement d'applications mobiles, grâce à la popularité croissante du framework Flutter.

Dans le coin supérieur gauche, nous avons également un aperçu des outils que les ingénieurs DevOps et Site Reliability Engineering utilisent le plus. Nous pouvons même voir le chevauchement avec l'ensemble des domaines de la science des données et de l'apprentissage automatique.

Les conclusions que je tire de ce graphique sont peut-être trop larges. J'ai hâte de plonger dans le jeu de données complet de Stack Overflow une fois qu'ils l'auront publié, pour voir si les données confirment ces observations.

À quelle fréquence les développeurs apprennent-ils de nouvelles technologies ?

Les développeurs professionnels adoptent souvent de nouveaux outils. Près des ¾ d'entre eux semblent apprendre au moins une nouvelle technologie chaque année.

Image 35 % des développeurs apprennent une nouvelle technologie tous les quelques mois. C'est beaucoup plus rapide que dans la plupart des professions, où la formation professionnelle continue peut ne représenter que quelques jours d'apprentissage par an.

Vie professionnelle : quel pourcentage de développeurs sont à leur compte ?

Une vaste majorité de développeurs professionnels travaillent pour un employeur. Moins de 10 % d'entre eux étaient à leur compte ou travaillaient en tant que freelances ou prestataires lors de l'enquête de février 2020.

Notez également qu'un répondant sur 8 était étudiant, mais même certains de ces étudiants se sont identifiés comme développeurs professionnels. Ces étudiants ont peut-être obtenu des stages ou même des emplois de développeur à temps plein tout en terminant leurs études.

Image 83 % des développeurs professionnels travaillent dans une organisation.

La plupart des développeurs travaillent dans des petites ou moyennes entreprises (PME). Seulement environ 35 % d'entre eux travaillent dans des entreprises de plus de 500 employés.

Image Près des 2/3 des développeurs travaillent dans des entreprises de moins de 500 employés, et seulement 13,9 % travaillent dans de grandes entreprises.

Pour donner une perspective, parmi les entreprises logicielles FAANG, Google, Facebook, Amazon et Apple comptent toutes plus de 10 000 employés. Netflix comptait un peu moins de 10 000 employés en 2019, et en compte probablement plus aujourd'hui. Microsoft, qui n'est pas inclus dans les FAANG pour une raison quelconque, compte également plus de 10 000 employés.

Mon point est que toutes ces entreprises logicielles de "renom" et leurs pairs n'emploient qu'environ 14 % des développeurs. La plupart des développeurs travaillent dans des entreprises dont vous n'avez pas entendu parler. Beaucoup ne travaillent même pas dans des entreprises technologiques, mais plutôt dans des banques, des hôpitaux et des administrations locales. En 2020, presque toutes les entreprises du Fortune 1000 ont des ingénieurs logiciels dans leur personnel.

Moins de la moitié des répondants considéraient le processus d'onboarding des nouveaux développeurs de leur entreprise comme "bon".

Mais environ 65 % d'entre eux étaient satisfaits de leur travail.

Image Près d'un tiers étaient "très satisfaits".

La principale considération qui pousse les développeurs à chercher un nouvel emploi ? L'argent. Pas de grande surprise ici.

Mais ce qui est surprenant, c'est que le désir de travailler avec de nouvelles technologies arrive en deuxième position – devant les opportunités de croissance et de leadership et l'équilibre vie professionnelle/vie privée.

Image "Problèmes avec les coéquipiers" et "problèmes avec la direction de mon entreprise" étaient des raisons relativement peu courantes de vouloir partir. Cela semble suggérer que la plupart des développeurs recherchent des opportunités plutôt que de fuir des lieux de travail malheureux.

Et en ce qui concerne la satisfaction au travail, "les langages, frameworks et autres technologies avec lesquels je travaillerais" était la considération principale pour la plupart des développeurs. Mais... seulement pour les hommes.

Image

Pour les 3 694 femmes ayant répondu à l'enquête, "l'environnement de bureau et la culture d'entreprise" était la considération la plus importante. Les technologies avec lesquelles elles travailleraient étaient une considération tertiaire.

Image

Il existe également d'autres différences. La diversité était une considération beaucoup plus importante pour les femmes.

Quel est le salaire moyen d'un développeur en 2020 ?

Voici une visualisation de données vraiment intéressante tirée du rapport. L'axe Y représente le salaire médian, et l'axe X représente les années d'expérience en programmation. Étudiez-le un instant :

Image

Si vous voulez obtenir un salaire élevé plus tôt dans votre carrière, il semblerait que le DevOps et le Site Reliability Engineering soient vos tickets d'or.

Mais avant de vous précipiter pour lire les pages man de Linux, je m'en voudrais de ne pas préciser : tous les emplois ici se situent entre 7 et 12 ans d'expérience professionnelle en programmation.

Une erreur que je vois souvent les gens commettre est de se spécialiser prématurément. Votre premier emploi de développeur a peu de chances d'être celui d'ingénieur DevOps. Très probablement, ce sera en tant que développeur full stack. Vous vous spécialiserez sur le tas à partir de là, selon les tâches que vos patrons vous confieront.

Mais ce graphique est un guide utile, en raison du volume considérable de réponses et de la signification statistique qui en résulte. Et cela peut vous donner des idées sur les types de responsabilités d'équipe de développement que vous devriez demander à votre patron.

Gardez également à l'esprit que ces chiffres sont mondiaux. Voici la différence entre les salaires mondiaux et les salaires ici aux États-Unis, qui est traditionnellement le marché des développeurs le mieux payé au monde.

Tout d'abord, les salaires mondiaux pour différents rôles, basés sur 34 279 réponses à l'enquête (en dollars américains) :

Image Le management reste la description de poste la mieux rémunérée représentée ici, le SRE arrivant en deuxième position.

Voici maintenant les salaires aux États-Unis pour différents rôles, basés sur 8 006 réponses :

Image Le management et le SRE sont toujours les emplois les mieux payés aux États-Unis.

Les développeurs américains gagnent une prime de 60 000 $ par rapport à leurs homologues non américains dans tous les domaines.

Une chose que vous noterez en regardant ces graphiques : les développeurs back end aux États-Unis semblent gagner en moyenne environ 8 000 $ de plus que les développeurs full stack, mais les développeurs full stack gagnent légèrement plus en dehors des États-Unis.

Je ne sais pas exactement pourquoi, mais je suppose que c'est parce que l'industrie logicielle américaine est plus ancienne que dans la plupart des autres pays. Elle présente donc un degré plus élevé de spécialisation des postes. Comme le développement full stack est un sur-ensemble du développement back end, bon nombre des développeurs full stack d'aujourd'hui se spécialiseront sur le tas et deviendront les développeurs back end de demain.

Ce sont tous mes points marquants de l'enquête 2020 de Stack Overflow auprès des développeurs

Merci de m'avoir lu. Si vous avez le temps, vous pouvez lire l'intégralité des résultats de l'enquête.

Par le passé, Stack Overflow a rendu publics ses jeux de données d'enquête, donc lorsque cela se produira, les gens découvriront beaucoup plus d'informations.

Que pensez-vous de ces résultats d'enquête ? Ai-je manqué des révélations majeures ? Si oui, n'hésitez pas à me le dire sur Twitter.