- 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
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 ?
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.
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.
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.
Pour le sale code de corvée, il n’y a rien de mieux que ça…
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.
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.
Autant ne plus utiliser d’ordinateur, tant qu’à faire..
Haha, tout à fait d’accord.
Hahahahahahahaha
La version 2025 de « M. Kim, n’utilisez pas Pangsion »… peut-être ? haha
À 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.
Haha, +1.
De plus en plus... on dirait que des situations nécessitant une pratique délibérée se présentent... :)
???: « continuez à utiliser putty et vi »
Avis Hacker News
Conviction qu’il existe deux types de compétences : les compétences indépendantes et les compétences fondamentales
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
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
La complétion de code est désactivée, car lire les suggestions constitue une charge mentale importante
Un livre de Nicholas Carr explique la dynamique selon laquelle plus on dépend de l’automatisation, plus les compétences se dégradent
Cela ressemble à des articles du type « pourquoi tous les développeurs devraient apprendre l’Assembly »
Utilisation uniquement de l’IA de complétion de ligne fournie avec Rider
Les outils IA rendent la vie plus pratique
La perte de compétences fonctionne dans les deux sens
Utilisation à la place de Google pour chercher des problèmes spécifiques