Software development & IA: De l'artisan du code au superviseur de l'IA - une histoire déjà vécue dans l’aviation civile

Introduction

Récemment, mon collègue Guillaume Marcq publiait un article rappelant qu'à plusieurs reprises dans l'histoire des techniques et de l'informatique, des ruptures majeures ont suscité des craintes quant à leurs conséquences sociales, souvent perçues comme essentiellement destructrices. L'arrivée de l'IA générative dans le développement logiciel ne fait aujourd'hui pas exception.

Guillaume évoquait alors cette question que beaucoup se pose actuellement dans l’IT : “L'IA va-t-elle tuer nos métiers ?” et de répondre : ”l'histoire dit non : elle les transforme, voilà ce qu'on oublie systématiquement dans ces discussions. Et nous avons déjà vécu ça dans la technique”.

Aujourd'hui, je souhaite rebondir sur son analyse en revenant sur un parallèle que j'avais initié dans un article à la fin de l'année passée: celui entre la transformation du métier de pilote de ligne sous l'effet de l'automatisation et celle que connaissent aujourd'hui les informaticiens avec l'essor de l'IA. Bien sûr, comparaison n'est pas raison. Et il y a des différences majeures entre ces 2 métiers. Mais regarder dans le rétroviseur de l'histoire permet souvent de mieux comprendre les dynamiques du moment, de prendre de la hauteur et d'aborder les changements actuels avec un autre regard. C’est tout le propos de cet article de vulgarisation.

Regarder dans le rétroviseur de l'histoire permet souvent de mieux comprendre les dynamiques du moment

Regarder dans le rétroviseur de l'histoire permet souvent de mieux comprendre les dynamiques du moment (illustration réalisée avec Gemini)

La vie d’un pilote de ligne “in a nutshell” !

Un pilote de ligne apprend à piloter la base avec un pilotage manuel d'avion (petit type Cessna ou Piper, …) avec ou sans instrument. Puis, lorsqu'il a obtenu son brevet, il paie ou se fait payer une formation/certification sur A320 par exemple. Un A320 se pilote sur la base de procédures, c'est-à-dire que c'est très encadré. Et on ne peut plus vraiment dire qu'il pilote comme il a appris sur son Cessna ou assimilé. Il comprend les notions de vols et les instruments et il suit essentiellement des procédures. Son expérience lui permet de comprendre ce qu'il fait et pourquoi. Un pilote de ligne compétent sait piloter manuellement si besoin.

Ensuite, si l’on considère son travail sur un long courrier, il pilote "manuellement" approximativement entre 5 et 15 min grand maximum. Verbatim de pilote : "sur un vol long courrier, si on aime piloter, on s’emmerde un peu". Sa compétence est d'avoir un brevet sur A320 qu'il sait gérer et piloter. Le problème est que ses compétences de pilotage sont utilisées moins souvent. C'est d'ailleurs un sujet récurrent dans l'industrie : comment maintenir les compétences de pilotage manuel quand les automatismes réalisent la majorité du travail (j’avais évoqué exactement les mêmes inquiétudes dans cet article) ?

Par conséquent, ses compétences sollicitées se sont déplacées.

Exemple de cockpit d’un Piper PA-28-151 Cherokee Warrior dans lequel de futures pilotes de ligne peuvent se former

Exemple de cockpit d’un Piper PA-28-151 Cherokee Warrior dans lequel de futures pilotes de ligne peuvent se former (src : Wikipedia)

La future vie d’un informaticien “in a nutshell” ?

Autrefois, un développeur forgeait son expertise ligne après ligne, projet après projet. Le code était à la fois son outil de production et son principal moyen d'apprentissage. Il progressait à travers les principes de conception logicielle, les patterns d'architecture, les pratiques du craft, le déploiement continu et l'exploitation des systèmes (OPS)… Avec l'arrivée de l'IA générative, cette relation évolue rapidement. Une partie de l'écriture est désormais déléguée à la machine; la valeur se déplace vers la capacité à orienter l'IA, lui fournir le bon contexte, évaluer ses propositions et en garantir la qualité. Le développeur continue de créer du logiciel, mais de moins en moins en tapant lui-même chaque ligne de code.

Il joue plutôt le rôle d’un superviseur de “machine” (i.e. LLM d’IA générative), pas vraiment déterministe au passage. Il supervise un collaborateur très rapide mais parfois peu fiable. Sur certains projets, son équipe s’amaigrit en passant de 5 à 2 personnes. Son background technique reste le même et est nécessaire mais ses pratiques et ses compétences se déplacent. Certains développeurs trouvent d’ailleurs cela ennuyeux.

Alors quel est le rapport avec nos pilotes d’avions de ligne ?

Les similitudes

Les 2 sont des professions avec un haut niveau de technicité. Les études sont longues, nécessitent un bon niveau en maths et sont potentiellement coûteuses. Socialement et financièrement ces 2 professions ont été considérées pendant longtemps comme élevées et stables, avec des avenirs assurés.

La rupture

Dans l’aviation : le passage de de 3 à 2 pilotes dans le cockpit

Si on analyse l’histoire de l'aviation : avant dans un avion de ligne, il y avait 3 personnes dans le cockpit. Un pilote, un copilote et un mécanicien. La disparition du mécanicien s’est faite progressivement entre les années 1970 et 1990, avec l’automatisation des systèmes de bord. Le travail autrefois fait par ce mécanicien navigant était alors désormais géré par des ordinateurs et des systèmes automatiques de surveillance. L'automatisation faisait alors son entrée dans le cockpit au grand dam à l’époque des pilotes qui se sentaient menacés, dévalorisés et craignaient pour la sécurité des vols (voir chapitre “Impacts sociaux”).

Note : Le rôle du mécanicien était de surveiller et gérer les systèmes techniques de l'avion :

  • Contrôle des moteurs (températures, pressions, consommation de carburant)
  • Gestion du carburant (équilibrage entre les réservoirs, transferts de carburant)
  • Surveillance des systèmes électriques, hydrauliques et pneumatiques
  • Vérification des check-lists techniques avec les pilotes
  • Détection et gestion des pannes ou anomalies
  • Calculs de performance liés au poids, au carburant ou aux moteurs

1 pilote, 1 co-pilote et 1 mécanicien étaient nécessaires pour piloter un avion de ligne comme le Concorde

1 pilote, 1 co-pilote et 1 mécanicien étaient nécessaires pour piloter un avion de ligne comme le Concorde (Credit Photo: AFP)

Dans l’informatique : l'émergence de l’IA générative dans le développement logiciel

Les informaticiens craignent les changements qui leur sont (quasi) imposés - pour un non dit d’optimisation des coûts - à leur métier du fait de l’arrivée l’IA générative dans leurs activités de développement logiciel (la production de code est le plus visible à date, d’autres activités en amont et en aval seront aussi impactées). Certains résistent mais la tendance de fond est bien lancée et l'efficacité est peu contestable, nous le mesurons nous-mêmes tous les jours.

Pour autant, les inquiétudes ne relèvent pas uniquement du fantasme. L'intensification des cadences, la fatigue, la réduction de la taille des équipes, la difficulté à conserver un regard critique sur des productions générées toujours plus rapidement, le syndrome de l'imposteur ou encore la peur d'une substitution progressive des compétences humaines par l'IA générative constituent des préoccupations bien tangibles que nous constatons chaque jour sur le terrain.

Quant aux jeunes diplômés, ils sont les plus directement impactés par ces nouvelles approches qui peuvent ralentir leur phase d’apprentissage, les IAs faisant à leur place les tâches les plus simples et répétitives - mais pourtant ô combien importantes pour assurer leur montée en compétence. Tout est à réinventer pour eux, et rien d’impossible avec de la discipline et un encadrement adapté, pour qu’ils puissent apprendre tout en se familiarisant avec l’approche soutenue par les IA génératives.

Les jeunes diplômés, ralentissent leur phase d’apprentissage, les IAs faisant à leur place les tâches les plus simples et répétitives

Les jeunes diplômés, ralentissent leur phase d’apprentissage, les IAs faisant à leur place les tâches les plus simples et répétitives (illustration réalisée avec Gemini)

Le parallèle entre ces 2 mondes

Aujourd’hui, dans l’informatique, est ce qu'on ne serait pas à ce moment où l'on passe de 3 à 2 pilotes ? Où les compétences pour piloter un A320 ne sont plus les mêmes que pour piloter un Cessna (même si bien sûr, ces 2 types d’avions suivent les mêmes lois de la physique aérodynamique) ? Pour se former au départ, il faut bien apprendre les lois de la physique, piloter un avion en mode manuel et aux instruments. En informatique, comment se former alors comment acquérir des compétences de bases pour ensuite être capable de manoeuvrer avec une IA et ne pas se sentir un imposteur.

Si on se sent imposteur c'est qu'on a pas de background ou qu'on a pas le réflexe d'aller consulter l'expert qui va nous dire si on se trompe ou pas ou qui va nous questionner sur le contexte pour voir si la réponse est adaptée etc...et ça cela ne s'apprend pas avec de l'IA mais avec les interactions avec les autres, au fil des missions et en apprenant à coder à la main. La connaissance s'acquiert par la pratique. Pour le moment, on a toujours besoin de s’assurer que les IAs ne dérivent pas ou qu'elles produisent bien un code ou des conseils qui tiennent la route. Le développeur ne supervise pas une “machine” (IA générative) déterministe comme un pilote supervise un pilote automatique certifié. Il supervise plutôt un collaborateur très doué, rapide mais parfois peu fiable. De plus, en mode “continuous delivery”, on adapte le logiciel en avançant (mouvant). Certes, avec l’IA on crée, on vérifie de manière automatique que le logiciel développé est aux standards attendus, passe des tests automatisés préalablement définis mais pas que le métier implémenté est “définitivement” correct - les QA ou le métier doivent valider (avec le risque de devenir point de contention dans la chaine de productiopn logicielle).

Le développeur ne supervise pas une “machine” (IA générative) déterministe comme un pilote supervise un pilote automatique certifié. Il supervise plutôt un collaborateur doué, rapide mais parfois peu fiable

Le développeur ne supervise pas une “machine” (IA générative) déterministe comme un pilote supervise un pilote automatique certifié. Il supervise plutôt un collaborateur doué, rapide mais parfois peu fiable (illustration réalisé avec Gemini)

Impacts sociaux

Quelles similitudes entre le pilote d’avion de ligne et l’informaticien ?

L’impact social dans l’aviation civile

Y a-t-il eu des contestations lors de la disparition du mécanicien navigant. La réponse est oui, énormément ! La disparition du mécanicien navigant a provoqué de fortes résistances dans l’aviation civile, surtout à la fin des années 1970 et au début des années 1980. Les critiques portaient sur deux grands points : la sécurité et la suppression d’emplois très qualifiés avec de l’expérience humaine embarquée. Les syndicats de pilotes et de mécaniciens navigants craignaient qu’un cockpit à deux personnes augmente la charge de travail et réduise la capacité à gérer les pannes complexes. Avec le temps, les compagnies ont accepté le cockpit à deux parce que les systèmes devenaient beaucoup plus automatisés, les coûts d’exploitation baissaient et les nouveaux avions étaient conçus dès l’origine pour deux pilotes seulement.

Et ce débat n’a jamais complètement disparu. Aujourd’hui encore, il existe une forte opposition syndicale aux projets de vols avec un seul pilote en croisière. Les syndicats de pilotes dénoncent un risque pour la sécurité; l’accident de la German AirWings plaide d’ailleurs encore plus en ce sens.

Quelle similitude avec l'impact sociétal de l'IA ?

La question se pose surtout pour celles et ceux qui vivent cette transformation en cours de route. Les résistances les plus fortes proviennent souvent de ceux qui vivent cette transformation en plein milieu de leur carrière. Non seulement elle remet en question des compétences acquises au fil des années, mais elle interroge également leur rapport au métier et ce qui les avait initialement attirés vers lui. Lorsqu'une partie significative de l'intérêt/valeur au métier se déplace, il est naturel que cela suscite des inquiétudes, voire une forme de perte de repères.

Ensuite, les parcours d'apprentissage traditionnels, apprendre à coder, accumuler de l'expérience, progresser vers des responsabilités plus larges, semblent soudainement remis en question par l'émergence de l'IA générative. Comment devenir un expert demain si une partie du travail qui formait hier les experts est désormais automatisée ?

Les vendeurs de chevaux qui ont perdu progressivement certains de leurs débouchés avec l'arrivée de l’automobile au début du XXe siècle

Parallèle de mutation subie : les vendeurs de chevaux qui ont perdu progressivement certains de leurs débouchés avec l'arrivée de l’automobile au début du XXe siècle (Illustration réalisée avec Gemini)

La véritable difficulté réside dans cette phase de transition. Un creux peut apparaître entre les compétences historiquement valorisées et celles qui seront attendues demain. Ce creux risque de toucher particulièrement une partie de la génération actuelle de juniors, qui arrive sur le marché au moment même où les règles du jeu évoluent.

Une solution : embrasser la disruption en se formant

Alors, certaines organisations ont déjà commencé à adapter leurs pratiques. Nous même intégrons des profils juniors dans des projets utilisant l'IA générative, afin qu'ils acquièrent simultanément les fondamentaux du développement (Craft) et les nouveaux modes de travail. Les fondamentaux continuent de s'acquérir par la pratique, l'encadrement et le mentorat. Confier à des équipes de juniors des outils d'IA générative sans accompagnement reviendrait à les exposer à des problèmes pour lesquels ils n’ont pas suffisamment de connaissances pour les détecter et les corriger. A l’inverse - les juniors peuvent avoir une capacité à expérimenter ce qui peut nourrir aussi les plus anciens. Dans tous les cas, notre industrie devra continuer à renouveler son vivier d'experts. Les seniors qui tirent aujourd'hui parti de ces nouveaux outils ne resteront pas éternellement en activité ; il faudra donc bien former la génération suivante.

A moyen terme on fera le constat que les générations formées dès le départ avec l'IA intègreront naturellement ces outils dans leurs pratiques et les nouveaux entrants sur le marché de l'emploi évolueront dans un environnement où leur usage sera devenu la norme. Enfin, même transformés par l'IA, les informaticiens resteront des professionnels hautement qualifiés.

A plus long terme, leurs compétences pourraient encore davantage se déplacer vers la collecte, le cadrage des besoins métiers et la sécurisation de la production logicielle car je m’interroge sur ce que permettront les IA génératives à l’avenir. Ne pourrait t-on voir des logiciels sortirent d’usine de développement dans des processus globaux disciplinés grâce à du “harness engineering qui consiste à construire l’environnement d’exécution autour d’un agent IA autonome, pour qu’il soit fiable et contrôlable. Le modèle (LLM) seul est imprévisible; le harness est la couche logicielle qui le “domestique” : contraintes, outils, règles, vérifications, observabilité.

A suivre …

Le dessin industriel : en 30 ans, les dessinateurs ont dû s'adapter avec l’arrivée de la CAO puis avec les stations de travail graphiques et les logiciels comme CATIA ou AutoCAD. Le métier passe de “dessinateur industriel” à “dessinateur-projeteur CAO”

Parallèle d’évolutions technologiques successives - le dessin industriel : en 30 ans, les dessinateurs ont dû s'adapter avec l’arrivée de la CAO puis avec les stations de travail graphiques et les logiciels comme CATIA ou AutoCAD. Le métier passe de “dessinateur industriel” à “dessinateur-projeteur CAO” (illustration réalisée avec Gemini)

Un changement de statut social ?

Et si, au-delà des métiers eux-mêmes, c'était aussi le statut social qui évoluait ? Après tout, les promesses d'un emploi particulièrement valorisé et du prestige qui l'accompagnait ne sont pas immuables. Le développeur « rock star », figure emblématique des années 2000-2010, pourrait-il voir son aura s'estomper à mesure que l'IA démocratise certaines compétences, à l'image de ce qu'ont connu les pilotes de ligne dans les années 1990-2000 ? Une perte de prestige relatif du métier : le métier est devenu plus standardisé et davantage encadré par les procédures, l'automatisation a réduit une partie de l'image du pilote « héros de l'aviation ». Pour autant le pilote reste un professionnel hautement qualifié.

Les différences dans l’IT, et après que va t-il se passer ?

Dans l’aviation, les changements (passage de 3 à 2 pilotes) se sont faits sur plusieurs années voire deux dizaines d’années. Il a fallu attendre le remplacement progressif des flottes d'avions. On peut parler d’une désindustrialisation progressive du métier, plutôt que d’une disparition brutale. Dans l’aviation l’échec est potentiellement grave (mortel) l’automatisation n’est possible sans une compréhension profonde des mécanismes opérationnels. Ce n’est pas le cas avec l’essentiel des SI de gestion (il y a des exceptions bien entendu).

Dans l’IT, l’impact de l’IA progresse à une vitesse sans précédent. Il y a à peine deux ans, les départements informatiques exploraient encore timidement le sujet : les initiatives étaient balbutiantes et les outils n’étaient pas encore secs. Aujourd’hui, l’IA dans le développement logiciel sort de sa phase expérimentale et entame sa généralisation pour ne pas dire industrialisation.

Les outils sont toujours en évolution mais ont néanmoins atteint un niveau de maturité et de puissance tel qu’on ne peut plus vraiment attendre qu’ils se stabilisent. Il faut envisager leur généralisation. Certes ce ne sera pas simple car la généralisation passe par une fixation à minima de l’outillage et il faudra faire des choix de technologie, d’outillage ou de souveraineté, mais surtout il faudra aller au delà de sa perception d’une productivité immédiate qu’apporte l’IA car cette lecture est clairement incomplète. A l’échelle de l’entreprise, l’IA accélère tous les fonctionnements internes et, ce faisant, met sous stress la capacité de contrôle des organisations. Elle agit comme un multiplicateur de vitesse sur les systèmes existants, qu’ils soient robustes ou fragiles. L'IA accélère certes le développement logiciel mais met immédiatement en lumière les fragilités des SI, des organisations et de la vision produit des équipes.

Le sujet ne sera donc pas “faut-il adopter l’IA”, mais dans quelles conditions une organisation est-elle capable d’absorber cette accélération sans perte de contrôle ? Enfin, n’oublions pas que nous avons une tendance à surestimer la facilité de sa diffusion dans les organisations.

A l’échelle de l’entreprise,  l’IA accélère tous les fonctionnements internes et, ce faisant, met sous stress la capacité de contrôle des organisations

A l’échelle de l’entreprise, l’IA accélère tous les fonctionnements internes et, ce faisant, met sous stress la capacité de contrôle des organisations - (Illustration réalisée avec Perplexity)

Conclusion

Le développeur devient progressivement moins producteur de code et davantage un concepteur, intégrateur et évaluateur de ce système de génération logicielle. La valeur se déplace vers la compréhension du problème, le jugement technique, la sécurisation et la validation des solutions. Cette évolution rappelle celle des pilotes face à l'automatisation, avec une différence majeure : les IA génératives ne sont pas des automatismes déterministes mais des collaborateurs probabilistes (voir note), ce qui maintient un besoin élevé d'expertise humaine. En devenant évaluateur permanent de la qualité de la production, le développeur est plus proche de la direction d'une équipe de juniors doués et extrêmement rapides que de la supervision d'un automate industriel en suivant des procédures (aviation). Enfin, dans l’aviation, l’enjeu est tel que toute transformation exige une connaissance intime de l’opérationnel. Cette exigence est rarement aussi forte dans les systèmes d’information de gestion.

Note : Dans l'aviation, les ordinateurs exécutent des calculs déterministes : à conditions identiques, ils produisent systématiquement les mêmes résultats. Les procédures appliquées par les pilotes sont élaborées à partir de comportements connus, validés et prévisibles, y compris en cas de panne. C'est une différence majeure avec les IA génératives, dont les réponses restent probabilistes ne garantissant pas un comportement strictement identique à une même demande.

Le pilote de ligne et le développeur sont tous les deux confrontés à la notion de dégradation des compétences rarement utilisées. Les pilotes ont observé que lorsque les automatismes réalisent une très grande partie du travail, certaines compétences manuelles peuvent s'éroder. Pour un développeur, on peut imaginer un phénomène similaire : un développeur devient excellent pour guider une IA, mais moins performant pour implémenter lui-même un algorithme complexe ou pour déboguer sans assistance. Il faut alors maintenir ses compétences même lorsque la machine exécute la plupart des tâches ?

Rester capable d’évaluer, de juger la pertinence de ce que l’IA produit. Comme un pilote qui entretient ses sensations de vol, il est crucial de conserver nos réflexes

Rester capable d’évaluer, de juger la pertinence de ce que l’IA produit. Comme un pilote qui entretient ses sensations de vol, il est crucial de conserver nos réflexes; (illustration réalisée avec Gemini)

Enfin, les pilotes ont absorbé l'automatisation sur plusieurs décennies, au rythme du renouvellement des avions et des certifications. Le métier a été progressivement reconfiguré sans rupture brutale. À l'inverse, l'IA générative transforme le développement logiciel à l'échelle de quelques années. Ce qui a pris trente ans dans l'aviation pourrait ne prendre que cinq ans ou moins dans l'IT. La nature du changement est similaire, déplacement des compétences vers la supervision, la décision et la gestion de systèmes complexes, mais la vitesse est plus rapide au niveau des équipes de développement … pour le reste de l'entreprise, ce n’est pas aussi évident.

Quelques références