Le PDG de GitHub prédit l’avenir de la programmation : IA, agents de codage et transformation du développement logiciel
Dans une interview approfondie, Thomas Dohmke, PDG de GitHub, partage sa vision sur l’évolution du développement logiciel à l’ère de l’intelligence artificielle. De GitHub Copilot aux agents de codage, découvrez comment l’IA révolutionne la façon dont nous créons des logiciels et ce que cela signifie pour l’avenir de la programmation.
La révolution de GitHub Copilot
Lorsqu’on lui a demandé sa première réaction face aux modèles GPT appliqués au code, Thomas Dohmke a été franc : « Je pensais que ça ne fonctionnerait pas. Je doutais, puis ça a fonctionné, et c’était comme de la magie. »
Ayant étudié les compilateurs à l’université à la fin des années 90, Dohmke ne pouvait pas croire qu’un modèle serait capable de distinguer correctement la syntaxe du Python de celle du Ruby ou du JavaScript. Il craignait que le modèle ne mélange tout, plaçant des parenthèses au mauvais endroit ou ajoutant des points-virgules là où il n’en fallait pas.
Pourtant, lorsqu’il a vu GPT-3 puis Codex (le premier modèle de codage d’OpenAI) à l’été 2020, il a été stupéfait de constater que ces modèles pouvaient générer du code syntaxiquement correct pour diverses tâches comme la détection de nombres premiers ou les algorithmes de tri, et ce dans différents langages de programmation.
Des résultats surprenants
Avant le lancement public de Copilot, GitHub a testé l’outil en interne. Les résultats ont dépassé toutes les attentes :
« La première télémétrie est revenue et l’équipe a annoncé lors d’une revue hebdomadaire que Copilot écrivait 25% du code dans les fichiers où il était activé. Nous n’avons pas cru à ce chiffre. Nous les avons renvoyés vérifier si la mesure était correcte, et ils sont revenus en confirmant que c’était vrai, et que c’était même plus élevé maintenant. »
Ce qui a également validé ces résultats, c’est la variation selon les langages de programmation. Pour Python, les performances étaient meilleures, tandis que pour C ou C++, elles étaient moins bonnes, ce qui était logique étant donné l’histoire et la structure de ces langages.
Le Net Promoter Score (NPS) – l’indice de satisfaction des développeurs utilisant l’outil – était d’environ 72 sur une échelle allant de -100 à +100, un score remarquablement élevé pour un produit en prévisualisation.
L’expérience utilisateur : la complétion par tabulation
L’interface de complétion par tabulation de GitHub Copilot semble évidente aujourd’hui, mais elle représentait une innovation significative. Dohmke explique que cette approche s’appuyait sur des comportements déjà établis chez les développeurs :
« IntelliSense existait déjà dans Visual Studio et Visual Code, utilisant les informations sur le langage de programmation et sa bibliothèque pour vous indiquer quelles méthodes existent dans une classe. Des éditeurs comme TextMate et Sublime Text avaient également des auto-complétions plus intelligentes qui examinaient votre fichier local. »
De plus, les développeurs avaient déjà l’habitude de rechercher du code sur Stack Overflow, Reddit ou GitHub, puis de le copier-coller dans leur éditeur avant de l’adapter à leurs besoins. Copilot a simplement raccourci ce processus en gardant les développeurs dans leur « état de flux » – ce moment magique où l’on est pleinement concentré et productif.
L’éducation à la programmation à l’ère de l’IA
Malgré l’avènement des outils d’IA, Dohmke reste un fervent défenseur de l’enseignement de la programmation aux enfants :
« Absolument, à 100%. Les enfants devraient apprendre cela parce que c’est une partie tellement importante de notre vie aujourd’hui. Le logiciel est partout – dans nos poches, nos poignets, nos voitures, nos maisons, nos voyages, et dans la plupart des vies professionnelles. »
Il compare l’apprentissage de la programmation à celui des mathématiques ou de la physique – des matières qu’on apprend à l’école pour comprendre le monde, même si on ne les utilise pas nécessairement dans notre carrière future.
Plus important encore, avec l’annonce des agents de codage pour GitHub Copilot, le rôle de l’ingénieur devient de vérifier ce que l’agent a fait :
« Comment puis-je valider que ce que l’agent a fait est réellement aligné avec mes objectifs, mon entreprise, et la confiance que mes clients ont en nous ? Le danger est évidemment que l’agent crée du code non sécurisé, provoquant un incident de sécurité. »
C’est pourquoi comprendre le code reste fondamental, même si la façon de le créer évolue.
GitHub Copilot devient open source
L’une des annonces majeures évoquées dans l’interview est que GitHub Copilot devient open source. Cette décision s’inscrit dans la continuité de l’approche de VS Code, qui est open source depuis 10 ans :
« VS Code a fêté ses 10 ans en avril 2025, avec plus de 100 versions publiées, soit environ une par mois. L’équipe VS Code fonctionne véritablement comme un projet open source – toute leur planification est publique, les notes de version font partie du dépôt, la documentation et même les billets de blog sont dans des fichiers du dépôt. »
Dohmke explique que le code client de Copilot dans VS Code peut offrir un apprentissage précieux à d’autres personnes qui construisent des logiciels d’IA, qu’ils souhaitent créer un concurrent à VS Code et Copilot ou intégrer cette technologie dans leur IDE favori.
De plus, beaucoup d’aspects de Copilot étaient déjà connus ou facilement accessibles par rétro-ingénierie puisque VS Code est en JavaScript. Des articles de blog détaillant le fonctionnement interne de Copilot existent depuis 2021.
L’avenir du développement logiciel
Dohmke voit un avenir où le code reste déterministe, mais où la génération de ce code devient de plus en plus non-déterministe via des prompts en langage naturel :
« Le métier d’ingénieur logiciel consistera à pouvoir passer d’une couche d’abstraction à l’autre – la couche non-déterministe du langage naturel et la couche déterministe du code. »
Il compare ce processus à la façon dont les équipes de développement fonctionnent déjà : un PDG décrit une fonctionnalité, puis l’équipe l’interprète et la réalise d’une manière qui peut différer de la vision initiale.
Applications générées à la volée
Dohmke imagine un futur où les applications pourraient être générées à la demande pour des besoins spécifiques :
« Je peux voir un monde où nous avons un agent avec lequel nous interagissons davantage. La génération de tout ce code est si peu coûteuse qu’il n’est pas rentable de l’avoir comme service quelque part. Les applications pourraient être générées à la volée pour votre scénario spécifique – vous réservez un voyage, puis l’application est jetée car elle n’a pas besoin d’avoir un état persistant au-delà de la résolution de ce problème particulier. »
Il donne l’exemple d’une application personnalisée pour gérer l’argent de poche des enfants, qui pourrait être créée spécifiquement pour une famille sans avoir besoin de s’inscrire à un service générique.
Les agents de codage et le « vibe coding »
GitHub a annoncé des agents de codage, ce qui soulève des questions sur le « vibe coding » – une approche où le développeur laisse l’IA générer une grande partie du code. Dohmke ne voit pas cela comme un abandon du contrôle :
« Je ne pense pas qu’il s’agisse de lâcher le volant. En fait, il s’agit de décider à quel moment activer le système d’assistance à la conduite. La plupart des systèmes d’assistance à la conduite vous obligent encore à garder les mains sur le volant, car ils savent qu’ils ne sont pas parfaits. »
Il identifie deux tendances principales qui ont conduit au mouvement du « vibe coding » et des agents de codage :
-
La réalisation rapide d’idées : Les développeurs ont toujours voulu transformer leurs idées en produits le plus rapidement possible. Le « vibe coding » excelle dans la création de prototypes.
-
Le développement logiciel sérieux : Pour les projets logiciels réels, vous avez toujours besoin de vous préoccuper de la sécurité, de la qualité du code, des normes d’équipe et des contraintes budgétaires. C’est ce que Dohmke appelle le « devops agentique » – un processus de développement logiciel sérieux soutenu par des agents.
L’idéal, selon lui, est de pouvoir déléguer aux agents les tâches moins amusantes (correction de bugs, recherche de vulnérabilités de sécurité, création de tests) tout en se concentrant sur les aspects créatifs du développement.
L’avenir du travail dans le développement logiciel
Dohmke reconnaît que certains emplois pourraient être automatisés grâce à l’IA, comme la traduction. Cependant, il est optimiste quant à la création de nouveaux types d’emplois :
« Je pense qu’il va y avoir tout un nouveau groupe d’emplois qui seront inventés avec l’aide de l’IA. GitHub Copilot ouvre un espace énorme pour n’importe qui sur cette planète pour devenir développeur de logiciels s’il le souhaite. Vous n’avez plus besoin d’avoir accès à de la documentation ou à quelqu’un dans votre famille qui peut répondre à ces questions. »
Il rappelle que tout au long de l’histoire, lorsque la technologie a remplacé certains rôles, de nouvelles opportunités sont apparues. Par exemple, chez Microsoft, le rôle de testeur dédié a disparu, mais beaucoup de ces testeurs sont devenus ingénieurs ou chefs de produit.
Conclusion
L’interview avec Thomas Dohmke offre un aperçu fascinant de la façon dont l’IA transforme le développement logiciel. Loin de remplacer les développeurs, les outils comme GitHub Copilot et les agents de codage semblent plutôt augmenter leurs capacités, leur permettant de se concentrer sur les aspects créatifs et stratégiques du développement tout en automatisant les tâches répétitives.
L’avenir du développement logiciel semble être une collaboration entre l’humain et la machine, où l’IA aide à concrétiser des idées plus rapidement, mais où la compréhension humaine du code et des systèmes reste essentielle pour garantir la qualité, la sécurité et l’alignement avec les objectifs commerciaux.
Featured image by Roman Synkevych on Unsplash