- Un développeur qui programme depuis 42 ans, depuis 1983, partage ses sentiments complexes face au tournant de l’ère de l’IA, en constatant que la nature même du développement logiciel est en train de changer
- Des ordinateurs 8 bits au 486, il a traversé d’innombrables transitions technologiques, en partant d’une époque où l’on comprenait et contrôlait directement chaque octet de la machine, mais les compétences fondamentales se transmettaient toujours
- Contrairement aux précédents changements de plateforme, de langage ou de paradigme, l’IA constitue une transition qui change jusqu’au sens même de « être bon »
- En passant de l’écriture directe du code à un rôle de relecture et d’instruction, la boucle de rétroaction intime du puzzle à résoudre est en train de disparaître
- Fort de 42 années d’expérience, il crée aujourd’hui des produits plus vite que jamais, mais il traverse aussi une période où l’émerveillement et l’identité qu’il trouvait dans le développement sont en train de changer
L’époque qui m’a façonné
- En 1983, à 7 ans, j’ai écrit mon premier code en tapant du BASIC sur une machine moins puissante qu’une puce de lave-linge
- Je pouvais suivre l’usage de chaque octet de RAM, placer moi-même chaque pixel à l’écran, et le chemin entre l’intention et le résultat était direct et visible
- Ma période préférée va des machines 8 bits au 486DX2-66, chaque machine ayant sa propre personnalité
- L’attribute clash du Sinclair Spectrum, la puce SID du Commodore 64 utilisée bien au-delà de son intention de départ, ou encore les astuces de scintillement dues à la limite de 8 sprites par scanline sur la NES
- Le PC a évolué d’une boîte beige faite pour les tableurs vers une bête de jeu capable de faire tourner Doom, en passant par les 286, 386 et 486
- Ce n’étaient pas de simples produits, mais des aventures d’ingénierie aux compromis visibles ; gérer les conflits IRQ, les canaux DMA, optimiser
CONFIG.SYS et AUTOEXEC.BAT, manipuler les gestionnaires de mémoire — tout cela relevait déjà du rôle d’ingénieur système
- De petites équipes comme id Software prenaient des décisions techniques audacieuses alors que personne n’avait encore fixé les règles
- Le raycasting de Carmack pour Wolfenstein, les astuces de Doom en VGA Mode X : des exemples de gens qui poussaient de vraies contraintes jusqu’à créer quelque chose de réellement nouveau
- Puis le Plug and Play est arrivé, ainsi que les abstractions de Windows : la frontière sauvage a pris fin, et l’ordinateur est passé d’une machine fascinante qui exigeait respect et compréhension à un simple appareil domestique
La promesse dévoyée
- Au début, il existait un véritable optimisme quant à ce que l’informatique pouvait devenir — un enfant avec un Spectrum pouvait créer ce qu’il voulait, et le Web naissant ressemblait au plus grand outil d’égalisation de l’histoire humaine
- Cet espoir s’est dégradé dans une direction inquiétante : les machines que nous aimions sont devenues des outils de surveillance et d’extraction
- Les plateformes qui promettaient la connexion ont en réalité été construites pour monétiser leurs utilisateurs
- L’esprit du bidouilleur n’est pas mort naturellement : il a été récupéré pour optimiser les clics publicitaires
- Ce n’est pas la même forme de perte qu’un simple changement d’outils : c’est voir ce qu’on aimait se transformer puis être mobilisé pour quelque chose dont on ne peut pas être fier
Les transitions déjà traversées
- En 40 ans, j’ai connu d’innombrables transitions technologiques — nouveaux langages, nouvelles plateformes, nouveaux paradigmes, du CLI au GUI, du desktop au Web, du Web au mobile, du monolithe aux microservices, des bandes et disquettes aux disques durs puis aux SSD, sans parler des frameworks JavaScript éphémères qui apparaissent et disparaissent sans cesse
- À chaque vague, il fallait apprendre du nouveau, mais les compétences essentielles restaient transférables — on apprenait la nouvelle plateforme, on y appliquait sa compréhension des systèmes, et on continuait à construire
- Même l’expérience d’avoir publié des logiciels sur des plateformes aujourd’hui disparues s’est capitalisée avec effet composé à chaque fois que l’industrie a changé de cap
- Il existait un accord tacite entre développeurs expérimentés et le secteur : « les choses changent, mais la compréhension demeure »
Cette fois, c’est différent
- Les précédentes transitions technologiques suivaient le schéma « apprendre quelque chose de nouveau et y appliquer ses compétences existantes », mais l’IA n’est ni une nouvelle plateforme, ni un nouveau langage, ni un nouveau paradigme : c’est une transition qui change le sens même de ce que signifie être bon
- J’en ai pris conscience progressivement — je fais encore le même travail quand je construis des fonctionnalités ou que je conçois une architecture, mais j’ai l’impression que la partie intéressante a été vidée
- La recherche d’une solution élégante, la lutte avec les contraintes, la satisfaction quand tout s’emboîte : de plus en plus, cette partie est traitée par un modèle qui ne se soucie pas de l’élégance et n’éprouve aucune satisfaction
- C’est moins cher, plus rapide, mais creux
- Mon rôle a changé : je ne tape plus directement le code, je relis, j’oriente, je corrige — je sais que mon jugement, forgé par 42 ans de pratique, sur ce qui fonctionne ou non a de la valeur, mais c’est un autre type de travail, et cela ne procure pas la même sensation
- La boucle de rétroaction a changé, et l’intimité a disparu — ces puzzles qui me tenaient éveillé la nuit, cette traque, ce moment où l’on comprend enfin pourquoi quelque chose ne marche pas, tout cela se retrouve comprimé en prompts et réponses
- Je vois des personnes avec une fraction infime de cette expérience produire des résultats superficiellement similaires — la différence d’artisanat existe toujours, mais elle est plus difficile à percevoir de l’extérieur, à valoriser, et même à ressentir intérieurement
La tour des abstractions
- Sur LinkedIn, j’ai vu un développeur au début de la vingtaine, avec quelques années d’expérience, se lamenter qu’avec l’IA il « ne savait plus ce qu’il se passait »
- Il ne réalisait pas qu’il se trouvait déjà, depuis le départ, tout en haut d’une chaîne d’abstractions, sur une tour de Jenga vacillante
- TypeScript → compilation en JavaScript → moteur V8 écrit en C++ → appels système du noyau de l’OS → planification des threads sur des cœurs auxquels on ne pense jamais → contrôleur mémoire avec couches de cache → 400 paquets npm dont il n’a jamais lu une ligne
- Le navire des abstractions avait déjà quitté le port depuis des décennies ; simplement, chaque couche était arrivée progressivement, ce qui nous permettait encore de faire semblant de comprendre toute la pile
- L’IA est la couche qui rend ce simulacre impossible à maintenir
- Se souvenir de ce que cela faisait de comprendre toute la machine, et ressentir une forme de tristesse à l’idée de perdre cela, est quelque chose que ceux qui ne l’ont jamais connu ne peuvent pas pleinement éprouver
Ce qui reste
- Il est vrai que l’expérience n’a jamais eu autant de valeur, que la pensée système et le jugement architectural sont des choses que l’IA ne remplace pas, et que l’artisanat continue d’exister sous d’autres formes
- Dans les tâches complexes — gestion des dépendances au niveau système, maintien de modèles mentaux sur plusieurs spécifications en interaction, milliers de petites décisions qui donnent à quelque chose une impression de cohérence — j’apporte encore ce que l’IA n’a pas : du goût, du jugement, des décennies de reconnaissance de motifs
- Quand générer du code devient bon marché, le goulot d’étranglement se déplace vers ceux qui savent quoi demander, qui peuvent détecter qu’une sortie est subtilement erronée et garder la vue d’ensemble — ce n’est jamais la frappe qui a été la partie difficile
- Mais prétendre que cela procure la même sensation serait mentir — l’accès à l’émerveillement devient plus difficile, et le sentiment de découverte né du simple entêtement et de l’ingéniosité se trouve compressé. On gagne quelque chose dans cette compression, mais on y perd aussi quelque chose
La jachère
- J’ai eu 50 ans récemment, et après quatre années d’une phase intense de production et de construction identitaire, je suis entré dans ce que j’ai commencé à appeler une « période de jachère »
- Ce n’est pas un burn-out — c’est le processus consistant à chercher de nouvelles fondations pendant que le sol bouge sous un édifice qu’on croyait permanent
- Il n’y a pas de conclusion propre — les conseils du type « monte dans la stack », « adopte les outils », « concentre-toi sur ce que l’IA ne peut pas faire » sont probablement justes, mais ils ne résolvent pas ce ressenti
- Le sentiment que ce à quoi j’ai consacré 42 ans s’est transformé en quelque chose que je pourrais ne plus reconnaître — pas forcément pire, mais différent, et qui remet en cause l’identité construite autour de lui, sans offrir la même satisfaction qu’avant
- Je suppose que beaucoup de développeurs de plus de 40 ans ressentent quelque chose de similaire sans le dire, parce que le secteur vénère la jeunesse et l’adaptabilité, et qu’admettre que « cela ne ressemble plus à avant » sonne comme un aveu de décrochage
- Pourtant, ce n’est pas un décrochage — j’utilise les nouveaux outils pour construire plus vite que jamais et créer des produits dont je n’aurais pu que rêver il y a quelques années, tout en essayant de comprendre ce que signifie désormais “construire”
- J’ai commencé à programmer à 7 ans parce que la machine exécutait exactement ce qu’on lui disait, parce qu’on pouvait l’explorer et, au bout du compte, avoir l’impression de la connaître ; cela ressemblait à de la magie, et aujourd’hui, à 50 ans, la magie est différente, et j’apprends à vivre avec elle
11 commentaires
C’est parce qu’une technologie aux fondements moralement douteux est apparue. Les données sur lesquelles les LLM ont été « entraînés » n’ont pas été autorisées pour un tel usage (même s’ils affirment le contraire), et ils sont donc incapables d’énumérer correctement quelles données ont été « apprises ». Il devient donc impossible d’en comprendre la structure. Dès l’origine, c’est une technologie qui ne respecte pas l’esprit humain et qui détruit l’environnement en produisant en masse de fausses copies sans autorisation.
Moi aussi, j’ai commencé avec le Basic, et voilà que ça fait déjà plus de 40 ans.
À l’époque où j’apprenais encore le boulier, maintenant j’utilise des agents IA, donc le monde change vraiment à toute vitesse.
Mais je n’ai pas vraiment le même ressenti que l’auteur, je trouve juste amusant de voir comment les choses évoluent en ce moment.
Avis Hacker News
Avec le temps, j’ai eu l’impression que l’environnement de développement se dégradait à mesure que la complexité des OS augmentait et que l’importance sociale du logiciel grandissait.
Le Mac de 1984 disposait déjà de riches bibliothèques graphiques, et l’abstraction était une évolution inévitable. Personnellement, j’aimais les frameworks bien conçus.
Mais à partir du moment où le logiciel a commencé à dominer nos vies, « l’époque où les ingénieurs menaient la danse » s’est terminée, et une culture centrée sur la gestion — Agile, tests unitaires, revues de code — a fini par me voler le plaisir de coder.
Aujourd’hui, une fois à la retraite, je code de nouveau librement et je retrouve ce côté « cowboy programmer » d’autrefois.
La qualité du code produit par l’IA reste au fond proportionnelle au niveau du développeur qui l’utilise. Un excellent développeur obtient toujours d’excellents résultats.
Même en utilisant l’IA, on peut retravailler soi-même les parties importantes et garder du temps pour réfléchir. Le vrai défi, à mon avis, n’est pas la technologie mais la gestion du temps.
Avant, passer la nuit à écrire une bibliothèque de rendu en assembleur donnait l’impression de faire de la magie. Je pensais qu’il n’y avait rien de magique dans les conteneurs Docker, mais ces temps-ci je recommence à ressentir cette magie à 2 heures du matin, sous la lumière de l’écran.
J’ai aussi 50 ans, et je suis enthousiaste à l’idée de pouvoir enfin concrétiser, grâce aux assistants de code IA, des projets personnels que je n’avais jamais eu le temps de faire.
Développer avec un chatbot donne l’impression de remplir un formulaire. Mais le monde change, donc il faut bien l’accepter.
On se rend compte que la plupart des gens préfèrent l’efficacité à l’artisanat, et que les vrais artisans sont rares. Au final, on risque peut-être de perdre encore un fragment de culture.
Mais déboguer du code produit par un LLM donne l’impression de corriger le code de quelqu’un d’autre, sans le même sentiment d’accomplissement. On finit plus vite, mais on a l’impression que ce n’est plus vraiment le sien.
Les enfants d’aujourd’hui ressentent encore cette magie. Dans 50 ans, on entendra sans doute : « le temps où on bricolait du tuning de GPT-6.2 RAG me manque ».
config.sys, alors qu’aujourd’hui il est déjà difficile d’obtenir un simple chemin de fichier sur un smartphone.config.syssuffisait, alors qu’aujourd’hui il y a des milliers de composants. L’IA est un outil pour gérer cette complexité. On est peut-être justement au début de l’âge d’or de l’IA.Moi, je fais partie des premiers. Grâce à l’IA, je peux construire des choses que je n’avais jamais eu le temps de faire. Je peux me concentrer sur les fonctionnalités essentielles.
Mon enthousiasme pour les technologies du futur a disparu, et je me tourne vers d’autres domaines.
Quand j’étais dans une grande entreprise, je ne m’amusais pas, mais maintenant j’aime m’asseoir chaque jour devant mon IDE.
Si la programmation a cessé d’être amusante pour vous, je vous recommande de passer au conseil. Retrouver son indépendance et son contrôle redonne du plaisir.
Dès la seconde, je me suis dit que j’irais en informatique, alors j’ai rempli mon dossier scolaire avec des activités liées à l’info et j’ai aussi appris un peu en autodidacte pendant mon temps libre ; me voilà maintenant futur élève de terminale, et ces derniers temps j’ai l’esprit vraiment embrouillé. Quand j’ai utilisé GPT-3, ou quelque chose comme l’une de ses toutes premières versions, j’étais surtout impressionné par le fait qu’une IA puisse parler aussi naturellement, et je suis même allé sur le Discord de Midjourney pour générer des images, mais à l’époque ça ressemblait plutôt à un « jouet fascinant » ; je n’aurais jamais imaginé que ça progresserait aussi vite. J’avais aussi vu des IA comme Bixby depuis plus longtemps, donc mes attentes étaient assez basses.
Mais sans que je m’en rende compte, l’IA a explosé, les Big Tech se sont mises à investir dedans, et on a commencé à entendre partout que les perspectives de l’informatique étaient sombres, ce genre de choses. Bien sûr, l’IA générative n’est au fond qu’un programme complexe qui aligne des mots selon des probabilités mathématiques élevées, mais elle imite tellement bien le travail humain, et sa progression est tellement rapide, que je m’inquiète quand même : après avoir fini l’université, voire même après un master, y aura-t-il encore suffisamment d’emplois…
Entre conviction et inertie, je continue à étudier et à soigner mon dossier pour intégrer comme prévu le département d’informatique de l’Université nationale de Séoul, mais il m’est difficile de me débarrasser de cette anxiété. Et puis, quand il arrive qu’apprendre le développement en interrogeant une IA soit de loin plus rapide qu’en passant par des livres, ça me laisse aussi des sentiments contradictoires… Voilà.
N’est-ce pas plutôt une bonne période, justement ? Si l’on va plus vite que les autres, on a l’impression de pouvoir devenir expert assez rapidement. Même dans le domaine de l’IA, il reste encore beaucoup à faire… Pour l’instant, on en est à peine au stade où l’on sait simplement bien coder.
Je pense un peu la même chose, même si nous ne sommes pas de la même génération haha
Dans les filières artistiques et sportives aussi, on choisit la spécialité qu’on aime, même en sachant qu’il est difficile de trouver un emploi. Décidez selon ce qui compte le plus pour vous : l’importance de l’emploi, ou le fait qu’il soit acceptable de faire ce que vous aimez même si l’embauche est difficile. Utiliser l’IA pour créer des logiciels et faire de la recherche en IA reste quelque chose de formidable.
J’ai moi aussi commencé avec le BASIC, et à l’école primaire je raflais toutes sortes de concours. Je créais surtout des jeux, et je considère que mon plus grand sommet de carrière a été d’avoir réalisé un jeu de tir à la première personne quand j’étais en primaire. Ensuite, j’ai commencé par le COBOL, le Fortran, le C/C++, puis j’ai développé des applications/jeux Windows, des serveurs de jeu, des applications embarquées pour feature phones/set-top boxes, puis sur iOS et Android, avant de développer des web apps en full stack sur une base Node et Python, tout en étant très actif dans l’open source autour de Node. J’ai compris, développé et expérimenté la plupart des systèmes, frameworks, OS, etc. depuis les fondations. Arrivé dans la quarantaine, même quand un nouveau framework ou OS sortait, c’était toujours plus ou moins la même chose. En revanche, le développement basé sur l’IA est fondamentalement différent. Cela ressemble à une extension des tâches qu’on a faites jusque-là, mais ce n’en est pas une. En comptabilité ou dans les tâches de bureau, le travail reste le même, mais passer du boulier au tableur n’est pas dans la continuité. La question n’est pas de savoir si on aime ou pas, ni si cela a changé. La question est de savoir si l’on va continuer à manipuler le boulier ou passer à un autre domaine.
C'est impressionnant.
J’ai moi aussi passé la cinquantaine et je travaille toujours dans le métier depuis le début des années 2000, mais avec l’arrivée de l’IA, je pense au contraire que ça a été une bonne chose. Avant, quand j’analysais le code source du noyau, je cherchais encore et encore en me mettant beaucoup de pression ; maintenant, je demande à l’IA de le faire, puis je revérifie moi-même si c’est exact à partir de là, donc je suis moins stressé et je peux comprendre davantage de choses, plus en profondeur. Et comme je viens d’une base firmware, je peux désormais aller jusqu’au développement d’applications Android, ce qui m’a fait comprendre qu’un business en solo était aussi possible.
Moi aussi, j’ai commencé avec BASIC en 1983,
et j’ai connu sur MSX la même limite de 8 sprites par scanline sur les NEC (MSX1, c’était 4), donc je suis vraiment heureux de lire un texte qui partage la même époque et les mêmes expériences.
Je comprends aussi très bien la nature des questionnements actuels.