Karl Byrne, Holly Daly et Fiona Eguare de BearingPoint discutent des effets de l'IA sur le génie logiciel et de la manière dont elle a affecté les diplômés en particulier.
L’intégration généralisée de la technologie avancée de l’IA dans les lieux de travail technologiques du monde entier a transformé la vie professionnelle de nombreuses personnes, mais particulièrement celle des équipes chargées des logiciels.
« Au cours des dernières années, le génie logiciel a connu certains des changements les plus importants que j'ai vus dans ma carrière », déclare Karl Byrne, directeur et responsable du développement logiciel chez BearingPoint Irlande.
« Alors que l'industrie a traversé la transition vers le cloud natif et DevSecOps, l'arrivée de l'IA générative représente un changement fondamental dans la façon dont nous concevons, construisons et sécurisons les logiciels.
Byrne déclare à SiliconRepublic.com que ce qui le frappe le plus, c'est l'ampleur du changement. « Cela ne se limite pas à une spécialité ou à une équipe : cela touche chaque aspect de la façon dont nous fournissons des logiciels. »
Cependant, il ajoute que les fondamentaux du domaine n'ont pas changé, soulignant qu'une solide compréhension technique, des principes de conception solides et l'accent mis sur la sécurité et la qualité « restent plus importants que jamais ».
« Au contraire, l’IA a placé la barre plus haut, car les ingénieurs doivent désormais évaluer de manière critique le travail généré par l’IA en plus de tout ce qu’ils font », explique-t-il.
Pour les diplômés, dit Byrne, l’introduction de l’IA dans le rôle a stimulé une « évolution totale » des rôles quotidiens.
Utilisation responsable
Holly Daly, analyste technologique chez BearingPoint Ireland, affirme que l'utilisation croissante de l'IA souligne l'importance d'utiliser ces outils avec prudence et responsabilité, en particulier pour les diplômés et les ingénieurs logiciels en début de carrière.
« Même si l’IA peut améliorer considérablement la productivité, les diplômés devraient éviter d’en devenir trop dépendants et continuer à développer les compétences fondamentales qu’ils ont développées », dit-elle. « L’IA doit être utilisée comme un outil d’aide pour améliorer l’efficacité et la qualité plutôt que de remplacer votre propre compréhension technique et votre propre pensée critique. »
Elle explique qu'il est particulièrement important pour un diplômé de démontrer qu'il comprend les solutions qu'il propose et qu'il ne dépend pas uniquement de l'IA.
« D'après ma propre expérience en tant que diplômée travaillant sur un projet basé sur l'IA, j'ai eu l'occasion de travailler avec plusieurs outils d'IA, de les tester et de les recommander », dit-elle. « En même temps, j'ai mis l'accent sur l'apprentissage pour améliorer mes compétences afin de ne pas dépendre de l'IA. Cette approche m'a permis de bénéficier de l'IA, tout en me permettant de travailler seul en toute confiance. »
Daly affirme que le programme d'études supérieures de BearingPoint s'est adapté à l'ingénierie assistée par l'IA en exposant les diplômés à l'IA dès le départ et en l'intégrant à la fois dans leur formation et dans leurs expériences de projet.
« Lors de l'intégration, les diplômés sont exposés à l'IA à travers des discussions dédiées et des sessions interactives, y compris des présentations de l'IA qui mettent en évidence ses capacités, ses limites et ses cas d'utilisation potentiels. Ces sessions aident à acquérir une première compréhension de la manière dont l'IA peut prendre en charge des tâches techniques et non techniques, tout en renforçant l'importance d'une utilisation responsable. »
Fiona Eguare, également analyste technologique chez BearingPoint Ireland, affirme que le processus d'intégration de la technologie IA dans une équipe d'ingénierie comporte plusieurs étapes, à commencer par la recherche et les tests.
« Nous avons exploré les outils disponibles et testé ceux qui semblaient les mieux adaptés à nos besoins. Cela nous a permis de les comparer, de confirmer qu'ils correspondaient à nos cas d'usage et d'évaluer les avantages qu'ils offraient par rapport aux outils et méthodes plus traditionnels », explique-t-elle.
« Une fois les outils les plus utiles identifiés, nous avons partagé nos conclusions avec l'ensemble de l'équipe et de l'entreprise, et nous avons intégré les outils dans le projet le cas échéant.
Eguare affirme que même si toutes les personnes impliquées étaient enthousiastes et ouvertes à l'intégration de l'IA tout au long du cycle de vie du développement logiciel, il s'agit en réalité d'un « effort continu ».
« À mesure que les outils continuent de se développer, il sera essentiel de continuer à perfectionner leurs compétences et à surveiller leur sécurité, afin de garantir qu’ils restent la solution idéale pour nous. »
Des changements pilotés par l'IA
Daly et Eguare affirment que l’inclusion des outils d’IA dans leur vie professionnelle a présenté certains avantages.
« L'un des effets les plus évidents pour moi », déclare Eguare, « a été l'augmentation de l'efficacité des développeurs. Avec l'aide d'outils d'IA générative, certaines des tâches de développement les plus fastidieuses et les plus longues peuvent être réalisées beaucoup plus rapidement. «
« Ces outils peuvent également être d'une grande aide lors du débogage. Bien qu'ils puissent parfois rater la cible, certains outils d'IA générative font un excellent travail pour comprendre le contexte du projet et la base de code, ce qui les rend parfaits pour identifier la source des bugs. »
Daly a constaté que des tâches telles que l'écriture de nouveau code, la refactorisation du code existant et le débogage des erreurs sont devenues « beaucoup plus rapides et efficaces » grâce à la prise en charge des outils d'IA.
Outre les avantages, tous deux reconnaissent également les pièges potentiels de la technologie.
Eguare souligne les vulnérabilités de la technologie en matière de cybersécurité, affirmant qu'elle a permis aux attaquants d'exploiter plus facilement les vulnérabilités, tandis que Daly affirme que l'IA a modifié les exigences du rôle.
« Le rôle ne consiste plus seulement à écrire du code, mais également à réviser, valider et améliorer le travail généré par l’IA », explique Daly. « Les ingénieurs logiciels doivent être plus intuitifs et analytiques lorsqu'ils évaluent si le code suggéré par l'IA est correct, sécurisé, maintenable et adapté au problème à résoudre. Par conséquent, une solide compréhension technique et un esprit critique sont plus importants que jamais. «
« Dans l’ensemble, même si l’IA peut être un stimulant efficace de la productivité, il est important que les ingénieurs logiciels ne la laissent pas prendre le dessus, car il leur incombe toujours de garantir que la solution finale répond aux normes requises. »
Surveillance humaine
Selon Eguare, ce qui reste toujours important dans l'utilisation des outils d'IA générative en génie logiciel, c'est la surveillance humaine.
« Lorsque l'on travaille en équipe sur des projets de plus grande envergure et d'une plus grande importance, la surveillance est essentielle ; son importance ne peut vraiment pas être surestimée », dit-elle.
« Un manque de surveillance peut entraîner des problèmes, comme un code volumineux ou de graves vulnérabilités transmises à la production. »
Eguare explique que pour résoudre ces problèmes, il est important d'utiliser « des invites de haute qualité, spécifiant les attentes en matière de qualité et de sécurité », ainsi que des tests.
« En plus des tests traditionnels, les outils qui traitent spécifiquement les problèmes courants liés au code généré par l'IA peuvent être particulièrement utiles ici », dit-elle. « Nous nous appuyons également sur des pipelines CI/CD dotés d'analyseurs automatisés de qualité et de sécurité pour appliquer des normes cohérentes et détecter les problèmes le plus tôt possible, ce qui est particulièrement important lorsque l'IA accélère les modifications de code.
Un autre problème qu’elle souligne est que si une trop grande partie d’un programme est générée sans surveillance humaine, il peut devenir « assez difficile » pour un développeur de déboguer ou de comprendre la base de code.
« Bien que l'IA puisse également y contribuer, se familiariser avec la structure du programme peut contribuer à garantir que le code reste propre, sécurisé et de haute qualité à mesure que des modifications sont apportées. »
