
le PDG de GitHub affirme que savoir coder manuellement reste une compétence irremplaçable
À l’heure où les outils d’intelligence artificielle révolutionnent le développement logiciel, le PDG de GitHub, Thomas Dohmke, prend le contre-pied d’un enthousiasme parfois excessif. Dans une série d’interventions récentes, notamment lors d’un passage dans le podcast The Mad, il a martelé un message simple mais crucial : l’IA ne remplace pas la programmation manuelle. Selon lui, savoir coder reste une compétence indispensable à long terme, même dans un monde où GitHub Copilot ou ChatGPT peuvent générer du code à la volée. Ce positionnement soulève un débat plus large : faut-il encore apprendre à coder à la main quand l’IA peut le faire à notre place ? Pour Thomas Dohmke, la réponse est clairement oui. Et il le justifie avec des arguments qui méritent un examen attentif.
Depuis l’introduction de GitHub Copilot en 2021, le développement assisté par IA a connu une progression fulgurante. En quelques lignes de commande ou requêtes en langage naturel, les développeurs peuvent générer des fonctions, corriger des bugs ou même créer des applications entières. Cette assistance a permis :
- Une réduction significative du temps de développement.
- Une accélération du prototypage.
- Une meilleure accessibilité au code pour les débutants et les profils non techniques.
Cependant, Dohmke met en garde contre une forme de paresse cognitive qui pourrait se développer. Utiliser uniquement l’IA sans comprendre le code généré est risqué, car cela revient à manipuler des mécanismes dont on ignore les fondements. Il cite notamment le phénomène du « vibe coding » (coder par intuition via IA sans réelle compréhension) comme une tendance dangereuse pour la qualité des logiciels.
Les avantages du codage manuel à l’ère de l’IA
Thomas Dohmke insiste sur le fait que l’apprentissage du code reste la clé pour bien utiliser l’IA. Selon lui, l'IA ne doit pas être vue comme une béquille, mais comme une extension des compétences humaines. Voici pourquoi le codage manuel reste crucial :
- Compréhension profonde des systèmes : écrire soi-même du code permet de saisir les subtilités des langages, des algorithmes, de la logique métier et des architectures logicielles.
- Capacité d’adaptation : aucun outil d’IA ne peut encore anticiper tous les contextes d’utilisation, les besoins métier spécifiques ou les imprévus techniques. L’humain reste maître de l’adaptation et de la personnalisation.
- Contrôle qualité : les IA peuvent générer du code erroné, inefficace ou vulnérable. Savoir lire, corriger et optimiser ce code est indispensable pour garantir la sécurité et la performance.
- Créativité et innovation : l’IA suggère, mais ne crée pas. Les idées nouvelles, les approches inédites, les expérimentations techniques viennent toujours de l’humain.
Les limites de l’IA : entre illusion d’autonomie et dépendance accrue
Bien que l’IA ait démontré sa puissance, ses limites sont encore nombreuses :
- Manque de contexte : une IA ne comprend pas toujours l’objectif global d’un projet. Elle peut générer un code fonctionnel localement, mais inadéquat dans l’ensemble du système.
- Biais dans les suggestions : les modèles sont formés sur du code existant, parfois obsolète ou non optimal. Cela peut renforcer de mauvaises pratiques.
- Sécurité insuffisante : le code généré peut introduire des failles si l’utilisateur ne le vérifie pas attentivement.
- Risques de désapprentissage : chez les développeurs débutants, l’usage intensif de l’IA peut entraver l’apprentissage des bases essentielles (structures de données, complexité algorithmique, etc.).
Dohmke insiste donc : même dans une startup où l’IA permet de développer un MVP rapidement, il faut à terme des développeurs expérimentés pour soutenir l’évolution du produit, assurer sa stabilité et répondre aux attentes des investisseurs.
Faut-il alors bannir l’IA du développement ?
Absolument pas. Thomas Dohmke est le premier à reconnaître l’apport immense de l’IA au développement logiciel. En tant que PDG de GitHub, il est bien placé pour défendre son efficacité. Mais il souhaite instaurer une culture de complémentarité entre humain et machine. Pour lui, l’IA doit rester un assistant, pas un remplaçant. Elle booste la productivité, facilite les tâches répétitives, suggère des idées, mais elle ne comprend pas les objectifs métier, ne pense pas en termes d’expérience utilisateur, et ne porte pas de vision produit.
En clair, l'assertion de Dohmke n'est pas un rejet de l'IA, mais une reconnaissance de la complexité intrinsèque du développement logiciel. Bien que les modèles d'IA puissent générer des extraits de code, voire des fonctions entières, leur compréhension est souvent superficielle. Un programmeur humain, en revanche, ne se contente pas d'écrire des lignes de code ; il conçoit des architectures, anticipe des problèmes, optimise des performances et résout des bugs complexes. C'est cette capacité de pensée critique, de raisonnement abstrait et de résolution de problèmes non triviaux qui distingue le développeur humain. La maîtrise du codage manuel permet non seulement de comprendre ce que l'IA produit, mais aussi de le déboguer, de le modifier et de l'adapter aux exigences uniques d'un projet, souvent implicites ou difficiles à formaliser pour une machine.
Loin d'imaginer un futur où l'IA prend les rênes, Thomas Dohmke promeut une symbiose entre l'intelligence artificielle et l'intelligence humaine. Pour lui, l'IA doit servir de copilote, assistant le développeur dans des tâches répétitives ou pour générer des ébauches rapides. Il envisage un scénario idéal où l'IA génère du code, qui est ensuite soumis sous forme de « pull requests » – une pratique courante dans le développement collaboratif. Cela permet aux programmeurs humains de passer en revue le code, d'apporter des ajustements précis, d'intégrer des nuances contextuelles et de garantir la qualité et la sécurité du logiciel final. Cette approche garantit que la créativité, l'intuition et la profonde compréhension du domaine métier, apanages de l'humain, restent au cœur du processus de création.
Les pièges de la dépendance excessive à l'IA
Dohmke met également en garde contre le danger d'une dépendance excessive à l'égard des outils d'IA. Bien qu'ils puissent accélérer certaines phases de développement, se fier aveuglément à l'IA sans une compréhension sous-jacente du code peut entraîner des inefficacités inattendues. Tenter de corriger une erreur simple en la décrivant à une IA peut s'avérer plus long et plus frustrant que de modifier directement le code. Cette « surcharge cognitive » liée à la reformulation de problèmes simples en langage naturel peut briser le flux de travail d'un développeur et nuire à sa productivité. L'objectif n'est pas de déléguer la pensée, mais d'augmenter les capacités humaines.
« La pire alternative est d'essayer de comprendre comment fournir un retour d'information ou une invitation à décrire en langage naturel ce que je sais déjà faire en langage de programmation », a-t-il déclaré, soulignant la valeur de l'intuition du développeur.
L'IA est en train de créer une génération de programmeurs illettrés
Un développeur a partagé son témoignage :
Il y a de cela quelques jours, Cursor est tombé en panne lors d'un arrêt de ChatGPT. J'ai regardé fixement mon terminal, faisant face à ces messages d'erreur rouges que je déteste voir. Une erreur AWS est apparue. Je ne voulais pas la résoudre sans l'aide de l'intelligence artificielle (IA). Après 12 ans de codage, j'étais devenu plus mauvais dans mon propre métier. Et ce n'est pas une hyperbole : c'est la nouvelle réalité des développeurs logiciels.
« Tout d'abord, j'ai cessé de lire la documentation. Pourquoi s'embêter quand l'IA pouvait expliquer les choses instantanément ? Ensuite, mes compétences en matière de débogage en ont pris un coup. Les traces de pile me semblent désormais inaccessibles sans l'IA. Je ne lis même plus les messages d'erreur, je me contente de les copier et de les coller.
« Je suis devenu un presse-papier humain, un simple intermédiaire entre mon code et un LLM.
« Auparavant, chaque message d'erreur m'apprenait quelque chose. Aujourd'hui ? La solution apparaît comme par magie et je n'apprends rien. La dopamine des réponses instantanées a remplacé la satisfaction d'une véritable compréhension.
« La compréhension en profondeur est la prochaine chose qui a été affectée. Vous vous souvenez avoir passé des heures à comprendre pourquoi une solution fonctionne ? Aujourd'hui, je me contente d'appliquer les suggestions de l'IA. Si elles ne fonctionnent pas, j'améliore le contexte et je demande à nouveau à l'IA. C'est un cycle de dépendance croissante.
« Viennent ensuite les changements émotionnels. Auparavant, la résolution de nouveaux problèmes faisait partie du plaisir de programmer. Maintenant, je suis frustré si l'IA ne me donne pas de solution en 5 minutes ».
Le codage avec l'IA nécessite toujours une touche humaine
Les réflexions de Dohmke font écho à un consensus croissant dans le monde de la technologie : l'IA doit être utilisée comme un outil complémentaire, et non comme un substitut à part entière. Une étude de Deloitte renforce ce point de vue en montrant que la plupart des développeurs utilisent l'IA pour automatiser les tâches répétitives, comme l'écriture de codes standard, tout en continuant à s'appuyer sur la supervision humaine pour garantir la qualité et l'exactitude des données. Ce modèle de collaboration peut améliorer la productivité de manière modeste mais significative, jusqu'à 20 minutes par jour.
Le concept de « confiance et vérification » s'est imposé car le code généré par l'IA, bien qu'impressionnant, contient souvent des erreurs subtiles. Environ la moitié de ces échantillons de code doivent être corrigés par un développeur, ce qui souligne pourquoi une révision humaine reste indispensable. Même les entreprises à la pointe du développement de l'IA, comme Google, indiquent que plus d'un quart de leur base de code provient désormais de systèmes d'IA. Pourtant, chaque ligne est toujours soumise à un examen rigoureux de la part des ingénieurs.
Source : interview du PDG de GitHub (vidéo dans le texte)
Et vous ?









Vous avez lu gratuitement 85 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.