49 points par GN⁺ 2026-03-03 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Les outils d’IA ne créent chez les développeurs juniors qu’une compétence superficielle : ils produisent rapidement du code, mais il devient fréquent d’être incapable d’expliquer pourquoi cette approche a été choisie
  • La vraie valeur des développeurs seniors ne réside pas dans la vitesse d’écriture du code, mais dans la reconnaissance des schémas d’échec accumulée au fil des années et des erreurs
  • Même en utilisant l’IA, le processus de lutte volontaire consistant à analyser soi-même les erreurs, suivre le code et formuler des hypothèses reste indispensable
  • Pour chaque ligne de code que l’on commit, il faut pouvoir expliquer soi-même pourquoi telle bibliothèque, tel pattern et quels sont les trade-offs ; sinon, ce n’est pas prêt pour la mise en production
  • Il faut cesser d’utiliser l’IA comme simple générateur de réponses et l’employer comme tuteur, afin d’apprendre les avantages et inconvénients de plusieurs approches

La racine du problème : la compétence superficielle créée par l’IA

  • L’usage des LLM a rendu possible l’implémentation et le déploiement rapides de fonctionnalités, mais on se retrouve parfois incapable d’expliquer pourquoi un certain code a été choisi
    • Lors des code reviews, le phénomène de compétence superficielle (shallow competence) se répand : certains ne savent pas répondre quand on leur demande pourquoi ils ont choisi une approche
    • Le schéma consistant à accepter tel quel le code proposé par l’IA se répète
  • En apparence, la productivité semble élevée, mais la compréhension de l’intention de conception et des trade-offs reste insuffisante
  • Avec le temps, ce problème pourrait conduire à une perte de confiance

Pourquoi les développeurs seniors ont de la valeur

  • Si les développeurs expérimentés coûtent cher, ce n’est pas parce qu’ils écrivent du code rapidement, mais parce qu’ils ont appris au fil du temps ce qu’il ne faut pas faire
  • Ce que les entreprises paient réellement, c’est cette reconnaissance des schémas d’échec née d’expériences comme prendre de mauvaises décisions d’architecture et vivre avec leurs conséquences, ou être réveillé à 2 heures du matin pour un incident en production
  • Aujourd’hui, de nombreux développeurs juniors sautent précisément cette étape en s’appuyant sur l’IA

5 stratégies

  • 1. Apprendre correctement les fondamentaux

    • Il faut savoir ce qu’est un bon code pour pouvoir évaluer ce que produit l’IA ; sinon, on finit par accepter ses sorties aveuglément
    • Livres recommandés : Head First Design Patterns (comprendre les patterns de code et les raisons de les choisir) et Designing Data-Intensive Applications (les principes de conception des systèmes orientés données)
  • 2. Étudier des cas d’incident

    • Il est recommandé de lire les documents de post-mortem détaillés publiés lors d’incidents majeurs par Cloudflare, AWS, Azure, Google et d’autres grands services
      • On y trouve la cause, l’analyse de la cause racine, la méthode de correction et les mesures de prévention de récidive
    • Chez Amazon, on parle de COE (Correction of Errors), et la plupart des grandes entreprises tech, comme Facebook, ont aussi des documents internes comparables
    • Comprendre comment un système complexe s’est effondré marque bien plus durablement que la simple lecture de documentation
  • 3. Provoquer volontairement la difficulté

    • Avant l’IA, résoudre soi-même les problèmes n’était pas une option mais la norme ; désormais, il existe une échappatoire disponible 24 h/24
    • Avant de coller une erreur dans l’IA, il faut d’abord lire la stack trace, suivre le code, vérifier les logs et formuler une hypothèse sur ce qui ne va pas
      • C’est ainsi que se construit un véritable instinct de débogage
      • On peut faire appel à l’IA ensuite
    • Participer à l’astreinte et prendre les tickets que personne ne veut traiter est la manière la plus efficace d’apprendre comment fonctionnent réellement les systèmes
  • 4. Ne jamais mettre en production du code que l’on ne comprend pas

    • Si, en code review, on vous demande pourquoi vous avez choisi une certaine approche et que vous répondez « l’IA l’a suggérée », vous perdez immédiatement toute crédibilité
      • Le problème n’est pas d’avoir utilisé l’IA, mais de ne pas avoir fait l’effort de comprendre le code que l’on soumet
    • Pour chaque ligne que l’on commit, il faut pouvoir expliquer pourquoi cette bibliothèque, pourquoi ce pattern, et quels sont les trade-offs
    • Même si cela ralentit, la compréhension doit passer avant tout ; se forger une réputation de simple copieur-colleur est très difficile à rattraper
  • 5. Prompter le « pourquoi » plutôt que la réponse

    • Au lieu de demander uniquement une solution à l’IA, il faut lui demander plusieurs approches et l’explication de leurs avantages et inconvénients respectifs
    • Cela produit deux effets :
      • on apprend réellement les trade-offs
      • comme l’IA déroule son raisonnement, sa recommandation elle-même peut changer, ce qui permet parfois d’obtenir une meilleure réponse

Un conseil réaliste face à la pression de la vitesse : équilibrer productivité et apprentissage

  • La crainte de se faire distancer en ralentissant est réaliste, mais il n’est pas nécessaire d’arrêter complètement de produire
  • Il faut pratiquer cet apprentissage volontaire et inconfortable pendant les temps calmes, les side projects ou les tickets moins exposés à la compétition
  • Il faut distinguer consciemment le temps passé à construire de vraies compétences et le temps passé à simplement produire des sorties

Utiliser l’IA comme tuteur

  • Nous disposons aujourd’hui d’un tuteur IA capable d’expliquer n’importe quoi au niveau de profondeur souhaité, ce que les générations précédentes de développeurs n’avaient pas
  • Il ne faut pas seulement faire exécuter du travail à l’IA, mais l’utiliser de façon à demander des explications et la faire enseigner
  • La valeur d’un développeur ne réside pas dans sa capacité à produire du code, mais dans sa capacité à regarder n’importe quel code et à juger s’il est bon ou non
  • Que le code ait été généré ou non par l’IA, la compétence essentielle est la capacité à distinguer le bon du mauvais
  • Seuls l’apprentissage délibéré et l’accumulation d’expériences d’échec peuvent forger une compétitivité durable à long terme

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.