Commencez la semaine avec un avis douteux !

MMaximilian Schwarzmüller
Computing/SoftwareSmall Business/StartupsManagementInternet Technology

Transcript

00:00:00Aujourd'hui, je me suis réveillé en découvrant un post intéressant de Guillermo Rauch, le PDG de Vercel, au sujet
00:00:06duquel je veux discuter, tout en partageant mes réflexions sur les implications et le rôle du code, et sur
00:00:11l'importance réelle du code aujourd'hui et dans le futur.
00:00:16Dans ce post, Guillermo affirme : « Le code est un résultat, la nature reprend ses droits.
00:00:21Pendant trop longtemps, nous avons traité le code comme une donnée d'entrée.
00:00:23Nous l'avons glorifié, formaté à la main, embelli, et en avons fait une obsession.
00:00:28Nous avons conçu des interfaces sophistiquées pour l'écrire, des IDE.
00:00:31Nous avons utilisé la coloration syntaxique, le Tree-sitter, les mini-cartes, les raccourcis clavier, l'autocomplétion en ligne,
00:00:37le texte fantôme.
00:00:38Quel est ce thème de couleurs ?
00:00:40Nous avons passé des nuits à débattre de la longueur idéale des API et des corps de fonctions.
00:00:44Est-ce que cette API sera assez élégante pour être lue par un autre humain ?
00:00:48Nous portons désormais notre attention sur les véritables entrées : besoins, spécifications, retours, inspiration de design,
00:00:54et surtout les données de production.
00:00:58Nos agents de codage doivent comprendre comment vos utilisateurs vivent votre application, quels
00:01:04erreurs vous rencontrez, et transformer cela en code.
00:01:07Inévitablement, nous glorifierons moins le code, ainsi que les codeurs.
00:01:12Les meilleurs ingénieurs avec qui j'ai travaillé ont toujours vu le code comme un moyen de parvenir à une fin, un résultat
00:01:17qui est voué à être bientôt transformé de nouveau. »
00:01:20Waouh, il y a énormément de choses dans ce post !
00:01:23Et cela m'inspire beaucoup de réflexions.
00:01:27Évidemment, et je pense que nous le voyons tous, le rôle même ou le monde entier de
00:01:35la programmation évolue à toute vitesse.
00:01:38Il se passe énormément de choses, et je suppose que beaucoup de gens dans le milieu ressentent
00:01:46que depuis décembre, tout s'est encore accéléré avec Opus 4.5, Cloud Code et maintenant
00:01:53Codex ; nous avons de nouveaux modèles et outils presque chaque semaine.
00:01:58Les choses changent vite.
00:02:01Sur une note personnelle, j'essaie bien sûr de suivre le rythme pour le contenu
00:02:06que je crée, mes formations et ma façon de travailler, qui est le socle
00:02:10de tout cela. C'est pourquoi j'ai sorti des cours sur Cloud Code et Codex, et je propose
00:02:16actuellement une grosse promotion sur mon abonnement annuel, qui donne
00:02:21accès à tous les cours pour un prix dérisoire.
00:02:24Mais cela a un impact sur nous tous. C'est là mon point.
00:02:27C'est en train de changer ce que nous faisons.
00:02:28Cela change mon contenu et, bien sûr, notre façon de concevoir des logiciels.
00:02:35Cependant, je ne suis pas certain que nous nous éloignions vraiment du code, et pour moi,
00:02:42ce post laisse entendre que le code n'a plus d'importance, ce avec quoi je suis assez en désaccord.
00:02:50Alors, j'admets, et c'est une évidence, que par le passé, nous étions obsédés par
00:02:58le design des API, le nommage des variables et des fonctions, et l'esthétique du code.
00:03:07Mais je soutiens qu'une partie de cela reste cruciale aujourd'hui et le sera probablement
00:03:15encore à l'avenir.
00:03:17Car même si le rôle des humains passe de l'écriture du code à sa révision,
00:03:24qu'est-ce qui est le plus facile à relire : une base de code brouillonne de 10 000 lignes
00:03:33partiellement redondantes ou inutilement complexes, avec des fonctions mal nommées, ou une base de code propre ?
00:03:41Lequel sera le plus simple à réviser ?
00:03:44Même si une grande partie de ce processus de révision est confiée aux machines et à l'IA
00:03:50dans le futur, ce qui est possible, je ne suis pas convaincu que la qualité
00:03:59du code n'aura plus aucune importance dans ce monde-là.
00:04:02Ne serait-ce que parce que vous payez pour tous ces tokens générés et révisés ;
00:04:09si quelque chose est mieux conçu, cela consommera probablement moins de tokens, tant pour la génération
00:04:17que pour la révision de ce code.
00:04:19Le coût des tokens semble devenir un enjeu majeur car, pour l'instant,
00:04:25nous bénéficions tous de tarifs subventionnés par Anthropic ou OpenAI.
00:04:30Nous ne payons pas le coût réel du token avec nos abonnements à 20 ou 200 dollars.
00:04:37Ces abonnements ne sont pas
00:04:39forcément rentables pour ces fournisseurs.
00:04:44Le véritable coût du token est bien plus élevé.
00:04:47Et il est fort probable que les prix augmentent à l'avenir lorsque
00:04:54ces entreprises devront enfin gagner de l'argent.
00:04:57Certes, le progrès technique pourrait faire baisser le coût global du token,
00:05:02mais nous n'en avons pas encore la certitude.
00:05:07Nous ignorons comment ce marché évoluera.
00:05:10Et même si les coûts baissaient, si les entreprises peuvent vous facturer un certain
00:05:16prix bien au-dessus du coût réel, elles ne se priveront pas
00:05:22de prendre cette marge.
00:05:23Mais bon, c'est un tout autre sujet.
00:05:25L'efficacité des tokens compte aujourd'hui et comptera très probablement demain.
00:05:31Et cela est directement lié à la qualité du code car, en général, un code propre
00:05:39est un code qu'on ne laisse pas grossir indéfiniment ni devenir inutilement complexe.
00:05:47On peut certes rétorquer que les programmeurs ont eu, par le passé,
00:05:55tendance à écrire trop de code par moments, pour obtenir
00:06:02une API élégante ou des abstractions superflues dont ils n'avaient pas besoin
00:06:08au moment de l'implémentation.
00:06:09Nous avons tous connu cela : travailler sur un projet personnel sans aucun utilisateur,
00:06:15et décider de structurer l'accès à la base de données pour pouvoir en changer facilement,
00:06:22même si nous n'avions aucune intention de le faire.
00:06:24On a donc écrit un adaptateur bien plus complexe que
00:06:29nécessaire.
00:06:30On est tous passés par là.
00:06:31Était-ce une bonne idée ?
00:06:32Non, et ça ne le sera pas plus aujourd'hui ou demain, que le code soit écrit
00:06:37par vous ou par une IA.
00:06:39Actuellement, et cela peut changer, d'après mon expérience, ces modèles d'IA
00:06:45et ces outils comme Codex ou Cloud Code ont tendance à tout compliquer, à introduire
00:06:54une complexité inutile et à suggérer des changements qui n'ont
00:07:02pas beaucoup de sens. Codex, en particulier, a tendance à ne jamais supprimer de
00:07:10code, il ne fait qu'en ajouter, avec des solutions de secours et de la gestion d'héritage.
00:07:15Il faut presque le forcer explicitement à supprimer du code et à abandonner les vieilles API.
00:07:22Tout cela peut évoluer, mais ce sont des combats qu'il faut mener aujourd'hui.
00:07:30Et c'est précisément ce que ce post prétend être sans importance.
00:07:35Mais je dis : si, c'est important.
00:07:37En tant que développeur, vous devez mener ces batailles et vous soucier du code
00:07:43réel et de sa qualité aujourd'hui, et sans doute aussi demain.
00:07:49Personne ne sait ce que l'avenir nous réserve, mais il sera toujours primordial d'avoir
00:07:56une base de code qui ne devient pas inutilement complexe, pour plusieurs raisons, dont l'efficacité des tokens.
00:08:01C'est l'une d'entre elles.
00:08:02Une autre raison, en plus de la partie révision,
00:08:08est que le code a un impact direct sur les performances d'une application.
00:08:18Je ne révèle aucune vérité révolutionnaire ici,
00:08:26mais c'est quelque chose qu'on oublie facilement.
00:08:28On pourrait dire qu'avec l'IA qui génère le code, le code lui-même importe peu
00:08:34car il est facile à refactoriser, régénérer ou remplacer.
00:08:38C'est vrai, si l'on ignore encore une fois le coût des tokens.
00:08:43Mais le code généré a, ou pourrait avoir, un impact
00:08:51sur les performances de votre application.
00:08:53Il existe mille façons d'interroger une base de données.
00:08:56On peut lancer des requêtes imbriquées ou trop nombreuses car, après tout, le résultat est
00:09:03le même.
00:09:04On a les données voulues.
00:09:05Oui, mais une requête mal optimisée montre son coût réel dès
00:09:12que vous avez un nombre important d'utilisateurs.
00:09:15C'est la même chose pour les boucles imbriquées ou tout ce qui peut s'insérer dans
00:09:20votre code et dégrader les performances.
00:09:23C'est pourquoi la qualité et l'optimisation du code restent essentielles.
00:09:30On peut certes dire que les futurs modèles d'IA seront excellents pour cela et
00:09:37qu'ils pourront produire un meilleur code dès le départ,
00:09:43puis l'évaluer et l'améliorer.
00:09:47C'est tout à fait possible.
00:09:50Mais cela n'infirme pas mon idée que la qualité du code compte, peu importe si c'est
00:09:55un futur modèle qui le génère ou vous, en tant que développeur.
00:09:58La grande différence, c'est que dans un monde où l'IA peut
00:10:04tout faire, l'humain est écarté du processus.
00:10:08Et je suppose que c'est là le point de vue de Guillermo.
00:10:13Mais nous ignorons à quoi ressemblera exactement cet avenir.
00:10:16Ce que je dirais sur ce post, c'est que — je comprends — c'est ainsi que fonctionne internet
00:10:23de nos jours.
00:10:24Il faut être provocateur.
00:10:25Il faut être un peu piquant pour que des gens comme moi fassent une vidéo dessus.
00:10:30Je le conçois parfaitement.
00:10:31Mais dans ce post, on a l'impression que tout ce que nous faisions avant était
00:10:37plutôt stupide, n'est-ce pas ?
00:10:38Vraiment ?
00:10:39Créer des outils dédiés, des interfaces facilitant l'écriture du code, débattre du design des API...
00:10:45C'est stupide ?
00:10:46Eh bien non, cela montre que vous y accordez de l'importance.
00:10:51En tant qu'humain, on veut soigner son art, son travail.
00:10:56C'est comme dire : « C'est idiot que les designers aient d'abord dessiné sur
00:11:02papier avant d'utiliser des logiciels comme Photoshop pour créer de l'art
00:11:07numérique. »
00:11:08Non, ce n'est pas stupide.
00:11:10C'est précisément ce qui distingue un humain passionné par son métier
00:11:17de quelqu'un qui ne l'est pas.
00:11:19Et présenter cela comme quelque chose de stupide ou de bizarre, ou comme une époque
00:11:29révolue, est une erreur de jugement.
00:11:30Ce n'est pas une approche très constructive.
00:11:32Et bien sûr, nous créons de nouveaux logiciels en ce moment même.
00:11:36Nous développons des outils pour ce monde de l'ingénierie par agents, comme
00:11:43l'application Codex et tous ces agents et interfaces IA actuels.
00:11:49C'est le nouveau genre de logiciels que nous bâtissons et nous continuerons ainsi.
00:11:54Nous inventerons de nouvelles façons de débattre, par exemple, de la structure idéale d'une
00:12:01compétence d'agent ou de la configuration d'un bon fichier agents.md.
00:12:07Nous continuerons à en discuter jusqu'à ce que nous soyons totalement hors du coup et que
00:12:14nous n'ayons plus rien à faire.
00:12:16Ce qui est un stade qui, je pense, n'arrivera pas, et je ne l'espère certainement pas.
00:12:22Mais d'ici là, c'est une bonne chose d'avoir des opinions et de se soucier
00:12:29de ce sur quoi on travaille.
00:12:31C'est primordial selon moi.
00:12:33Donc oui, je pense que le code et sa structure resteront importants.
00:12:41La seule question est de savoir si l'IA pourra tout faire seule et produire un code parfait.
00:12:47Je n'en sais rien, et personne ne peut le savoir pour l'instant.
00:12:50On ne peut pas lire l'avenir.
00:12:53Mais globalement, en tant qu'humain, on doit s'intéresser à ce que l'on fait.
00:12:57C'est ce qui différencie ceux qui réussissent et s'épanouissent dans leur travail
00:13:03des autres, je crois.

Key Takeaway

Bien que l'IA transforme le code en un produit automatisé, sa qualité et sa structure demeurent essentielles pour des raisons d'économie de tokens, de performance applicative et de maintenabilité.

Highlights

Analyse de la déclaration provocatrice de Guillermo Rauch affirmant que le code est désormais un simple résultat et non plus une donnée d'entrée.

Débat sur l'importance persistante de la qualité du code pour faciliter la révision humaine et machine.

L'impact crucial de l'efficacité du code sur la consommation de tokens et les coûts opérationnels liés à l'IA.

Le lien direct entre une structure de code optimisée et les performances réelles des applications en production.

Critique de la tendance des outils d'IA actuels, comme Codex, à introduire une complexité inutile et de la redondance.

Défense de l'artisanat logiciel et de la passion humaine face à une vision purement utilitaire et automatisée de la programmation.

Timeline

La fin de la glorification du code selon Guillermo Rauch

L'auteur introduit un post de Guillermo Rauch, PDG de Vercel, qui propose un changement de paradigme radical dans le développement logiciel. Rauch affirme que le code ne doit plus être traité comme une donnée d'entrée précieuse, mais comme un simple résultat éphémère généré par des agents. Il critique notre obsession historique pour l'esthétique des IDE, la coloration syntaxique et le formatage manuel des API. Selon lui, l'attention doit désormais se porter sur les besoins des utilisateurs, les spécifications et les données de production. Cette vision suggère une dévalorisation inévitable du rôle traditionnel du programmeur au profit de l'ingénierie dirigée par les données.

Évolution rapide des outils et positionnement personnel

Le narrateur souligne l'accélération fulgurante de l'industrie technologique depuis l'émergence de modèles comme Opus 4.5 et des outils tels que Cloud Code et Codex. Il explique comment il adapte son propre contenu pédagogique et ses formations pour intégrer ces nouvelles méthodes de travail basées sur l'IA. Tout en reconnaissant que ces outils changent la manière de concevoir des logiciels, il exprime un désaccord partiel avec l'idée que le code n'a plus d'importance. Il s'interroge sur la transition du rôle de l'humain, qui passe de l'écriture à la révision. Pour lui, la clarté d'une base de code reste un atout majeur, même si les tâches d'exécution sont déléguées à des machines.

L'enjeu économique du coût des tokens et de la propreté du code

Cette section explore la dimension financière souvent ignorée de la génération de code par IA : le coût des tokens. L'auteur avance qu'un code bien conçu et concis consomme moins de ressources lors de sa génération et de sa révision ultérieure par des modèles LLM. Il avertit que les tarifs actuels des fournisseurs comme OpenAI sont probablement subventionnés et risquent d'augmenter significativement à l'avenir. Une base de code propre permet d'éviter l'inflation inutile de la taille des fichiers, ce qui devient un avantage concurrentiel direct. L'efficacité algorithmique ne concerne donc plus seulement l'exécution, mais aussi le cycle de vie du développement assisté par IA.

Complexité inutile et limites des agents d'IA actuels

Le locuteur revient sur les travers classiques des développeurs, comme la création d'abstractions excessives pour des projets sans utilisateurs. Il observe que les outils actuels comme Codex ont tendance à reproduire et amplifier ce défaut en ajoutant systématiquement du code au lieu d'en supprimer. Ces agents IA manquent souvent de discernement et favorisent une complexité qui rend la maintenance difficile sans une intervention humaine ferme. L'auteur insiste sur le fait que le développeur doit continuer à mener des "batailles" pour préserver la simplicité de son architecture. Selon lui, ignorer la qualité du code sous prétexte que l'IA peut le régénérer est une erreur stratégique coûteuse.

Performance applicative et défense de l'artisanat logiciel

Le débat se déplace vers l'impact technique du code généré sur les performances réelles, notamment concernant les requêtes de base de données et les boucles. L'auteur rappelle que même si un code fonctionne, une mauvaise optimisation se paie lourdement dès que le nombre d'utilisateurs augmente. Il rejette l'idée que les outils du passé étaient stupides, les comparant aux esquisses papier des designers avant l'ère numérique. Pour lui, débattre du design des API et soigner la structure de son travail est le propre de l'artisan passionné. Cette quête de l'excellence reste ce qui distingue un ingénieur de valeur d'un simple utilisateur d'outils automatisés.

Conclusion : L'avenir de l'ingénierie et l'engagement humain

Dans la conclusion, l'auteur envisage l'avenir de l'ingénierie par agents, mentionnant de nouveaux formats comme les fichiers agents.md. Il prédit que les humains continueront à débattre de la structure des systèmes, même si les outils changent de forme. Bien qu'il soit impossible de savoir si l'IA parviendra un jour à produire un code parfait sans aide, l'intérêt pour la qualité reste un moteur d'épanouissement professionnel. Il termine sur une note philosophique, affirmant que se soucier de son travail est le facteur déterminant de la réussite. Le message final encourage les développeurs à rester critiques et investis dans la structure de leurs créations, malgré l'automatisation croissante.

Community Posts

View all posts