- Un Staff Engineer partage son expérience d’une expérimentation de 6 semaines d’un workflow de développement avec l’IA en utilisant Claude Code
- Considérer l’IA comme un « développeur junior qui n’apprend pas » est la clé d’une intégration réussie
- Les premières tentatives sont en grande partie des échecs à 95 %, mais des itérations successives permettent progressivement d’aboutir à un code utile
- Le recours à des fichiers de contexte par projet (
Claude.md) et à une intégration d’outils basée sur MCP permet de résoudre le manque de contexte de l’IA - Le rôle du développeur se déplace de l’écriture du code vers la résolution de problèmes et la conception d’architecture, un nouveau modèle de productivité à l’ère de l’IA
Contexte et approche
- L’auteur écrivait autrefois tout son code lui-même, mais récemment 80 % du code est écrit par l’IA, tandis qu’il se concentre sur l’architecture, la revue et la gestion du développement multithread
- Cet article n’adopte pas un ton naïvement enthousiaste sur le thème « l’IA mène la révolution », mais partage la confusion et les méthodes réalistes rencontrées lors de l’intégration de l’IA dans un véritable workflow de développement en production
- Traiter l’IA comme un « développeur junior qui n’apprend pas » est au cœur d’un usage réussi
Évolution du paradigme de développement
- Pendant les 5 premières années, l’auteur a conservé une manière de développer fondée sur les livres et la documentation des SDK
- Puis, pendant 12 ans, il est passé à l’exploitation de la connaissance collective via la recherche (Google)
- Au cours des 18 derniers mois, il a expérimenté le coding assisté par IA avec Cursor
- Et durant les 6 semaines précédant cet article, il a vécu un changement brutal avec une délégation globale à l’IA via Claude Code
- L’adaptation à Claude Code a produit un gain de productivité perceptible en seulement quelques heures
Workflow réel de production basé sur l’IA
- Pour le code destiné à la production, l’IA est surtout utilisée pour « réfléchir »
- Générer un code parfait en une seule fois est impossible. La mission de l’ingénieur est de trouver la meilleure solution à un problème
- Première tentative (95 % d’échec) : l’IA accumule le contexte du système et le développeur clarifie le problème, mais le code est presque entièrement faux
- Deuxième tentative (50 % d’échec) : la compréhension du contexte s’améliore et l’approche se précise, mais la moitié du résultat reste inutilisable
- Troisième tentative (code exploitable) : grâce à l’itération et à la revue, une base de code réellement utilisable apparaît, puis peut être améliorée
- Ce processus n’est pas un échec, mais une série volontaire d’expérimentations et d’optimisations itératives
Le problème du contexte et ses solutions
- L’IA ne peut pas conserver de mémoire d’une session à l’autre, ce qui impose de répéter les mêmes explications à chaque fois
- Comme solution, l’auteur utilise un fichier
Claude.mdpour consigner les décisions d’architecture, les patterns et les liens vers la documentation - Grâce à l’intégration MCP, l’IA peut être reliée à Linear, Notion, GitHub, la codebase et la base de données afin de recevoir automatiquement le contexte
- Linear fournit le contexte des tickets
- Notion ou Canvas donnent accès à la documentation
- Une base de données hors production permet de vérifier la structure des données
- GitHub fournit le contexte historique via les PR passées
Utilisation parallèle d’instances Claude et stratégies clés
- En faisant tourner plusieurs instances de Claude en parallèle, l’auteur a l’impression de gérer « une petite équipe de développeurs qui perd la mémoire tous les jours »
- Il met en place des stratégies comme interdire la parallélisation sur une même zone de problème, consigner tout le travail dans des outils de gestion de projet comme Linear, et indiquer clairement le code modifié directement par un humain
- L’IA est activement utilisée non seulement pour écrire du code, mais aussi pour la code review : détection rapide des tests manquants, des bugs évidents et des points d’amélioration, ce qui réduit le travail répétitif
- Selon la politique de son entreprise (Sanity), la responsabilité finale de la qualité revient à l’ingénieur, même pour du code généré par l’IA
- Dans un environnement où le code généré par l’IA et celui des humains deviennent indiscernables, il est possible de faire des revues de code plus critiques et plus objectives, avec moins d’attachement émotionnel
Processus de revue de code en 3 étapes
- Écrire du code n’est qu’une partie du travail, et la revue de code en est une autre
- 1re revue : revue initiale par Claude
- Détection des manques de couverture de tests et des bugs évidents
- Les suggestions d’amélioration font gagner du temps lors des revues par les collègues
- 2e revue : ma revue
- Vérification de la maintenabilité, de l’architecture, de la logique métier et de l’intégration
- Même pour du code généré par l’IA, la responsabilité finale incombe à l’ingénieur
- 3e revue : revue habituelle de l’équipe
- L’équipe ne sait pas quelles parties ont été générées par l’IA. Les mêmes standards de qualité s’appliquent
- Une revue objective est possible sans attachement émotionnel
- Le moindre attachement émotionnel au code écrit par l’IA permet des revues plus objectives
Agent déclenché par Slack et expérimentations d’automatisation du travail
- Un agent relié à Slack avec Cursor a été testé en pilote : succès sur de simples modifications de logique métier, échec sur des mises en page CSS complexes
- À ce stade, il existe encore des limites : absence de prise en charge des packages NPM privés, commits non signés, contournement du suivi officiel, etc.
- Malgré cela, l’idée qu’un agent puisse traiter la nuit des tickets simples et répétitifs reste prometteuse
Coûts et ROI
- Le coût d’utilisation de Claude Code représente une somme non négligeable versée par l’entreprise pour ses ingénieurs
- Mais cet investissement apporte des gains de productivité
- Vitesse de livraison des fonctionnalités multipliée par 2 à 3
- Gestion simultanée de plusieurs fils de développement
- Fin de l’écriture manuelle du code répétitif ou boilerplate
- Au début de l’adoption de l’IA, il faut prévoir un budget mensuel de 1 000 à 1 500 $ pour un ingénieur senior, avec l’espoir d’une meilleure efficacité économique à mesure que l’expertise progresse
Problèmes persistants et limites du développement assisté par IA
- Problème d’apprentissage : l’IA n’apprend pas de ses erreurs et répète les mêmes malentendus ; la solution consiste à enrichir la documentation et à renforcer les consignes explicites
- Problème de confiance : l’IA peut proposer du code erroné avec assurance, d’où la nécessité absolue de le vérifier, surtout dans les zones complexes de gestion d’état, de performance ou de sécurité
- Limite de contexte : les grandes codebases dépassent la fenêtre de contexte de l’IA ; il est donc indispensable de découper les problèmes en petites unités et de fournir un contexte clair
Du code vers le problème : un changement émotionnel
- Il faut abandonner l’attachement au code et adopter une pensée centrée sur la résolution de problèmes
- Supprimer rapidement le mauvais code, faire des revues plus objectives et ressentir moins de charge face au refactoring : autant de changements positifs
- L’auteur se dit prêt à remplacer immédiatement ses outils si de meilleurs outils d’IA apparaissent
- L’essentiel n’est pas le code en soi, mais la valeur du problème à résoudre
Conseils sur l’adoption de l’IA du point de vue de l’ingénieur
- 1. Autoriser l’expérimentation de plusieurs solutions d’IA : l’équipe doit tester directement divers outils pour renforcer ses compétences pratiques
- 2. Commencer par des tâches répétitives et simples : les résultats rapides sont plus probables
- 3. Prévoir un budget pour le tâtonnement : il faut accepter une certaine confusion le premier mois
- 4. Repenser le processus de revue : renforcer les contrôles adaptés aux spécificités du code généré par l’IA
- 5. Documenter rigoureusement : un bon contexte démultiplie la productivité
- Les ingénieurs qui s’adaptent à ce nouveau workflow IA découvriront qu’un nouveau couteau bien aiguisé a rejoint leur boîte à outils
- Les ingénieurs qui adoptent ces workflows avec l’IA évolueront vers un nouveau rôle consistant à orchestrer plusieurs agents IA tout en se concentrant sur l’architecture, la revue et la résolution de problèmes complexes
Votre prochaine étape
- Choisissez une petite fonctionnalité bien définie,
- donnez à l’IA trois occasions de l’implémenter,
- puis examinez le résultat comme si vous mentoriez un développeur débutant
- C’est tout. Pas besoin de bouleversement majeur ni de refonte des processus
- Il suffit d’une fonctionnalité, de trois tentatives et d’une revue honnête
- L’avenir n’est pas que l’IA remplace les développeurs
- mais que les développeurs travaillent plus vite, conçoivent de meilleures solutions et utilisent les meilleurs outils
5 commentaires
« Avec une procédure aussi sophistiquée, je pense qu'il vaut mieux écrire le code soi-même. »
L’attitude du chef d’équipe qui ne délègue rien aux membres de l’équipe et fait le boulot lui-même, mdr
On pourrait le croire, mais ce n’est absolument pas le cas.
J’ai répété des expérimentations à petite et à grande échelle au cours des six derniers mois.
Avis Hacker News
Cela souligne l’importance de formuler les consignes en tenant compte des limites cognitives de l’agent. Par exemple, il vaut mieux ne pas demander de gros changements d’un coup, mais établir un plan puis faire exécuter de petites étapes en les testant au fur et à mesure. Pour les étapes complexes, il est utile de lui faire écrire du code qui visualise le problème et la solution. Si une étape échoue, il est efficace d’ajouter du logging au code, de sauvegarder les logs, de tester, puis d’examiner les logs pour identifier la cause, de façon itérative. Si on s’appuie sur la manière dont le code existant est conçu pour aider le modèle à repérer ce qu’il doit modifier, on peut éviter que l’IA ne mette tout dans un seul fichier. J’ai vu plusieurs blogs où des gens partageaient ce type d’astuces ; ce n’est toujours pas parfait, mais au moins on n’obtient plus 95 % de résultats inutiles.
J’ai l’impression qu’on est arrivé au moment où ce type d’articles devrait inclure des exemples concrets de tâches où « des agents travaillent réellement en distribué », et pas seulement du simple refactoring ou du boilerplate React. Apparemment, il y a chez Sanity des fonctionnalités demandées depuis longtemps, et ils affirment que les agents en traitent une bonne partie en parallèle. En revanche, j’ai du mal à croire aux affirmations du type « 80 % du code a été écrit par un développeur junior qui n’apprend rien ».
L’auteur dit avoir gagné en productivité, mais il mentionne aussi toutes les limites habituelles ; au final, j’ai eu l’impression que ça n’apportait pas grand-chose. Je suis convaincu que personne ne délègue le développement des fonctionnalités centrales à Claude Code.
Éviter le boilerplate fait partie du travail du développeur, et c’est aussi une abstraction qui rend service à soi-même dans le futur. Si on génère le boilerplate avec l’IA, cela peut au contraire devenir plus pénible plus tard lorsqu’il faut modifier toutes les occurrences à la main ; et si ce code boilerplate disséminé à plusieurs endroits diverge, le problème devient encore plus grave.
Ce qui est intéressant, c’est que cette personne essaie d’utiliser l’IA pour l’implémentation de base, alors que moi je fais exactement l’inverse : je construis toujours d’abord les fondations moi-même. Cela me permet de comprendre précisément la structure et le fonctionnement, puis je ne confie à l’IA que le boilerplate répétitif. L’IA sait bien imiter, mais elle est très faible en conception d’architecture.
Les salaires de base sont déjà élevés, et on voudrait en plus investir 1 000 à 1 500 dollars par mois sur des problèmes mineurs pour un gain de productivité hypothétique ; j’ai des doutes. Au minimum, mon manager n’apprécierait pas.
Je comprends mal la manière dont le MCP (Multi-Channel Processor) est utilisé dans l’article. Avec Claude Code, on peut déjà appeler quasiment tous les services tiers depuis le shell via
curl,gh, etc., et le MCP peut même parfois poser problème à la place (par exemple, le serveur MCP de Linear tronque les issues quand elles sont trop longues, alors qu’en appelant directement l’API cette limite n’existe pas). Je me demande si quelque chose m’échappe.Anthropic a publié une interview de Boris Cherny, le créateur de Claude Code, qui partage aussi des idées sur l’avenir du coding par agents et sur la façon de l’utiliser : https://youtu.be/iF9iV4xponk
En voyant la mention d’un « budget de 1 000 à 1 500 $/mois », je me suis demandé si la personne n’utilisait que des clés API sans connaître les forfaits mensuels comme claude MAX. À 100 à 200 dollars par mois, j’ai l’impression que cela couvre largement les besoins, sauf à enchaîner les requêtes sans réfléchir.
Si vous comptez utiliser Claude ou d’autres agents, je recommande vivement d’avoir du logging. Si vous injectez l’intégralité du fichier de logs à l’IA, vous augmentez nettement les chances qu’elle parvienne à organiser le problème, à donner une réponse utile, ou à proposer l’étape suivante. Le logging, c’est vraiment la base de tout.