30 points par GN⁺ 2025-04-04 | 16 commentaires | Partager sur WhatsApp
  • Quand j’ai commencé à utiliser des outils de code IA, j’ai été impressionné par l’effet de surprise et le gain d’efficacité
  • En particulier, leur aide pour analyser les erreurs de compilation en C++ me paraissait presque magique
  • En utilisant GitHub Copilot et divers outils d’intégration d’éditeur basés sur des LLM, ils sont devenus une partie de mon workflow de développement
  • Mais fin 2024, j’ai supprimé de mon éditeur de code toutes les fonctionnalités intégrées liées aux LLM
  • J’utilise encore parfois l’IA, mais elle ne fait plus partie de mon workflow principal

Une expérience similaire avec le FSD de Tesla

  • Entre 2019 et 2021, j’ai souvent utilisé le FSD en conduisant une Tesla
  • À force d’utiliser le FSD sur autoroute, mon niveau d’attention à la conduite a progressivement baissé
  • Cette dépendance au FSD a affaibli ma capacité à conduire par moi-même
  • Quand je suis revenu à une voiture classique, il m’a fallu du temps pour retrouver ma concentration

Mon expérience avec les éditeurs de code IA

  • Plus j’utilisais les outils IA, plus je travaillais vite, mais mes compétences fondamentales s’affaiblissaient
  • Sur mes projets personnels, où je ne pouvais pas utiliser ces outils, je ressentais une gêne et une baisse de confiance
  • J’ai commencé à avoir du mal avec des tâches de base comme définir des fonctions ou écrire des tests
  • En m’appuyant sur l’IA, j’ai perdu confiance dans ma capacité à prendre moi-même des décisions d’implémentation
  • Au final, j’ai clairement senti que mon niveau baissait sur les tâches complexes

La perte du sens intuitif

  • Le mot allemand « Fingerspitzengefühl » désigne la capacité de jugement intuitif qu’acquiert une personne expérimentée
  • En programmation aussi, c’est une forme de sensibilité qui se développe à mesure qu’on se familiarise avec un langage et un framework
  • Ce sens est important dans des choix techniques détaillés comme l’usage des pointeurs, le choix de la bibliothèque standard ou l’utilisation de assert
  • Les outils IA affaiblissent cette sensibilité
  • Quand on pense à la qualité du code et à sa maintenance, l’intuition humaine reste extrêmement importante

Développer même sans outils IA

  • La peur de ne plus pouvoir travailler sans outils IA est exagérée
  • En pratique, l’IA n’est pas si utile que cela sur les grands projets ou les systèmes legacy
  • Sur les projets qui utilisent des outils internes, des frameworks maison ou des DSL internes, les LLM n’aident pas vraiment
  • Il ne faut pas confier à l’IA le code lié à la sécurité (JWT, RBAC, etc.)
  • La sécurité est un domaine qu’il faut comprendre et assumer soi-même
  • Si l’IA s’occupe de tout, de l’écriture du code à la review de PR puis au déploiement, les problèmes de sécurité vont exploser

Fixer un cadre d’utilisation de l’IA

  • L’IA est utile, mais j’évite de l’utiliser sous forme d’intégration dans l’éditeur
  • Je saisis moi-même le contexte et je ne récupère que le code nécessaire, que j’applique ensuite manuellement
  • Par exemple : conversion de tests, transformation de calculs SIMD, décodage de données compressées
  • Cette manière de faire renforce le sentiment de responsabilité vis-à-vis du code et réduit aussi les coûts
  • Utiliser l’IA pour apprendre est bénéfique : code assembleur, shaders, code réseau, etc., en particulier quand on lui demande des explications
  • Je n’utilise pas de contenu généré par IA sur mon blog personnel et je préfère les créations humaines

Continuer à faire ce qu’on aime

  • Au-delà de l’efficacité et de la productivité, il est aussi important de continuer à faire ce qu’on aime
  • Comme aux échecs, où les gens continuent à jouer même si l’IA peut gagner, la programmation peut aussi perdurer comme une activité plaisante
  • L’important n’est pas seulement d’être plus performant, mais de continuer à programmer parce qu’on y prend du plaisir

Un conseil aux développeurs juniors

  • Ne devenez pas des « juniors éternels » dépendants de l’IA
  • Développez votre capacité à écrire du code vous-même et à comprendre en profondeur le fonctionnement des systèmes
  • Il est important de progresser en étudiant ce qui se passe under the hood
  • L’IA n’est qu’un outil, pas une solution complète en soi
  • Il faut parfois s’entraîner à travailler sans IA
  • On ne devient pas un bon développeur uniquement avec la « vibe coding »
  • Si vous ne pouvez pas coder sans IA, alors vous ne faites pas vraiment du code

Conclusion

  • L’IA, c’est sacrifier de la connaissance au profit de la vitesse
  • Parfois, ce compromis vaut la peine, mais l’entraînement aux fondamentaux reste indispensable
  • Les bons développeurs pratiquent leurs bases de manière répétée
  • L’IA est encore loin de remplacer les métiers, et les entreprises cherchent surtout à attirer des investissements en jouant sur le FOMO
  • L’IA n’est qu’un outil, pas un substitut à la réflexion
  • Il est essentiel de rester curieux et de continuer à apprendre

16 commentaires

 
supermaxi 2025-04-28

Les fondamentaux qui définissent la compétence d’un bon développeur n’ont-ils pas été les mêmes depuis l’invention de l’ordinateur ?

 
space0403 2025-04-05

Moi aussi, pendant que je préparais les tests de code, j’ai fini par ouvrir Cursor machinalement par habitude, au point d’appuyer plus souvent sur Tab que de taper au clavier… haha. Du coup, avec les meilleures intentions du monde, je suis revenu sur VS Code.

 
ahwjdekf 2025-04-05

Je pense que même les gens qui créent ces outils d’IA connaissent tous ce problème. Ils font simplement comme si de rien n’était.

 
potatium 2025-04-05

Si on dépend aveuglément de l’IA, on risque de devenir, sur le plan conceptuel, exactement comme un manager incompétent qui ne comprend rien à l’architecture, ne sait pas écrire une seule ligne de code, se contente de faire travailler ses subordonnés, ignore les risques inhérents au code et, quand un problème survient, est incapable de trouver une solution. Seul l’outil utilisé change : de l’intelligence humaine à l’intelligence artificielle.

 
aqqnucs 2025-04-04

Pour le sale code de corvée, il n’y a rien de mieux que ça…

 
dbs0829 2025-04-04

Je suis globalement d’accord. Je pense qu’il existe encore des domaines qui nécessitent ce type de sensibilité, et que l’écart entre ce dont on a conscience et ce dont on n’a pas conscience est assez important. Il faut l’utiliser comme un outil, mais en restant suffisamment conscient de ses limites.

 
dudghks5722 2025-04-04

L’expérience d’utilisation des éditeurs de code IA, la perte de l’intuition et les conseils adressés aux développeurs débutants : ces trois points me parlent vraiment beaucoup.

 
reagea0 2025-04-04

Autant ne plus utiliser d’ordinateur, tant qu’à faire..

 
plumpmath 2025-04-06

Haha, tout à fait d’accord.

 
plumpmath 2025-04-06

Hahahahahahahaha

 
ifmkl 2025-04-04

La version 2025 de « M. Kim, n’utilisez pas Pangsion »… peut-être ? haha

 
dbs0829 2025-04-04

À lire le texte, il ne semble pas dire qu’il ne faut pas l’utiliser pour les tâches répétitives, mais plutôt qu’il ne faut pas confier sa réflexion à l’IA.

 
hhkkkk 2025-04-04

Haha, +1.

 
tujuc 2025-04-04

De plus en plus... on dirait que des situations nécessitant une pratique délibérée se présentent... :)

 
kandk 2025-04-04

???: « continuez à utiliser putty et vi »

 
GN⁺ 2025-04-04
Avis Hacker News
  • Conviction qu’il existe deux types de compétences : les compétences indépendantes et les compétences fondamentales

    • Historiquement, nous avons perdu et acquis de nombreuses compétences indépendantes
    • La logique, le raisonnement, l’éloquence et la compréhension des principes fondamentaux de la mécanique et de l’ingénierie auraient été utiles aussi bien dans la Grèce antique qu’en France au XVIIIe siècle
    • L’IA est bien adaptée à l’usage dans les compétences indépendantes de la programmation
    • Confier à l’IA l’architecture fondamentale d’un projet peut affaiblir les capacités fondamentales de résolution de problèmes et de conception logicielle
    • L’IA est utile pour les compétences indépendantes, mais reste encore insuffisante pour les compétences fondamentales
    • Les éditeurs de code basés sur l’IA sont utiles sans risque de dégradation des compétences à long terme
  • Désormais, l’auteur n’utilise plus d’outils d’IA au niveau de l’éditeur comme Cursor, et résout les problèmes via la complétion de texte en ligne et le chat

    • Impression que le cerveau s’atrophie à force de trop dépendre de l’IA
    • À l’avenir, l’écart se creusera davantage entre les personnes qui dépendent excessivement de l’IA et celles qui ne le font pas
  • La majeure partie du code est écrite manuellement, mais les LLM sont utilisés pour la recherche sémantique afin d’enrichir le travail de recherche

    • Les LLM ne sont pas chargés d’écrire des fichiers entiers
    • Bonne formule à propos du marché des outils IA : beaucoup d’entreprises utilisent le FOMO comme stratégie de vente
  • La complétion de code est désactivée, car lire les suggestions constitue une charge mentale importante

    • Le chat n’est utilisé que lorsque c’est nécessaire
  • Un livre de Nicholas Carr explique la dynamique selon laquelle plus on dépend de l’automatisation, plus les compétences se dégradent

    • Copilot est désactivé et le chat est utilisé moins souvent
    • Décision prise pour deux raisons : les compétences se détériorent et coder devient moins amusant
    • L’auteur aime réfléchir par lui-même et apprécie d’améliorer ses compétences
    • Coder à nouveau seul est plus lent, mais l’expérience est plus agréable
  • Cela ressemble à des articles du type « pourquoi tous les développeurs devraient apprendre l’Assembly »

    • Les capacités de codage de l’IA vont s’améliorer et fourniront des solutions à 90 % suffisantes pour être mises sur le marché
    • Elles ne seront peut-être pas optimisées ou totalement sûres, mais ce ne sera pas très différent de la plupart des projets logiciels réels
  • Utilisation uniquement de l’IA de complétion de ligne fournie avec Rider

    • Un mélange raisonnable entre la complétion de code classique et un peu d’intelligence
  • Les outils IA rendent la vie plus pratique

    • On peut conduire une voiture manuelle, mais une boîte automatique est plus pratique
    • En programmation aussi, on veut se concentrer sur les vrais problèmes
    • La technologie existe pour rendre la vie plus pratique
  • La perte de compétences fonctionne dans les deux sens

    • On peut manquer l’acquisition des compétences initiales nécessaires pour utiliser efficacement les LLM
    • Les LLM pourraient transformer les langages de programmation
  • Utilisation à la place de Google pour chercher des problèmes spécifiques

    • Préférence malgré tout pour Google, car les réponses de l’IA sont trop longues et verbeuses, même si Google devient de moins en moins utile