domicile
naviguer_suivant
Blog
naviguer_suivant

Pourquoi les compétences en génie logiciel deviennent rapidement obsolètes

Pourquoi les compétences en génie logiciel deviennent rapidement obsolètes
Pourquoi chaque ingénieur logiciel doit se perfectionner.
Pourquoi les compétences en génie logiciel deviennent rapidement obsolètes

Pourquoi chaque ingénieur logiciel doit se perfectionner.

‍Lesdéfis de l'évolution rapide du progrès technologique

Il y a quelques décennies, la croyance largement répandue était que pour réussir, il fallait étudier dur et obtenir un diplôme universitaire. Cela vous préparerait à votre carrière et essentiellement au reste de votre vie. La vie était séparée en une partie "apprentissage" et une partie "travail".

Cette époque est révolue depuis longtemps. Tous les ingénieurs logiciels le savent bien.

De l'invention des ordinateurs personnels et de l'internet aux smartphones, en passant par le séquençage de l'ADN, les voitures autonomes, la robotique et, aujourd'hui, l'intelligence artificielle et les grands modèles de langage (LLM), le nombre de technologies transformationnelles et révolutionnaires sont inventées et adoptées à un rythme sans précédent. Non seulement la technologie a énormément progressé ces dernières années, mais le taux de progrès technologique et le taux d'adoption de la technologie se sont eux-mêmes accélérés. En d'autres termes, les changements fondamentaux que nous avions l'habitude d'observer au niveau sociétal pendant des décennies se produisent désormais en l'espace de quelques années. 

L'avancée rapide du progrès technologique et l'augmentation du taux de progrès technologique et du taux d'adoption des technologies sont très prometteuses, mais elles créent également une multitude de nouveaux défis pour l'humanité et l'avenir du travail. L'un des plus grands défis réside dans notre capacité à nous adapter à ces changements.

Source : Courbe d'adoption des technologies

Nous avons tous lu des articles sur la façon dont l'intelligence artificielle va remplacer des centaines de millions d'emplois. Il y a quelques semaines, Goldman Sachs a indiqué que la dernière vague d'intelligence artificielle pourrait remplacer l'équivalent de 300 millions d'emplois à temps plein en l'espace d'une décennie (voir ici).

Mais en y regardant de plus près, on s'aperçoit que ce n'est que la partie émergée de l'iceberg.

‍Leprogrès technologiqueentraîne une diminution de la demi-vie des compétences

En réalité, la demi-vie d'une compétence (ou d'un élément de connaissance) donnée diminue chaque année. En d'autres termes, si vous apprenez une nouvelle compétence aujourd'hui, elle sera utile pendant une période plus courte qu'une compétence comparable que vous auriez pu acquérir dans le passé.

Permettez-moi de vous donner un exemple. Il y a un millénaire, quelqu'un aurait pu apprendre le métier de cocher de fiacre et l'exercer toute sa vie. Il a peut-être enseigné à ses enfants, petits-enfants, arrière-petits-enfants et ainsi de suite jusqu'à l'invention de l'automobile. À cette époque, la société est passée de la calèche à l'automobile et les compétences des cochers de fiacre ont perdu de leur valeur. Une personne pouvait désormais apprendre le métier de chauffeur de taxi et faire carrière toute sa vie dans cette nouvelle profession. Avec l'invention d'applications de covoiturage comme Uber, les chauffeurs de taxi sont aujourd'hui remplacés par une nouvelle génération. La valeur de l'acquisition des compétences d'un chauffeur de taxi est bien moindre aujourd'hui, parce que la profession de chauffeur de taxi se réduit et parce que presque tout le monde peut désormais acquérir les compétences nécessaires pour devenir chauffeur Uber. Mais les compétences d'un chauffeur Uber aujourd'hui valent encore moins que celles d'un chauffeur de taxi il y a 50 ans, car ce secteur est lui-même sur le point d'être bouleversé par l'invention et l'adoption massive de voitures autopilotées. C'est peut-être encore dans quelques années, mais certainement pas dans un siècle.

Source : https://www.nathanlustig.com/half-life-jobs/

La clé est que le taux de changement augmente également. En d'autres termes, la vitesse du changement (ou la dérivée de la courbe) change elle-même. La durée de vie de ces compétences est passée de 3 800 ans (le conducteur de calèche) à 120 ans (le chauffeur de taxi), puis à 7 ans (le chauffeur Uber). Cela peut être difficile à comprendre, car il est bien connu que les humains ont du mal à penser de manière non linéaire. Il existe même un terme pour désigner ce biais cognitif, le "biais de linéarité" (voir ici).

‍‍

La demi-vie des compétences en génie logiciel et des bibliothèques de logiciels

Prenons un exemple en rapport avec le génie logiciel. Les bibliothèques logicielles ont tendance à suivre un schéma similaire. J'ai passé des années à construire des logiciels et des systèmes de ML en Python, je vais donc me concentrer sur cet exemple concret. En particulier, examinons les données publiques disponibles sur le célèbre site web Stackoverflow. 

Stackoverflow dispose d'un outil permettant de mesurer le pourcentage de questions pour un tag donné au fil du temps (voir ici). Avec cet outil, nous pouvons regarder n'importe quelle bibliothèque (si elle a un tag) et voir à quel point elle est populaire. Nous pouvons aussi facilement mesurer le moment où elle atteint son pic de popularité. Voici un exemple de la bibliothèque scikit-learn, qui a été publiée en 2007 et semble avoir atteint son pic de popularité vers 2020 (c'est-à-dire 13 ans après sa publication).

Source : https://insights.stackoverflow.com/trends?tags=scikit-learn

Si nous supposons que la popularité de chaque bibliothèque suit une distribution normale dans le temps, nous pouvons définir la "demi-vie de sa popularité" comme le moment où de moins en moins de personnes utiliseront la bibliothèque. La demi-vie devient alors le nombre d'années entre la sortie de la bibliothèque et son pic de popularité. C'est extrêmement intuitif, car au-delà de ce point de demi-vie, de moins en moins de personnes utiliseront cette bibliothèque chaque année.

En suivant cette méthodologie, j'ai pris 30 des bibliothèques les plus utilisées par Python et j'ai tracé leur demi-vie ici. Le graphique pourrait certainement être amélioré, mais la tendance est absolument claire. Les bibliothèques Python les plus récentes ont une demi-vie beaucoup plus courte que les plus anciennes. Par exemple, la bibliothèque de science des données SciPy semble avoir une demi-vie deux fois plus longue que les bibliothèques plus récentes comme Gensim ou Spacy.

Ce phénomène n'est en aucun cas spécifique à Python. Je ne suis pas un expert de Java, mais je peux faire la même analyse pour les bibliothèques et frameworks Java les plus populaires. Vous trouverez ci-dessous le même graphique pour 30 des bibliothèques et frameworks Java les plus populaires. Il y a à nouveau une forte tendance montrant que les bibliothèques les plus anciennes ont tendance à avoir une demi-vie beaucoup plus longue que les plus récentes.

Ceci étant dit, il convient de noter que cette méthodologie présente de nombreux inconvénients. Elle prend exclusivement en compte les bibliothèques de logiciels, mais ignore les compétences fondamentales et la compréhension conceptuelle (y compris la théorie de l'informatique). En outre, les hypothèses sous-jacentes sont forcément incorrectes. La période de pic de popularité de chaque bibliothèque est estimée, et ce uniquement sur la base des données de Stackoverflow. Certaines bibliothèques n'ont probablement pas encore atteint leur pic de popularité. De plus, il existe de nombreuses dépendances entre les bibliothèques. Certaines bibliothèques dépendent les unes des autres (l'une importe littéralement l'autre) et d'autres bibliothèques fonctionnent mieux ensemble, ce qui signifie que nous ne pouvons pas vraiment les traiter comme des "points de données indépendants". Il se peut également qu'il y ait un biais de "survie du plus fort": les bibliothèques que j'ai examinées ici sont celles qui ont résisté à l'épreuve du temps, et d'autres bibliothèques ont tout simplement été oubliées par la communauté et par moi-même.

Enfin, la demi-vie de la popularité d'une bibliothèque nous intéresse-t-elle vraiment ? N'est-il pas possible qu'une bibliothèque devienne moins populaire que d'autres, mais que le nombre d'emplois ouverts pour l'ensemble de compétences correspondant continue d'augmenter ? Ou n'est-il pas également possible que, même si la bibliothèque est moins populaire, le salaire correspondant à l'ensemble des compétences continue d'augmenter ? Oui, tout cela est certainement possible.

L'industrie du logiciel est un monde extrêmement complexe et interconnecté. Il y a beaucoup plus de variables en jeu et il est extrêmement difficile d'isoler une seule variable (comme "l'année de sortie") et de l'utiliser pour prédire la demi-vie d'une bibliothèque logicielle donnée.

Néanmoins, nous avons maintenant examiné les tendances lourdes et le point clé demeure. À mesure que le rythme des progrès technologiques et le taux d'adoption des technologies augmentent, la demi-vie de chaque compétence logicielle se raccourcit.

‍‍

Le génie logiciel sera durement touché

L'impact du progrès technologique est appelé à être particulièrement fort dans l'industrie du logiciel. Les progrès de l'informatique (puces, informatique en nuage, IA, LLM, etc.) accélèrent le rythme des changements dans l'industrie du logiciel. Entre autres, nous devrions nous attendre à une accélération du développement de nouveaux outils, de nouveaux paradigmes de programmation et d'une automatisation toujours plus poussée grâce à l'IA dans les années à venir. Le fait que cette industrie soit déjà numérisée avec des millions de dépôts de code source ouvert et que les LLM puissent désormais comprendre et générer des codes source complexes, signifie que nous devrions nous attendre à ce que le rythme du changement s'accélère encore plus que dans d'autres industries.

Cette accélération raccourcit à son tour la demi-vie de chaque compétence.

Les ingénieurs logiciels qui veulent rester pertinents dans ce nouveau monde n'auront d'autre choix que de se perfectionner. Ils doivent continuer à acquérir de nouvelles compétences, en permanence et sur tous les sujets.

Comme l'a récemment déclaré Thomas Friedman : "Lorsque le rythme du changement est aussi rapide, la seule façon de conserver une capacité de travail tout au long de la vie est de s'engager dans l'apprentissage tout au long de la vie".

C'est pourquoi nous construisons un mentor IA pour l'ingénierie logicielle chez Korbit. Le mentor IA analyse le code de l'ingénieur logiciel, identifie les problèmes et les lacunes en matière de compétences et les perfectionne.

Vous pouvez vous inscrire ici : www.korbit.ai

Sources :

https://workingnation.com/thomas-friedman-technology-accelerating-faster-ability-adapt-can-catch/

https://www.apifirst.tech/p/accelerating-tech-adoption-with-ai

https://pdc.wisc.edu/blog/the-future-belongs-to-lifelong-learners-in-thomas-friedmans-thank-you-for-being-late/

https://www.youtube.com/watch?v=9WmWnIdhbq4&t=1602s

https://www.bbc.com/news/technology-65102150

https://docs.google.com/spreadsheets/d/17p5180cCAz-LTytXfIkBiW_3caIlvieG7opRZ7FOVQE/edit#gid=20290660

https://www.youtube.com/watch?v=Og847HVwRSI

retour_flèche
Retour au blog