Introduction

En janvier 2026, au retour de mes vacances, j'ai découvert Claude Code. Quelques semaines plus tard, je commençais à l'intégrer dans le workflow de mon équipe de 5 personnes chez DJUST. On est encore au tout début de l'aventure — c'est frais, c'est récent, et les résultats ne sont pas encore spectaculaires.

Ce n'est pas un article promotionnel. C'est un retour d'expérience honnête — avec les premiers succès, les résistances humaines, les ajustements, et ce qu'on commence à comprendre — sur ce que ça implique concrètement de demander à une équipe d'engineering en production de changer ses habitudes pour intégrer un outil IA.


Chapitre 1 : Le contexte — une équipe sous pression

DJUST en 2024

DJUST est une plateforme e-commerce B2B SaaS. Mon périmètre en tant qu'Engineering Manager couvre l'Order Management System (OMS), les Payments et le Cart. C'est le cœur transactionnel de la plateforme — là où passent les commandes de clients enterprise dans la grande distribution, la construction et la mode.

L'équipe :

  • 5 personnes : 2 développeurs seniors, 1 mid-level, 1 junior, et 1 QA senior

  • Stack : Java 17, Spring Boot, PostgreSQL, Elasticsearch, Kubernetes sur AWS

  • ~15 modules Maven interdépendants

  • Releases hebdomadaires le jeudi

  • SLA contractuels avec les clients enterprise

Le problème de productivité

En analysant où passait le temps de l'équipe, j'ai identifié un pattern récurrent :

30% du temps était consommé par des tâches répétitives à faible valeur ajoutée :

  • Code reviews : 2-3 heures par jour pour moi en tant que lead technique. Chaque PR nécessitait une lecture attentive, des commentaires sur le style, la couverture de tests, les edge cases
  • Tests boilerplate : écrire des tests unitaires pour des CRUDs, des mappers, des DTOs — du code prévisible mais chronophage
  • Briefings de déploiement : chaque release nécessitait un document récapitulatif des changements, des risques, des rollback plans
  • Analyse de bugs : fouiller les logs, croiser les stacktraces avec le code, identifier le commit fautif
  • Documentation : mettre à jour les ADRs, les runbooks, les README après chaque changement d'architecture

Ces tâches ne sont pas inutiles — elles sont essentielles. Mais elles sont prévisibles et structurées, ce qui les rend parfaites pour l'automatisation par IA.

Chapitre 2 : La découverte de Claude Code

Le chemin avant Claude Code

Avant d'arriver à Claude Code, j'ai exploré d'autres outils IA :

GitHub Copilot (6 mois) — L'autocomplétion est utile, mais limitée : elle suggère du code ligne par ligne sans comprendre le contexte global du projet. Pour du boilerplate, c'est bien. Pour de l'architecture, c'est insuffisant.

Zencoder — J'ai utilisé Zencoder pour m'aider à valider certaines tâches. C'était un bon intermédiaire entre le "pas d'IA" et le "full AI-assisted". Ça m'a montré le potentiel de l'IA pour les tâches de validation et de vérification, mais l'outil restait limité dans son intégration au workflow.

Google Gemini — J'ai utilisé Gemini massivement pendant plusieurs mois pour mes recherches techniques. Pour comprendre un concept, explorer une librairie, comparer des approches architecturales — Gemini était mon moteur de recherche amélioré. Mais il restait cantonné au navigateur, déconnecté du code.

Pourquoi Claude Code a tout changé

Ce qui m'a convaincu avec Claude Code :

  1. L'accès au codebase complet : Claude Code voit tous les fichiers du projet, comprend l'architecture, les conventions, les patterns existants
  2. Les skills personnalisés : on peut créer des prompts réutilisables qui encapsulent le contexte métier
  3. L'intégration MCP : connexion native à Slack, Jira, GitLab, Notion — Claude peut lire un ticket Jira et proposer un plan d'implémentation
  4. Le mode agentic : Claude ne se contente pas de suggérer du code, il peut exécuter des commandes, lancer des tests, vérifier que ça compile

Le premier test : une code review automatisée

Mon premier skill Claude Code a été une code review automatisée. Le prompt :

"Analyse cette PR GitLab. Vérifie : la couverture de tests, les conventions de nommage DJUST, les edge cases manquants, les problèmes de performance potentiels, la cohérence avec l'architecture hexagonale. Produis un rapport structuré avec des suggestions concrètes."

Le résultat m'a bluffé. Non seulement Claude identifiait des problèmes que j'aurais vus, mais il en trouvait certains que j'aurais manqués — notamment des race conditions subtiles dans du code asynchrone et des incohérences de nommage entre modules.

Chapitre 3 : L'écosystème de 25+ skills

Architecture des skills

On a organisé nos skills en 5 catégories :

1. Code Quality (7 skills)

  • review-pr : analyse complète d'une PR avec scoring
  • review-security : audit de sécurité (OWASP top 10, injection, XSS)
  • review-perf : analyse de performance (N+1 queries, mémoire, complexité)
  • check-conventions : vérification des conventions DJUST (nommage, structure, patterns)
  • suggest-refactor : suggestions de refactoring avec justification
  • check-api-contract : vérification de la compatibilité backward des changements d'API
  • check-migration : validation des migrations DB (reversibilité, performance, locks)

2. Testing & QA (7 skills)

C'est la catégorie qui a le plus d'impact — et c'est notre QA senior qui en tire le plus de valeur. Avant Claude, elle passait des heures à rédiger des cas de test manuellement. Maintenant, elle utilise Claude pour générer une première matrice de tests qu'elle affine ensuite.

  • generate-unit-tests : génération de tests unitaires pour une classe
  • generate-e2e-test : génération de scénarios E2E à partir d'un ticket Jira
  • generate-test-data : création de fixtures réalistes
  • analyze-test-coverage : identification des chemins non testés
  • generate-mutation-tests : suggestions de tests de mutation
  • generate-test-matrix : génération d'une matrice de cas de test (nominal, edge cases, erreurs) à partir d'une spec — le skill préféré de notre QA
  • explore-edge-cases : Claude explore les combinaisons improbables qu'un humain ne penserait pas à tester (valeurs limites, concurrence, encodages exotiques)

3. Deployment & Ops (5 skills)

  • briefing-mep : génération du briefing de mise en production
  • analyze-incident : analyse d'incident à partir des logs et metrics
  • generate-rollback-plan : plan de rollback pour une release
  • check-deploy-readiness : checklist de déploiement
  • post-mortem : template de post-mortem à partir d'un incident

4. Documentation (4 skills)

  • update-adr : mise à jour d'un Architecture Decision Record
  • generate-runbook : création d'un runbook opérationnel
  • document-api : documentation OpenAPI à partir du code
  • changelog : génération du changelog à partir des commits

5. Productivity (4+ skills)

  • plan-implementation : plan d'implémentation à partir d'un ticket
  • estimate-complexity : estimation de complexité d'un ticket
  • daily-summary : résumé quotidien de l'activité de l'équipe
  • onboarding-guide : guide d'onboarding contextualisé pour un nouveau développeur

Le MCP : le vrai game-changer

Ce qui rend ces skills vraiment puissants, c'est l'intégration MCP (Model Context Protocol). Claude se connecte directement à nos outils :

  • GitLab : lecture des PRs, des pipelines, des commits
  • Jira : lecture des tickets, des sprints, des epics
  • Slack : envoi de résumés, notifications d'incidents
  • Notion : mise à jour de la documentation

Concrètement, quand un développeur finit une PR, il tape /review-pr 1234 et Claude :

  1. Lit la PR sur GitLab

  2. Lit le ticket Jira associé

  3. Analyse le code par rapport aux conventions

  4. Poste un rapport de review structuré

  5. Notifie sur Slack si des problèmes critiques sont trouvés

Le tout en 30 secondes au lieu de 45 minutes.

Chapitre 4 : Les premiers résultats (honnêtes)

Ce qu'on observe après quelques semaines

Soyons clairs : on n'a pas encore 3 mois de recul. On est en février 2026, l'intégration a commencé en janvier. Les chiffres qu'on peut donner sont des premières tendances, pas des métriques consolidées.

Ce qu'on observe concrètement :

TâcheAvantMaintenantRessenti
Code review (première passe)45 min~20 minGain réel, Claude pré-mâche le travail
Tests boilerplate2h/feature~1hGain variable selon la complexité
Briefing MEP1h30~30 minBon gain, le template est fiable
Analyse de bugVariableVariableParfois bluffant, parfois à côté

Ce qui marche vraiment

  • Les code reviews assistées : le gain est le plus clair. Claude détecte des choses que la fatigue cognitive nous fait rater
  • La génération de tests : pour les CRUDs et le boilerplate, c'est un vrai time-saver
  • Les briefings de MEP : le skill produit un document structuré en 30 secondes
  • La QA : c'est la surprise. Notre QA senior utilise Claude pour générer des matrices de tests à partir des specs Jira. Elle produit en 10 minutes ce qui prenait 2 heures. Et surtout, Claude trouve des edge cases auxquels personne n'aurait pensé — des combinaisons de données exotiques, des scénarios de concurrence, des cas limites sur les encodages. Elle dit que c'est "comme avoir un junior QA infatigable qui pose des questions stupides brillantes"

Ce qui ne marche pas encore

  • L'analyse de bugs complexes : Claude est bon sur les NPE évidentes, mais sur les bugs de logique métier, il tâtonne autant que nous
  • La vélocité globale : on ne peut pas honnêtement dire "+40% de productivité". C'est plus nuancé — certaines tâches sont 3x plus rapides, d'autres ne changent pas
  • L'adoption n'est pas uniforme : sur 5 personnes, les 2 seniors et moi l'utilisons quotidiennement, le mid-level commence à accrocher, le junior a été une vraie surprise — il a directement créé plein de skills et voulu tout automatiser, c'est un excellent élément qui mériterait d'aller plus haut, et la QA senior — ironiquement — est celle qui en tire le plus de valeur immédiate (génération de cas de test, exploration de scénarios edge case)

Le vrai impact : le temps libéré

Le gain le plus concret n'est pas un pourcentage. C'est que je passe moins de temps sur les reviews mécaniques et plus sur l'architecture et le mentoring. Et ça, c'est précieux pour un Engineering Manager.

Chapitre 5 : Les résistances et les échecs

La résistance humaine

Pas tout le monde était enthousiaste au départ :

"Ça va nous remplacer" — La crainte classique. J'ai dû expliquer que Claude ne remplace pas les développeurs, il remplace les tâches que les développeurs n'aiment pas faire. Un senior qui passe 3h par jour en code review n'est pas bien utilisé. Un senior qui passe 3h par jour en conception d'architecture, si.

"Le code généré est médiocre" — Vrai au début. Les premiers skills produisaient du code générique. Il a fallu itérer sur les prompts, ajouter du contexte (conventions, exemples, patterns existants) pour obtenir un output utilisable. C'est un investissement de 2-3 semaines.

"Je préfère le faire moi-même" — Le syndrome du "not invented here" appliqué à l'IA. Certains développeurs ont mis du temps à faire confiance aux reviews automatisées. La clé : montrer que Claude trouve des bugs que les humains manquent.

Les échecs

Skill "auto-fix-bug" — On a essayé de créer un skill qui fixe automatiquement les bugs à partir des stacktraces. Ça marchait pour les bugs simples (NPE, type mismatch) mais échouait sur les bugs logiques complexes. On l'a transformé en "analyze-bug" qui propose des hypothèses plutôt que des fixes.

Sur-confiance initiale — Les premières semaines, certains développeurs validaient les suggestions de Claude sans vérification. On a eu un incident mineur (un test E2E qui passait en CI mais cachait un faux positif). Ça nous a rappelé que l'IA est un outil, pas un oracle.

Coût des tokens — La facture mensuelle est significative. On a dû optimiser les prompts et mettre en place des limites d'usage pour rester dans le budget.

Le paradoxe de l'IA pour les profils en formation

C'est la question qui me travaille le plus en tant que manager. Mon junior et mon mid-level produisent plus de code, plus vite, avec moins de bugs. Sur le papier, c'est un succès. Mais en creusant, je me demande : est-ce qu'ils apprennent autant ?

Quand j'étais junior, je passais des heures à debugger un NPE. C'était frustrant, mais c'est comme ça que j'ai compris en profondeur le cycle de vie des objets Java. Aujourd'hui, mon junior tape un prompt et Claude lui donne la solution en 30 secondes. Il livre plus vite, mais a-t-il vraiment compris pourquoi ça marchait pas ?

Mon mid-level utilise Claude pour écrire des tests qu'il n'aurait jamais écrits seul. Les tests sont bons. Mais est-ce qu'il a intériorisé les patterns de test, ou est-ce qu'il dépend de Claude pour ça ?

Je n'ai pas la réponse. Ce que je fais en attendant :

  • Je demande au junior de m'expliquer le code que Claude a généré avant de le valider. Si tu ne peux pas l'expliquer, tu ne peux pas le committer

  • J'organise des sessions de live coding sans IA pour garder les fondamentaux

  • Je valorise la compréhension autant que la livraison dans mes évaluations

C'est peut-être la question la plus importante de cette décennie pour les Engineering Managers : comment former des développeurs solides dans un monde où l'IA écrit du code à leur place ? Je n'ai pas de réponse définitive, mais j'y réfléchis chaque jour.

Chapitre 6 : Les leçons apprises

1. Commencer petit, itérer vite

Ne lancez pas 25 skills d'un coup. On a commencé par un seul (review-pr), on l'a peaufiné pendant 2 semaines, puis on a ajouté les suivants un par un. Chaque skill nécessite du tuning spécifique au contexte de votre équipe.

2. Le contexte est roi

Un prompt générique produit un résultat générique. La qualité des skills dépend directement du contexte que vous leur donnez :

  • Les conventions de nommage de votre équipe

  • Des exemples de code existant

  • Les patterns architecturaux de votre projet

  • Les erreurs fréquentes à surveiller

3. L'humain reste dans la boucle

Claude ne remplace pas la review humaine, il la prépare. Le workflow optimal : Claude fait une première passe (conventions, tests, edge cases), le reviewer humain se concentre sur la logique métier et les choix d'architecture.

4. Mesurer, mesurer, mesurer

Sans métriques, c'est de l'intuition. On a mis en place un dashboard simple qui track le temps passé par catégorie de tâche. C'est ce qui nous a permis de prouver le ROI et de justifier le budget.

5. Former l'équipe au prompting

L'IA est aussi bonne que le prompt qu'on lui donne. On a organisé des sessions de "prompt engineering" internes pour que chaque développeur sache tirer le meilleur de Claude.

Chapitre 7 : L'avenir — où va-t-on ?

Ce qu'on prépare

  • Review automatique sur chaque PR : Claude se déclenche automatiquement sur chaque merge request GitLab via un webhook
  • Tests de non-régression intelligents : Claude identifie quels tests doivent tourner en fonction des fichiers modifiés
  • Assistant d'architecture : un skill qui connaît l'historique des ADR et peut suggérer des décisions cohérentes avec le passé

Ma conviction (humble)

On est au tout début. C'est excitant et frustrant à la fois. L'IA n'est pas magique — elle ne transforme pas une équipe du jour au lendemain. Il faut investir du temps, convaincre, itérer, et accepter que certains collègues ne seront pas convaincus tout de suite.

Mais je suis convaincu que les équipes qui expérimentent maintenant, même imparfaitement, auront une longueur d'avance. Pas parce que l'IA remplace les développeurs, mais parce qu'elle libère du temps pour le travail qui compte : penser, concevoir, mentorer.

C'est encore le début. On verra dans 6 mois si les promesses se confirment. En attendant, on continue à itérer — une skill à la fois.


Chetana YIN — Février 2026
Engineering Manager chez DJUST, 25+ skills Claude Code en production.