« La mise à jour des bases de code assistée par l’IA nous a permis d’économiser l’équivalent de 4500 ans de travail pour des développeurs humains », déclare le CEO d’Amazon
« En moins de six mois, nous avons pu mettre à niveau plus de 50 % de nos systèmes Java de production vers des versions Java modernisées en une fraction du temps et des efforts habituels. De plus, nos développeurs ont livré 79 % des révisions de code générées automatiquement sans aucune modification supplémentaire », ajoute-t-il à propos des gains de productivité obtenus au travers de l’assistant d’IA générative Amazon Q disponible depuis le mois de mai de l’année en cours.
C’est une sortie qui s’inscrit en droite ligne avec celle d’un autre responsable d’Amazon – Matt Garman – selon lequel il est possible que l'intelligence artificielle prenne en charge de nombreuses tâches de codage d'ici les deux prochaines années, ou peut-être plus, et que la plupart des développeurs ne codent plus. C’est en filigrane une relance du débat sur l'évolution (ou la disparition) des emplois avec de entreprises qui licencient ou cessent de plus en plus d'embaucher pour réorienter leurs ressources autour des projets d’intelligence artificielle.
Garman pense que l'IA va redéfinir le métier de développeur. Ses propos sont présentés comme une sorte de conseil plutôt qu'un avertissement aux ingénieurs en logiciel. Il a déclaré qu'AWS aide les employés à continuer à se perfectionner et à apprendre les nouvelles technologies pour augmenter leur productivité avec l'aide de l'IA. Garman a fait ces déclarations dans le cadre d'une réunion interne en juin, dont l'enregistrement a été obtenu par Business Insider.
« Si l'on se projette dans 24 mois, ou dans une période plus ou moins longue - je ne peux pas prédire exactement où - il est possible que la plupart des développeurs ne codent plus. Le codage est en quelque sorte le langage que nous utilisons pour parler aux ordinateurs. Ce n'est pas nécessairement la compétence en soi. La compétence en soi, c'est comment innover ;? Comment construire quelque chose d'intéressant à utiliser pour mes utilisateurs finaux ? », aurait-il déclaré.
« Cela signifie que le travail d'un développeur de logiciels va changer. Cela signifie simplement que chacun d'entre nous doit être plus à l'écoute des besoins de ses clients et de la finalité réelle de ce qu'il va essayer de construire, car c'est ce qui constituera de plus en plus le travail, par opposition au fait de s'asseoir et d'écrire du code », a ajouté Garman, qui est devenu PDG d'AWS en juin. Il se veut donc optimiste et ne prédit nécessairement pas la mort du métier de développeur.
« Être un développeur en 2025 pourrait être différent de ce qu'était un développeur en 2020 », a ajouté Garman. AWS compte actuellement environ 130 000 employés et a licencié plusieurs centaines de personnes en avril dans ses divisions ventes, marketing et services globaux.
One of the most tedious (but critical tasks) for software development teams is updating foundational software. It’s not new feature work, and it doesn’t feel like you’re moving the experience forward. As a result, this work is either dreaded or put off for more exciting work—or… pic.twitter.com/MJvsqNxgiT
— Andy Jassy (@ajassy) August 22, 2024
Certains intervenants de la filière sont néanmoins d’avis que l’intelligence artificielle complique plutôt leur travail
Selon Harness, le code généré par l'intelligence artificielle est susceptible de tripler la charge de travail des développeurs dans l'année à venir. L'augmentation du volume de code livré accroît les risques de failles et de vulnérabilités si les tests et les mesures de sécurité ne sont pas rigoureusement appliqués. Bien que neuf développeurs sur dix utilisent déjà des outils d'IA pour accélérer la livraison de logiciels, cette tendance nécessite une vigilance accrue à chaque étape du cycle de vie du développement logiciel (SDLC) pour prévenir les incidents de sécurité.
L'augmentation du volume de code généré par les outils d'intelligence artificielle pose un défi majeur en termes de sécurité et de gestion des vulnérabilités. Bien que l'automatisation et la génération de code puissent considérablement accélérer le processus de développement, elles introduisent également de nouveaux risques. Si les tests et les mesures de sécurité ne sont pas rigoureusement appliqués à chaque étape du cycle de vie du développement logiciel, il devient presque inévitable que des failles passent inaperçues et soient déployées en production.
La rapidité avec laquelle le code est produit grâce à l'IA peut surpasser la capacité des développeurs à effectuer des tests approfondis et à assurer la sécurité de chaque ligne de code. Sans une infrastructure solide pour la détection et la correction des failles, les erreurs et les vulnérabilités peuvent s'accumuler, augmentant le risque d'exploits et de temps d'arrêt coûteux. La complexité accrue et la vitesse du développement exigent des outils de tests automatisés et des processus de sécurité intégrés pour compenser les limitations humaines.
Cette dépendance accrue aux outils d'IA pour la génération de code peut entraîner une réduction de la vigilance humaine, où les développeurs pourraient faire excessivement confiance aux suggestions de l'IA sans une vérification rigoureuse. Cette approche peut devenir dangereuse, car même les systèmes d'IA avancés peuvent générer du code défectueux ou vulnérable. Une approche équilibrée, combinant l'efficacité de l'IA avec une supervision humaine minutieuse, est essentielle pour garantir la qualité et la sécurité du code.
Les suggestions de code générées automatiquement peuvent accroître la productivité des développeurs et optimiser leur flux de travail en fournissant des réponses directes, en gérant les tâches de codage de routine, en réduisant la nécessité de changer de contexte et en conservant l'énergie mentale. Elles peuvent également aider à identifier les erreurs de codage et les failles de sécurité potentielles.
Martin Reynolds, directeur technique chez Harness, explique que l'IA générative a révolutionné le travail des développeurs en permettant de réaliser des projets qui auraient pris huit semaines en seulement quatre semaines. Cependant, avec l'augmentation du volume de code livré, le potentiel d'erreurs et de vulnérabilités croît également si les développeurs ne procèdent pas à des tests rigoureux. Bien que l'IA ne crée pas de nouvelles failles de sécurité, elle accroît la quantité de code traversant des failles existantes, augmentant ainsi le risque de vulnérabilités et de bugs, à moins que des efforts supplémentaires ne soient déployés pour tester et sécuriser le code.
Harness préconise une réponse basée sur davantage d'IA, utilisée pour analyser automatiquement les modifications de code, tester les failles et les vulnérabilités, évaluer l'impact des risques, et garantir la possibilité d'annuler instantanément les problèmes de déploiement. Il est crucial de maintenir des standards élevés de tests et de sécurité pour gérer les risques associés à l'augmentation du volume de code. Les organisations doivent investir dans des outils de tests automatisés, des audits de sécurité réguliers et des formations continues pour les développeurs afin de naviguer efficacement dans ce nouvel environnement technologique. L'équilibre entre l'innovation rapide et la rigueur en matière de sécurité est la clé pour tirer pleinement parti des bénéfices de l'IA sans compromettre la fiabilité et la sécurité des logiciels.
Et vous ?
Quel est votre avis sur l'utilisation des outils d'intelligence artificielle pour générer du code ? Quel impact cette approche est-elle susceptible d’avoir sur la filière dans les années à venir ? Les développeurs doivent-ils y voir une menace ou une opportunité ?
Comment les développeurs peuvent-ils s'adapter efficacement à l'augmentation du volume de code généré par l'intelligence artificielle sans compromettre la qualité et la sécurité des logiciels ?
Voir aussi :
Génération de code à l'aide de grands modèles de langage : 62 % du code généré contient des erreurs d'API, qui auraient des conséquences inattendues si le code était introduit dans un logiciel réel
Codegen, un outil d'IA qui facilite le passage de la conception au code, il peut aussi nuire à la créativité, à la curiosité et à l'apprentissage des développeurs