SlashData informe que la 23e édition de l'enquête mondiale "Developer Nation" s'est déroulée de juin à août 2022 et a touché plus de 26 000 développeurs dans 163 pays. Ce rapport se penche sur les principales tendances des développeurs pour le troisième trimestre 2022 et au-delà. SlashData ajoute : « sauf indication contraire dans le rapport, par "développeurs", nous entendons toute personne qui s'identifie comme étant impliquée dans l'écosystème du développement logiciel, y compris les personnes occupant des rôles commerciaux (par exemple, les chefs de produit, les cadres de niveau C) et créatifs (par exemple, les concepteurs UI/UX) ».
Le rapport se concentre sur six thèmes majeurs - chacun avec ses propres visualisations - montrant comment les données donnent un aperçu de la communauté des développeurs. Il s'agit notamment de : l'état du développement de la blockchain, les principales aspirations professionnelles des des étudiants, les communautés de langages, pourquoi les développeurs contribuent aux projets open source appartenant aux fournisseurs, les types de studios pour lesquels travaillent les développeurs de jeux et enfin, l'essor et le déclin des frameworks Web. Voici ci-dessus les points les plus marquants du 23e rapport de SlashData.
Les communautés de langages
Les langages de programmation sont souvent les noyaux de communautés fortes et le sujet de débats d'opinion. Dans ce chapitre, SlashData fournit des estimations actualisées du nombre de développeurs de logiciels actifs utilisant chacun des principaux langages de programmation, dans le monde entier et pour tous les types de programmeurs. Le rapport révèle que certains langages traditionnels continuent de gagner en popularité, avec des chiffres frappants. Par exemple, la communauté des développeurs Java a presque doublé au cours des deux dernières années, passant de 8,3 millions à 16,5 millions.
Ce chiffre représente près du double de la croissance globale de la communauté mondiale des développeurs. De même, Python compte désormais près de 17 millions de développeurs dans sa communauté, dont 8 millions ont été ajoutés au cours des deux dernières années. Python a bénéficié de l'importance croissante de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), 63 % des développeurs ML et des scientifiques des données s'appuyant sur ce langage. Malgré la croissance impressionnante de Java et de Python, Rust et Kotlin sont les véritables gagnants, les deux langages ayant connu une hausse importante.
La communauté de développeurs de Rust a plus que triplé en deux ans, passant de 0,8 million à 2,8 millions. La popularité de ce langage est due en grande partie aux performances, à la sécurité de la mémoire et à la sécurité qu'il offre. Il fait même partie des langages recommandés par la NSA, avec Java. Kotlin connaît également une croissance importante, grâce au fait d'être un langage officiel pour le développement d'Android, un langage que Google préfère désormais. En conséquence, la base de développeurs de Kotlin a plus que doublé au cours des deux dernières années, passant de 2,3 millions à 6,1 millions.
Le rapport note toutefois qu'il peut être difficile d'évaluer le degré d'utilisation d'un langage de programmation. Selon SlashData, les index disponibles auprès d'acteurs tels que Tiobe, Redmonk, l'enquête annuelle de Stack Overflow ou l'étude State of the Octoverse de GitHub sont excellents, mais offrent surtout des comparaisons relatives entre les langages, sans donner une idée de la taille absolue de chaque communauté. Elles peuvent également être biaisées géographiquement ou orientées vers certains domaines du développement logiciel ou vers les développeurs open source.
Dans son rapport d'étude, SlashData indique que JavaScript reste le langage de programmation le plus populaire pour la 11e enquête consécutive, avec plus de 19,5 millions de développeurs dans le monde qui l'utilisent. Il est à noter que la taille de la communauté JavaScript n'a cessé de croître au cours des dernières années. Entre le Q3 2020 et le Q3 2022, JavaScript aurait connu une augmentation de 59 %, puisque 7,3 millions de développeurs ont rejoint la communauté - l'une des plus fortes croissances en termes absolus parmi les langages. Les nouveaux développeurs le considèrent comme un langage d'entrée de gamme attrayant.
Cependant, les développeurs existants l'ajoutent également à leurs compétences. La popularité de JavaScript s'étend à tous les secteurs, puisqu'au moins un quart des développeurs de chaque secteur l'utilisent. Le groupe des principaux langages bien établis est complété par C/C++ (12,3 millions), C# (10,6 millions) et PHP (8,9 millions). PHP a connu le taux de croissance le plus faible de tous les langages au cours de l'année dernière, avec une croissance de 22 % seulement, soit 1,6 million de nouveaux développeurs nets. PHP est un choix courant pour les développeurs de cloud computing et les développeurs Web.
Toutefois, SlashData note que sa popularité a diminué, en particulier parmi les développeurs Web, où il est passé du deuxième langage le plus populaire au Q3 2021, derrière JavaScript, au quatrième plus populaire au Q3 2022, Python et Java devenant des choix plus populaires. C et C++ sont des langages centraux dans les projets embarqués et IoT, pour le codage au niveau de l'appareil et de l'application, mais aussi dans le développement mobile et de bureau, qui sont des secteurs qui attirent respectivement 17,7 millions et 15,6 millions de développeurs.
Le C#, quant à lui, a maintenu sa popularité parmi de multiples domaines différents du développement logiciel, en particulier parmi les développeurs de bureau et de jeux. Le couple C/C++ a attiré 4,3 millions de nouveaux développeurs l'année dernière et le C# 2,8 millions au cours de la même période.
L'essor et le déclin des frameworks Web
D'après l'enquête de SlashData, 60 % des développeurs Web utilisent des frameworks côté client ou côté serveur. Environ 12 % des développeurs Web qui utilisent des frameworks déploient leur code à la demande, 8 % ont un délai d'exécution de moins d'une heure et 51 % prennent moins d'une journée pour rétablir le service. Chez les développeurs Web qui n'utilisent pas de frameworks, 9 % déploient leur code à la demande, 5 % ont un délai d'exécution de moins d'une heure et 43 % mettent moins d'une journée à rétablir le service. L'utilisation de frameworks présente toutefois des désavantages.
Par exemple, il est peu probable qu'un framework fournisse tout ce dont un développeur Web a besoin, tout comme il est peu probable qu'un développeur Web utilise tout ce qu'un framework ou une bibliothèque a à offrir. La prolifération de différents frameworks avec des normes et des directives différentes ne fait que brouiller davantage les pistes. Dans ce cas, SlashData estime qu'il peut être plus facile de s'en tenir à un ou deux frameworks et de compléter leur utilisation par du code personnalisé, plutôt que de créer un environnement de travail surchargé.
SlashData a remarqué que la part des développeurs Web utilisant trois frameworks ou plus diminue progressivement. Aujourd'hui, le nombre moyen de frameworks utilisés serait à peu près le même pour les développeurs de tous niveaux d'expérience, soit environ 3,2. Cependant, les habitudes d'utilisation changent en fonction des années d'expérience spécifiques, et peuvent donner une indication de ce qui se prépare pour l'avenir du développement Web. Par exemple, les personnes ayant moins de cinq ans d'expérience sont plus susceptibles d'utiliser un framework (22 %) que celles ayant six ans ou plus (17 %).
React est de loin la bibliothèque côté client la plus populaire, puisqu'elle est utilisée par 58 % des développeurs Web qui utilisent des frameworks Web côté client. La popularité stable de React en tant que bibliothèque est contrastée par le déclin de jQuery, qui a connu une baisse de 13 points de pourcentage de son utilisation au cours des 12 derniers mois. Si l'on compare les deux, React est peut-être plus à même de gérer l'environnement de développement Web moderne - il est plus rapide, dispose d'une plus grande bibliothèque de paquets npm et est efficace pour créer des applications Web plus importantes.
Qui sont les développeurs qui utilisent jQuery ? En regardant de plus près, SlashData constate que ceux qui ont plus de 11 ans d'expérience dans le développement Web sont 9 % plus susceptibles d'utiliser jQuery que ceux qui ont moins de 10 ans (49 % contre 40 %). De même, ces développeurs Web chevronnés sont moins susceptibles d'utiliser React (52 %) par rapport à leurs pairs (58 %). Comme jQuery a été créé près d'une décennie avant React, il est logique que ceux qui ont plus d'expérience en développement Web s'en tiennent à ce qu'ils connaissent. Qu'en est-il des frameworks côté serveur ?
Next.js et Spring ont connu une hausse de popularité au cours des 12 derniers mois. Selon le rapport de SlashData, la popularité de Next.js est probablement liée à React - après tout, Next.js est un framework construit sur React. En fait, 86 % de ceux qui utilisent Next.js utilisent également React ; à titre de comparaison, seuls 45 % utilisent jQuery. Quant à Spring, un framework basé sur Java, l'augmentation de son utilisation peut s'expliquer par une augmentation similaire de l'utilisation de Java parmi les développeurs Web, soit 8 points de pourcentage au cours des 12 derniers mois (27 % contre 19 %).
Si un développeur Web est contraint de configurer ou d'écrire une application d'une manière particulière, cela peut restreindre son éventail de compétences, car il s'appuie sur une architecture particulière. Si l'on considère la population des développeurs Web, il semble que ceux qui utilisent des frameworks sont en fait plus susceptibles d'être autonomes, d'avoir des compétences techniques ou d'utiliser des technologies Web que ceux qui n'utilisent pas de frameworks. Les utilisateurs de frameworks sont plus susceptibles d'avoir appris à coder en autodidacte (66 % contre 55 %) et de télécharger manuellement des paquets depuis npm (45 % contre 36 %).
Parmi ces technologies, les services d'intégration/déploiement continus (CI/CD) méritent d'être mentionnés - les utilisateurs de frameworks sont deux fois plus susceptibles de les utiliser que les autres. Comme souligné précédemment, les utilisateurs de frameworks sont plus efficaces lorsqu'il s'agit de déployer du code. Cependant, les utilisateurs de frameworks qui utilisent également des outils CI/CD sont 5 % plus susceptibles de déployer à la demande (15 %) que les utilisateurs de frameworks qui n'utilisent pas d'outils CI/CD (10 %).
Enfin, alors que la part des développeurs Web qui utilisent des outils low-code ou no-code a augmenté de 9 % au cours des six derniers mois (54 %), cette part est de 40 % pour les utilisateurs de frameworks. Cela correspond à une augmentation de seulement 5 % dans le même laps de temps. En d'autres termes, ceux qui utilisent des frameworks sont plus susceptibles de s'appuyer sur le codage manuel à l'ancienne et ont les compétences pour le faire.
L'état du développement de la blockchain
Parmi les trois technologies de la blockchain que SlashData suit dans son enquête, les jetons non fongibles (NFT) sont ceux qui suscitent le moins d'intérêt de la part des développeurs : 58 % d'entre eux ne manifestent aucun intérêt, probablement en raison de leur perception comme une technologie nouvelle. D'autre part, les cryptomonnaies sont les plus importantes pour les développeurs. Environ 27 % d'entre eux se renseignent ou travaillent actuellement sur de tels projets et les technologies blockchain autres que les cryptomonnaies suivent de très près, avec 25 % de développeurs impliqués de la même manière.
L'engagement envers les applications de la blockchain autres que les cryptomonnaies varie fortement en fonction d'une région à un autre. L'Amérique du Nord et l'Asie de l'Est, à l'exclusion de la Grande Chine, sont des foyers de développement de la blockchain. Environ 15 % et 12 % des développeurs de ces régions, respectivement, travaillent actuellement sur des applications de la blockchain, et 17 % se renseignent sur cette technologie dans les deux régions. Le Moyen-Orient et l'Afrique ont la plus faible proportion de développeurs travaillant activement sur des projets de blockchain, mais ont la plus forte incidence de ceux qui en prennent connaissance (20 %).
Cela suggère que le Moyen-Orient et l'Afrique pourraient bien devenir importants pour le développement de la blockchain à l'avenir. En effet, compte tenu de l'histoire de la région en matière d'adoption rapide de nouvelles technologies fondamentales (illustrée par la révolution des services bancaires mobiles en Afrique), les applications blockchain dans les domaines de la finance et de la banque sont particulièrement intéressantes ici. Environ un quart des développeurs professionnels du Moyen-Orient et d'Afrique qui s'intéressent aux technologies blockchain travaillent également dans le secteur financier et bancaire.
Il semble que ces développeurs aient vu le potentiel de cette technologie pour façonner et perturber le secteur et qu'ils prennent une longueur d'avance. Si l'on regarde les choses de l'autre côté, on constate que la proportion de professionnels de la finance et de la banque qui travaillent actuellement sur des applications de la blockchain ou qui en apprennent davantage à ce sujet est globalement conforme à la moyenne de la région (31 % contre 33 %). Toutefois, la proportion de ceux qui s'intéressent aux applications de la blockchain est supérieure de 29 % (37 % contre 29 %).
Il s'agit de l'incidence la plus élevée d'intérêt pour les applications de la blockchain parmi les professionnels de la finance et de la banque, toutes régions confondues, et cela indique que les applications de la blockchain pourraient jouer un rôle central dans ce secteur à l'avenir. En outre, le rapport de SlashData précise que malgré le battage médiatique, les technologies blockchain n'en sont encore qu'à leurs débuts. La société estime que la blockchain, tout comme le cloud computing il y a une quinzaine d'années, aurait le potentiel de sous-tendre et de permettre de nombreuses autres technologies et expériences.
Toutefois, SlashData rapporte que seuls 9 % des développeurs travaillent actuellement sur de tels projets. Plutôt que d'entraîner une transformation technologique instantanée, les technologies blockchain ont la possibilité de devenir une technologie fondamentale sur laquelle repose notre expérience numérique, à l'instar de TCP-IP - les éléments constitutifs de l'Internet - et les développeurs seront des acteurs clés pour façonner cette vision particulière de l'avenir.
Les principales aspirations professionnelles des étudiants
Dans la dernière édition de l'enquête Developer Nation, SlashData a demandé aux étudiants développeurs quelles étaient leurs principales aspirations professionnelles dans le domaine du développement logiciel. Il s'avère que la grande majorité (88 %) des étudiants ont au moins une aspiration professionnelle spécifique, tandis que seuls 7 % n'envisagent pas de devenir professionnels. En outre, le premier groupe de répondants a mentionné une moyenne de 2,5 aspirations professionnelles, avec une grande variété de combinaisons. La résolution de problèmes est la principale aspiration professionnelle des étudiants développeurs.
Elle est mentionnée par près d'un tiers (32 %) d'entre eux. Cette aspiration est suivie de près par celle de devenir un expert dans un domaine ou une technologie (29 %), de créer des produits ou des services innovants (27 %) et de travailler sur des projets stimulants (26 %). Ces résultats suggèrent que, malgré un attrait financier apparent, la curiosité et la recherche de l'innovation sont les principales motivations des étudiants dans leur parcours pour devenir des développeurs de logiciels professionnels. Il convient toutefois de noter que les étudiants accordent également de l'importance à l'optimisation de leur potentiel de gain.
Disposer de bonnes compétences en matière de résolution de problèmes dans le cadre de projets difficiles est la clé de la création de produits et de services innovants. Il n'est donc pas surprenant que ces aspirations soient souvent mentionnées conjointement par les étudiants qui veulent devenir des développeurs. Ceux qui veulent créer des produits ou des services innovants manifestent un intérêt supérieur à la moyenne pour la création d'entreprise ou le travail dans des sociétés prestigieuses. Une analyse plus approfondie révèle que les aspirants entrepreneurs sont plus susceptibles de se concentrer sur la maximisation de leur impact sur la société.
Les différences régionales en termes de culture et de circonstances socio-économiques se manifestent comme des différentiateurs significatifs dans les aspirations professionnelles des étudiants. Par exemple, l'Asie du Sud est la région où l'on trouve la plus forte concentration de développeurs qui s'identifient comme des étudiants (40%). Dans cette région, 30 % des étudiants aspirent à travailler sur des projets stimulants, mais sont nettement moins susceptibles que les étudiants des autres régions de manifester un intérêt pour la résolution de problèmes (26 %) ou la création de produits/services innovants (22 %).
Au contraire, les étudiants de l'Asie du Sud sont les plus susceptibles de donner la priorité à l'obtention d'un titre professionnel spécifique (16 %), tout en montrant un niveau d'intérêt supérieur à la moyenne pour devenir cadres techniques ou chefs d'entreprise (15 %). Les étudiants d'Amérique du Sud, d'Europe de l'Est et d'Europe de l'Ouest affichent les niveaux d'intérêt les plus élevés pour les quatre principales aspirations professionnelles. Mais si les étudiants européens sont nettement plus attachés que la moyenne à maximiser leur potentiel de gain (> 30 %), seuls 21 % des Sud-Américains accordent cette priorité à la planification de leur carrière.
Au contraire, les étudiants sud-américains cherchent avant tout à obtenir des opportunités d'emploi dans des entreprises/organisations réputées. Ils sont donc plus susceptibles d'accepter des postes subalternes et des salaires inférieurs en échange de la sécurité de l'emploi et d'un plan de carrière prometteur. Les étudiants d'Asie de l'Est sont les moins susceptibles d'exprimer un intérêt spécifique pour le métier de développeur de logiciels. Cela suggère que les étudiants de cette région ont des doutes quant à la poursuite d'une carrière dans le développement de logiciels et qu'ils envisagent d'autres emplois sans rapport avec ce domaine.
En Amérique du Nord, une grande partie des étudiants visent à devenir des entrepreneurs tout en montrant le plus grand intérêt à maximiser leur impact sur la société. Cela est probablement dû à la culture des startups très présente dans cette région. Cet effet est particulièrement visible dans la Silicon Valley, qui s'est imposée comme le centre de l'innovation technologique et abrite de nombreux géants de la technologie et des startups. De même, les étudiants du Moyen-Orient et d'Afrique font preuve d'un plus grand esprit d'entreprise dans une région qui est prête à accueillir une scène de startups en plein essor.
Contribution aux projets open source des fournisseurs
Selon SlashData, les logiciels OSS (Open Source Software) représentent le pouvoir de la communauté : des efforts de collaboration pour développer du code et des logiciels qui ont un impact positif sur un public plus large que les individus impliqués. Le rapport indique que les projets OSS appartenant aux fournisseurs, comme le framework d'apprentissage automatique TensorFlow de Google et l'éditeur Visual Studio Code de Microsoft, combinent ce sens de la communauté avec le soutien financier des plus grandes entreprises technologiques du monde - une puissante combinaison de stabilité et de coopération ouverte.
D'après SlashData, pour chaque développeur impliqué dans un logiciel libre appartenant à un fournisseur, il existe un facteur de motivation différent. En gros, les trois principales motivations des contributeurs aux projets de logiciels libres appartenant aux fournisseurs sont les suivantes : apprendre à mieux coder (38 %), améliorer le logiciel qu'ils utilisent (29 %) et contribuer à quelque chose de plus grand qu'eux (22 %). Par rapport aux débutants, ceux qui ont six ans d'expérience ou plus sont environ 13 points de pourcentage plus susceptibles de contribuer à l'amélioration d'un logiciel qu'ils utilisent.
Ces développeurs expérimentés et soucieux de l'amélioration sont également beaucoup plus susceptibles d'occuper des postes de spécialistes que leurs homologues moins expérimentés. Par exemple, ils sont six fois plus susceptibles d'être architectes logiciels et cinq fois plus susceptibles d'être chefs d'équipe technique/ingénierie ou ingénieurs de fiabilité de site. Ils pensent non seulement que les logiciels qu'ils utilisent peuvent être améliorés, mais aussi qu'ils ont les capacités et les compétences pour le faire. En fait, l'amélioration des logiciels semble être la principale motivation de nombreux développeurs expérimentés.
Apprendre à mieux coder, se faire remarquer par leur entreprise et faire réviser leur code sont des priorités bien moindres chez les développeurs chevronnés. À l'autre extrémité de l'échelle, les personnes les plus disposées à contribuer à leur propre formation sont les développeurs ayant 1 à 2 ans d'expérience. Par rapport à ceux qui ont moins d'expérience, ces développeurs sont 58 % plus susceptibles d'être exclusivement des professionnels et 48 % moins susceptibles d'être exclusivement des étudiants.
En d'autres termes, à ce stade de leur carrière, ils disposent d'un savoir-faire professionnel et d'une confiance suffisants pour contribuer à un logiciel libre appartenant à un fournisseur, mais ils cherchent à parfaire leurs compétences en codage en donnant à la communauté.
Types de studios pour lesquels travaillent les développeurs de jeux
SlashData a demandé aux développeurs de jeux professionnels de décrire le type de studio de jeux pour lequel ils travaillent. L'espace moderne de développement de jeux s'est stratifié en plusieurs types de studios différents, et au sein de ces studios, les types d'outils et de technologies utilisés peuvent varier considérablement. En outre, le profil des développeurs montre également des différences entre les types de studios.
Les développeurs de jeux professionnels appartiennent aux types de studios suivants :
- les éditeurs de jeux qui externalisent la majorité de leur développement ;
- les studios à grande échelle qui développent et autoéditent une collection de jeux ;
- les développeurs tiers qui travaillent sur un large éventail de jeux pour différents éditeurs ;
- les studios indépendants qui publient et développent un petit nombre de jeux.
Un premier point à noter est que les développeurs de jeux sont répartis de manière relativement égale entre les différents types de studios. Plus précisément, 21 % travaillent dans des studios de grande envergure, 19 % dans des studios tiers et 18 % à la fois chez des éditeurs de jeux et dans des studios indépendants. Si les développeurs de jeux sont équitablement répartis entre les différents types de studios, SlashData observe néanmoins des différences importantes dans leurs profils. Les développeurs ayant 3 à 5 ans d'expérience se retrouvent le plus souvent dans tous les types de studios, à l'exception des studios tiers.
Pour ce type de studio, l'équipe est plus susceptible d'avoir 1 à 2 ans d'expérience. Ceux qui ont plus de 11 ans d'expérience dans le développement de jeux ne sont qu'une faible proportion de la population générale des développeurs de jeux (11 %), mais sont beaucoup plus représentés dans les studios indépendants (20 %). Les plus expérimentés du secteur sont en mesure de choisir où ils travaillent. Ils peuvent choisir de travailler pour des studios indépendants en raison d'un plus grand contrôle créatif sur les projets ou d'une préférence pour le travail au sein de petites équipes que l'on trouve rarement dans le développement de jeux AAA.
Les développeurs de jeux en milieu de carrière - entre 6 et 15 ans d'expérience - représentent 37 % des développeurs des grands studios, contre seulement un quart (24 %) des développeurs de jeux professionnels en général. L'ampleur et la complexité des projets sur lesquels travaillent les grands studios peuvent entraîner une demande de développeurs plus expérimentés. Malgré cela, les développeurs les plus expérimentés choisissent plus fréquemment les studios indépendants, ce qui indique que les facteurs suggérés précédemment peuvent l'emporter sur les offres que les grands studios peuvent faire à ces développeurs.
Les développeurs tiers présentent une répartition intéressante de l'expérience des développeurs. Trente-six pour cent de leurs développeurs ont entre un et deux ans d'expérience et 8 % entre 11 et 15 ans, contre respectivement 26 % et 6 % pour les développeurs de jeux en général. Cela indique que les studios tiers sont plus disposés à engager des développeurs moins expérimentés. Les nouveaux développeurs peuvent également considérer les studios tiers comme des studios d'ascenseur, leur permettant d'être exposés à de multiples projets différents afin de pouvoir passer à d'autres types de studios.
Cependant, ces studios ont toujours besoin d'une bonne proportion de développeurs expérimentés pour gérer de multiples projets, ce qui les conduit à embaucher davantage en proportion par rapport à la population globale des développeurs de jeux.
Source : State of the Developer Nation 23rd Edition
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des résultats de l'enquête de SlashData ?
Selon vous, ces résultats reflètent-ils les tendances actuelles dans le secteur ?
Voir aussi
JavaScript et Python règnent, mais Rust monte en puissance, le nombre d'utilisateurs de Rust dans le monde serait passé à 2,2 millions, selon une enquête de SlashData
State of the Developer Nation : JavaScript aurait une communauté composée d'environ 14 millions de développeurs, alors que Python est le langage avec la croissance la plus forte ces dernières années
JavaScript reste le langage le plus populaire avec 16,4 millions de développeurs, mais est talonné par Python, qui compte désormais 11,3 millions d'utilisateurs, selon une étude de SlashData
The State of the Octoverse 2020 : Python et TypeScript gagnent en popularité parmi les langages de programmation, alors que JavaScript continue d'être le langage le plus populaire sur GitHub