Pour être plus précise la méthodologie de SlashData s’appuie sur deux piliers :
- Le nombre de développeurs ou indicateurs directs de leur activité, mesurés de manière fiable: comptes Github et référentiels, comptes Stack Overflow, comptes npm et statistiques de l'emploi aux États-Unis et dans l'Union européenne.
- Les données de son enquête auprès des développeurs, c’est-à-dire la mesure le comportement des développeurs. SlashData a terminé 16 éditions de cette enquête à grande échelle et affirme toucher plus de 20 000 développeurs par édition.
« Nous sommes bien sûr conscients que d’autres estimations de la population de développeurs qui circulent sont plus élevées que la nôtre: plus de 20 millions et parfois 35, voire 60 millions de développeurs. Nous pensons que notre estimation, bien que conservatrice, est fortement étayée par des preuves de l’activité réelle des développeurs.
« La plupart des estimations des communautés de développeurs qui circulent sur Internet sont basées sur des pages (uniques) vues, des téléchargements, des adresses IP, etc. Tous ces éléments sont susceptibles d'avoir un effet multiplicateur, notamment en raison des tests de logiciels multimachines et multinavigateurs, du nettoyage fréquent des caches et des cookies pour les tests, des téléchargements répétés d'outils de développement et de l'automatisation du développement (par exemple, des serveurs de développement). Parfois, il n’est pas clair si les estimations reposent sur une base quelconque. Les chiffres que nous rapportons sont exclusivement basés sur ce que nous considérons comme des indicateurs directs de l'activité du développeur humain ».
Qui est considéré dans l'enquête sur les développeurs ?
La première chose que SlashData recherche est de savoir si un développeur est actif, c’est-à-dire s’il existe des preuves récentes de codage. Les gens ont peut-être écrit du code à un moment donné, mais sont ensuite passés à d'autres priorités dans leur vie. SlashData ne veut pas compter les anciens développeurs ou les développeurs inactifs.
Ensuite, pour obtenir un nombre significatif de développeurs, SlashData suppose que ceux-ci doivent être impliqués dans des projets de codage de grande envergure. Ceci est bien sûr un terme ambigu. « Cela exclut probablement les personnes occupant d'autres emplois techniques qui écrivent parfois un petit script d'automatisation, par exemple, mais inclut probablement les projets annexes ou ceux effectués comme des passe-temps dans lesquels les personnes investissent beaucoup d'heures de leur temps ».
À ce propos, SlashData précise que « nous comptons les développeurs qui codent uniquement comme passe-temps ou qui sont encore en train d’étudier le domaine, sans être professionnellement impliqué dans aucun domaine du software ».
Les données de son enquête au fil des ans sont assez cohérentes à ce sujet, les amateurs / étudiants purs représentant un peu moins du tiers des développeurs. SlashData estime qu'il y a 6 millions de développeurs amateurs / étudiants à la fin du quatrième trimestre de 2018, en plus des 12,9 millions de développeurs de logiciels professionnels.
Croissance de la population mondiale de développeurs
« Nous avons utilisé notre méthodologie actuelle pour produire des estimations de la population mondiale de développeurs pour les quatre derniers semestres. Chaque estimation a été produite indépendamment des autres. Nous avons trouvé une augmentation de la population de développeurs de 4,2 millions de développeurs depuis le milieu de 2017, soit une croissance annuelle d'environ 20%. Ce taux de croissance semble s'accélérer, même s'il ne repose que sur quelques périodes ».
Donnons un peu de contexte à cette estimation de la croissance. Plus de la moitié de la population mondiale utilise désormais Internet, soit plus du double du taux de pénétration d’il ya 10 ans. L'Union internationale des télécommunications estime qu'à la fin de 2018, 51,2% de la population mondiale, soit 3,9 milliards de personnes, utilisaient Internet. En 2008, 1,5 milliard de personnes seulement avaient accès à Internet. Alors que le nombre d'utilisateurs d'Internet dans les pays développés et en développement était similaire en 2008, il y a aujourd'hui près de trois fois plus d'utilisateurs d'Internet dans les pays en développement. Une grande partie de cette augmentation est due à la révolution des smartphones. Le nombre d'abonnements actifs au haut débit mobile a augmenté de plus de 10 fois, selon l'UIT.
Beaucoup de gens ont maintenant accès aux informations du monde qu’ils n’avaient pas auparavant. Cela inclut les ressources pédagogiques pour apprendre à développer. Devenir un développeur est désormais un cheminement de carrière réaliste pour des millions de personnes dans les pays en développement en particulier. Il ne manquera pas non plus de besoins locaux et de créneaux auxquels répondre. Dans les données de SlashData, la pénétration d'Internet par pays et le nombre de développeurs par rapport à la population sont effectivement corrélés.
Dans le même temps, la portée des logiciels dans les produits industriels et grand public augmente sans cesse. La technologie des smartphones et ses ramifications dans l’Internet des objets ont rendu l’informatique omniprésente, la poussant bien au-delà des frontières des PC et des serveurs. La technologie cloud a rendu l'accès à des ressources informatiques à grande échelle non seulement facile, mais incroyablement abordable.
« Il va sans dire que nous vivons une période de forte augmentation de la population mondiale de développeurs, comme nous le constatons dans nos estimations. Si nous extrapolons le taux de croissance actuel, nous pouvons nous attendre à voir au moins 21 millions de développeurs d'ici fin 2019 et éventuellement plus de 23 millions.
« À plus long terme, en partant de l'hypothèse de croissance démographique, de la pénétration de l'Internet et d'un pourcentage de “développeurs par habitant” correspondant à nos données actuelles, nous pouvons nous attendre à ce que le nombre de développeurs augmente de plus du double dans les 10 prochaines années, pour atteindre environ 45 millions en 2030. Le taux de croissance annuel implicite serait de 8,2%, ce qui est nettement inférieur à la croissance actuelle ».
Grandes communautés de développeurs
En fonction des secteurs
La première chose à noter avec ces estimations sectorielles est qu’elles représentent bien plus que la population mondiale de développeurs. En effet, seule une petite minorité de développeurs intervient dans un seul secteur.
Les développeurs peuvent être impliqués dans plusieurs secteurs de manière professionnelle ou, le plus souvent, dans certains secteurs de manière professionnelle et dans un peu plus de domaines en amateurs, travaillant sur des projets parallèles, ou en tant qu'étudiants. En moyenne, les développeurs sont impliqués dans près de cinq secteurs simultanément.
Le secteur mainstream actuel est le Web: près de 17 millions de développeurs créent des applications Web; 13,6 millions développent des services backend, dont une majorité utilise la technologie de cloud public. Parmi les autres secteurs mainstream figurent les applications mobiles et desktop avec respectivement 13,1 et 12,3 millions de développeurs. Le desktop est le secteur disposant de la croissance la plus lente, mais il connaît toujours une croissance à deux chiffres sur un an.
Langages de programmation
Le choix du langage de programmation revêt une importance capitale pour les développeurs, car ils souhaitent que leurs compétences soient actualisées et commercialisables. Les langages sont un sujet de débat apprécié et le noyau de certains des communautés de développeurs les plus fortes. Ils comptent également pour les éditeurs d’outils, car ils veulent s’assurer qu’ils fournissent les SDK les plus utiles.
Dans son enquête, SlashData a régulièrement interrogé les développeurs sur leur utilisation des langages de programmation dans neuf domaines de développement, ce qui lui a fourni des informations riches sur les utilisateurs de chaque langage ainsi que le contexte dans lequel ces langages sont utilisés.
JavaScript est et reste le roi des langages de programmation en nombre d’utilisateurs. Sa communauté de 11,7 millions de développeurs est la plus grande de tous les langages. En 2018, 2,5 millions de développeurs ont rejoint la communauté : la plus forte croissance en nombre absolu qui est par la même occasion supérieure à l'ensemble de la population de développeurs de Swift, Ruby ou Kotlin, entre autres. Même dans les secteurs de logiciels où le langage Javascript est moins populaire, comme l’apprentissage automatique ou le code intégré à l’IdO, plus du quart des développeurs l’utilisent pour leurs projets.
Python a atteint les 8,2 millions de développeurs actifs et dépasse maintenant Java en termes de popularité. C'est la deuxième communauté en pleine croissance en termes absolus avec 2,2 millions de nouveaux développeurs Python nets en 2018. La montée en puissance de l'apprentissage automatique est un facteur déterminant de sa popularité. Pas moins de 69% des développeurs en apprentissage automatique et des data scientistes utilisent maintenant Python (comparé à 24% d’entre eux utilisant R).
Java (7,6 millions de développeurs actifs), C # (6,7 millions) et C / C ++ (6,3 millions) sont assez proches en termes de taille de leur communauté et sont des langages bien établis. Cependant, tous trois croissent maintenant à un rythme plus lent que la population générale de développeurs. Bien qu'ils ne stagnent pas exactement, ils ne sont plus les premiers langages que les (nouveaux) développeurs recherchent.
Source : rapport
Et vous ?
Ces chiffres vous semblent-ils réalistes ?
Que pensez-vous de la méthodologie ?
Le fait de ne prendre en compte que des développeurs actifs a-t-il du sens selon vous ? Pourquoi ?
Qu'est-ce qui peut, selon vous, expliquer les différentes observations sur les communautés au niveau des secteurs, mais également des langages ?
Figurez-vous parmi les développeurs logiciels actifs ? Si oui, dans quelle catégorie (professionnel ou amateur) ?
Sinon, êtes-vous un développeur logiciel inactif ? Quelles sont les raisons qui vous ont poussé à abandonner ?