Le web est inondé de prédictions apocalyptiques à propos des métiers qui seront bientôt pris en charge par une forme ou une autre d'intelligence artificielle. Mais, jusqu'à cette liste établie par la revue InformationWeek, le développement informatique était passé sous les radars. Il a pourtant de bonnes raisons d'être automatisé, ce qui aura de nombreuses conséquences insoupçonnées.
Fondée sur une approche purement logique, l'écriture de code serait depuis longtemps confiée à des agents virtuels s'il était possible de faire comprendre à ces derniers les fonctions à programmer, facilement et de manière fiable. Or, inéluctablement, le moment où ce rêve sera devenu réalité approche. La meilleure raison d'y croire maintenant est la pénurie croissante de professionnels (humains) dans un univers où le moindre objet ou service est motorisé par un logiciel plus ou moins élaboré.
En effet, le marché est actuellement si déséquilibré que la création de solutions automatiques s'en trouve fortement stimulée. Dans un premier temps, les outils de type « low code » apportent une réponse partielle, en facilitant l'assemblage d'applications avec un minimum de programmation. Mais, les progrès sont rapides et, déjà, l'université de Cambridge expérimente [PDF] une approche d'apprentissage automatique pour une génération de code informatique entièrement autonome.
Il est peut-être prématuré de parler de la disparition prochaine des métiers du développement logiciel (encore ne faut-il pas ignorer la possibilité d'une accélération du phénomène), mais il est certain qu'il s'agit désormais d'une hypothèse à prendre en compte. Examinons de près quelques impacts prévisibles, susceptibles de remettre en question des certitudes aujourd'hui bien ancrées dans les mentalités.
Tout d'abord, il serait important de s'interroger sur l'intérêt stratégique d'apprendre à coder. Le mouvement, qui tend à prendre de l'ampleur, concerne autant les adultes que les enfants, auxquels on promet – entre besoin supposé d'appréhender le monde « digital » et opportunités illimitées d'emploi – une carrière brillante s'ils savent écrire une application et un avenir noir dans le cas contraire. J'ai déjà eu l'occasion de prendre position sur ce sujet mais il me semble nécessaire de tuer à nouveau le mythe.
Il est parfaitement admissible que, dans la période de transition que nous vivons, posséder des notions de programmation est utile pour comprendre comment notre environnement numérique se façonne et fonctionne. Mais, demain, il sera superflu d'être développeur pour créer (et encore moins pour utiliser) des logiciels, de la même manière qu'il est devenu totalement accessoire de connaître les détails de l'architecture d'un ordinateur, ce qui paraissait – et, dans un sens, était – indispensable il y a 30 ans.
Un autre aspect, potentiellement terrifiant, de l'arrivée de l'intelligence artificielle dans la production de code serait la capacité de prolonger la vie du patrimoine antédiluvien de certaines institutions financières, alors que les personnes maîtrisant les systèmes et les langages sous-jacents se font plus rares. Le danger est, bien entendu, de profiter de l'aubaine pour éviter de lancer des chantiers de modernisation primordiaux. Le scénario idéal serait plutôt une utilisation en assistance à la transition.
Enfin, le fond du problème est que le logiciel devient progressivement trop complexe (et trop critique) pour être confié à des humains : à terme, seule l'intelligence artificielle sera en mesure d'en assurer la production, avec l'efficacité et la sécurité requises. Quand on parle de la généralisation de l'informatique quantique dans une dizaine d'années, les difficultés seront décuplées et il n'y aura probablement plus le choix…