L'erreur de remplacer les ingénieurs logiciels par l'IA

L'erreur de remplacer les ingénieurs logiciels par IA

Les ingénieurs logiciels sont aujourd’hui hantés par le spectre d’une IA qui pourrait usurper leur travail. Les modèles d’IA générative comme ChatGPT ont suscité des inquiétudes croissantes quant à la fin du développement de logiciels centrés sur l’humain. Il est toutefois crucial de reconnaître que ces craintes sont loin d’être nouvelles. Au fil des années, diverses technologies ont prétendu « perturber » la profession de codeur, mais toutes n’ont pas réussi à remplacer les développeurs humains. Au contraire, ils ont souvent rendu les ingénieurs logiciels encore plus indispensables.

Les idées fausses sur les premiers développements informatiques et logiciels

Il est instructif de revenir sur l’histoire de l’informatique pour comprendre pourquoi les inquiétudes concernant la prise en charge par l’IA des tâches de codage peuvent être exagérées. Au début de l’informatique, l’architecture du matériel et des systèmes était considérée comme le sommet de l’effort intellectuel dans ce domaine. Le logiciel était une réflexion secondaire, souvent reléguée à un niveau d'importance inférieur.

Des informaticiens pionniers comme John Backus considéraient les programmeurs comme effectuant un travail subalterne. La dynamique de genre de l’époque a également joué un rôle : de nombreux premiers programmeurs étaient des femmes, dont les contributions ont été minimisées en raison du sexisme. Malgré les attitudes dévalorisantes, les programmeurs restent indispensables. Ils ont assumé le gros travail de codage, de débogage et de tests, permettant ainsi à des pionniers comme Backus de se concentrer sur ce qu'ils considéraient comme des questions plus « importantes ».

Tentatives évolutives pour « éliminer » les ingénieurs logiciels

Au fil du temps, les innovations technologiques ont visé à simplifier le rôle des codeurs, voire à les contourner complètement. FORTRAN a été conçu pour permettre aux scientifiques d'écrire des programmes sans programmeurs. La syntaxe anglaise facile à comprendre de COBOL visait à permettre aux gestionnaires de coder sans l'aide d'un développeur. Le modèle de développement Waterfall visait à standardiser les processus de développement logiciel, tandis que la programmation orientée objet était censée simplifier le codage dans la mesure où n'importe qui pouvait le faire.

Il est intéressant de noter que les ingénieurs logiciels étaient souvent réticents à ces changements, craignant qu'ils ne deviennent obsolètes. Cependant, ces craintes se sont révélées infondées. Des technologies comme FORTRAN et COBOL ont ajouté de nouvelles couches de complexité plutôt que de simplifier les choses. Le modèle Waterfall a donné lieu à des ennuis bureaucratiques, entravant le développement efficace des logiciels.

L'importance persistante des codeurs humains : une crise du génie logiciel

Malgré les innovations destinées à éliminer ou à réduire le besoin de codeurs humains, un paradoxe est apparu : le monde avait encore besoin de plus d’ingénieurs logiciels. Lors d’une conférence parrainée par l’OTAN en 1968, le terme « crise » a été utilisé pour décrire la situation du génie logiciel. Les projets stagnaient ou étaient retardés, non pas à cause d'un trop grand nombre d'ingénieurs logiciels, mais à cause d'un nombre insuffisant d'ingénieurs.

ChatGPT et la réalité de l'IA dans le développement de logiciels

Aujourd’hui, le discours autour du remplacement des ingénieurs logiciels humains par ChatGPT semble manquer de perspective historique. Utiliser l’IA pour remplacer les ingénieurs chargés du développement de fonctionnalités complexes aurait probablement des résultats désastreux, rendant inévitable le réembauche d’ingénieurs humains. D'un point de vue plus pratique, les grands modèles de langage (LLM) comme ChatGPT peuvent automatiser des tâches de routine, comme fournir des suggestions de saisie semi-automatique ou trier des données, mais ces tâches ne représentent qu'une fraction de ce qu'implique le développement logiciel.

Améliorer, et non remplacer, la productivité humaine

Plutôt que de voler des emplois, ChatGPT et des technologies similaires pourraient changer la nature du travail de codage, en éliminant certaines des tâches les plus banales et en permettant aux ingénieurs de se concentrer sur les véritables défis intellectuels. Ce scénario fait écho à la façon dont les compilateurs ont éliminé la nécessité pour les programmeurs de travailler directement avec du code binaire. Le résultat? Les programmeurs sont devenus plus précieux, et non moins, car ils pouvaient consacrer plus de temps à la résolution de problèmes complexes et au développement de fonctionnalités.

Le paradoxe de la complexité : pourquoi l'IA ne remplacera pas les ingénieurs logiciels

Edsger Dijkstra a un jour noté qu'à mesure que les ordinateurs sont devenus plus complexes, la programmation est passée d'un simple problème à un défi de taille. Les efforts visant à rendre la programmation si simple que tout le monde puisse la faire n’ont fait qu’ajouter des niveaux de complexité supplémentaires. Loin de rendre les ingénieurs logiciels obsolètes, l’essor des technologies avancées comme ChatGPT les rendra probablement encore plus intégrés au processus de développement logiciel.

Conclusion : l'extinction improbable des ingénieurs logiciels

L’idée selon laquelle l’IA remplacerait entièrement les ingénieurs logiciels humains semble invraisemblable si on la considère à travers le prisme de l’histoire. À maintes reprises, les innovations visant à marginaliser les codeurs n’ont fait que les rendre encore plus indispensables. Le potentiel des grands modèles de langage pour aider au développement de logiciels suivra probablement le même chemin, augmentant plutôt que remplaçant les capacités humaines. Par conséquent, les ingénieurs logiciels peuvent pousser un soupir de soulagement ; leurs compétences restent plus précieuses que jamais dans notre monde numérique de plus en plus complexe.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Panier