
En début d'année, l'article "L'IA est en train de créer une génération de programmeurs illettrés" révélait l'état de la dépendance des développeurs logiciels aux outils d'IA. Nous sommes en train de créer une génération de développeurs qui peuvent poser les bonnes questions à l'IA, mais qui ne peuvent pas comprendre les réponses. Chaque fois que l'IA tombe en panne, ils se retrouvent de plus en plus impuissants.
Pour l'instant, l'IA n'est pas suffisamment capable de remplacer totalement les programmeurs, mais cela ne fera qu'empirer au fur et à mesure qu'elle s'améliorera. La vraie question n'est pas de savoir si l'IA va remplacer les programmeurs. Il s'agit de savoir si nous nous remplaçons nous-mêmes.
Mais aujourd'hui, il y a quelque chose qui me dérange dans la façon dont les nouveaux développeurs apprennent et il faut que j'en parle : "Les nouveaux développeurs juniors ne savent pas coder".
Nous sommes à un point d'inflexion bizarre dans le développement logiciel. Tous les développeurs juniors à qui je parle ont Copilot, Claude ou GPT qui tournent 24 heures sur 24 et 7 jours sur 7. Ils produisent du code plus rapidement que jamais. Mais quand je creuse plus profondément dans leur compréhension de ce qu'ils envoient ? C'est là que les choses se gâtent.
Bien sûr, le code fonctionne, mais demandez-leur pourquoi il fonctionne de cette façon plutôt que d'une autre ? Crickets. Vous posez des questions sur les cas limites ? Le regard est vide.
Les connaissances fondamentales que l'on acquiert en se débattant avec les problèmes sont tout simplement... absentes.
Nous échangeons une compréhension approfondie contre des solutions rapides, et même si cela fait plaisir sur le moment, nous le paierons plus tard.
À l'époque où il fallait vraiment réfléchir
J'ai récemment réalisé qu'il y a toute une génération de nouveaux programmeurs qui ne savent même pas ce qu'est StackOverflow.
À l'époque où « Claude » n'était pas un chatbot mais l'homme qui a inventé le domaine de l'entropie de l'information, il y avait une manière différente de déboguer les problèmes de programmation.
D'abord, chercher sur Google. Ensuite, vous espériez qu'une âme désespérée avait posé une question similaire à la vôtre. Si c'était le cas, vous trouveriez une réponse détaillée, réfléchie (et souvent condescendante) d'un sage barbu sur ce site appelé « Stack Overflow ».
Voici l'une des questions que j'ai posées il y a 12 ans. Voir la réponse de Nathan Wall (qui a accumulé plus de 10 000 points et qui est apparemment directeur technique depuis 2015) :
Pouvez-vous imaginer qu'un type a écrit une réponse avec un tel niveau de détail ? Brut, sans aucune IA ? Et gratuitement ?
Ma question initiale a reçu une réponse complète, bien sûr, mais il ne s'est pas arrêté là. J'ai appris tellement de choses nouvelles. Certains d'entre eux, dont je ne soupçonnais même pas l'existence, et d'autres que je ne voulais même pas connaître, sont désormais gravés dans mon cerveau pour toujours.
C'était le meilleur scénario possible si vous aviez une question à poser. Si vous tombiez sur un problème particulièrement difficile et que vous ne trouviez personne qui ait déjà répondu à votre question, pas de chance.
De nos jours, les développeurs juniors ont la vie facile. Ils vont simplement sur chat.com et copient-collent toutes les erreurs qu'ils voient. Même les plus paresseux ne font pas l'effort de 30 secondes de basculer dans une fenêtre de navigateur, ils utilisent simplement un outil qui fait tout en un seul endroit.
C'est pratique et rapide.
Mais il y a encore une raison pour laquelle StackOverflow était supérieur :
Lire les discussions de développeurs expérimentés sur votre sujet est la meilleure façon d'apprendre.
Voici un graphique pour expliquer ce que je veux dire :
L'IA vous donne des réponses, mais la connaissance que vous en tirez est superficielle. Avec StackOverflow, vous deviez lire plusieurs discussions d'experts pour avoir une vue d'ensemble. C'était plus lent, mais vous compreniez non seulement ce qui fonctionnait, mais aussi pourquoi cela fonctionnait.
Pensez à tous les grands développeurs que vous connaissez. Sont-ils devenus aussi bons en copiant des solutions ? Non, ils y sont parvenus en comprenant les systèmes en profondeur et les processus de pensée des autres développeurs. C'est exactement ce que nous sommes en train de perdre.
Je n'essaie pas d'être le type qui se plaint des « enfants de nos jours ». J'utilise quotidiennement des outils d'IA. Je suis littéralement en train d'en construire un. Mais nous devons être honnêtes sur ce que nous échangeons contre cette commodité.
Que pouvons-nous faire ?
J'ai expérimenté des moyens de résoudre ce problème (car, soyons honnêtes, l'IA ne va nulle part). Voici ce qui fonctionne :
- Tout d'abord, utilisez l'IA dans un esprit d'apprentissage. Lorsqu'elle vous donne une réponse, interrogez-la. Demandez-lui pourquoi. Bien sûr, cela prend plus de temps, mais c'est littéralement le but.
- Ensuite, trouvez votre tribu. Reddit, Discord, Mastodon - partout où les gens intelligents se retrouvent. C'est là que vous trouverez les vraies discussions. Celles qui vous font dire « hein, je n'y avais jamais pensé de cette façon ».
- Effectuez les revues de code différemment. Au lieu de vous contenter de vérifier si le code fonctionne, entamez une conversation avec votre équipe. Quelles autres approches ont-ils envisagées ? Pourquoi ont-ils choisi celle-ci ? Faites en sorte que la compréhension du processus soit aussi importante que le résultat final.
- Construisez parfois des choses à partir de zéro. Oui, l'IA peut générer un système d'authentification pour vous. Mais essayez d'abord d'en construire un vous-même. Vous écrirez un code moins bon, mais vous en comprendrez chaque ligne. Cette connaissance s'enrichit.
Regarder vers l'avenir
Voici la réalité : L'accélération a commencé et nous ne pouvons rien y faire. Les modèles open source prennent le dessus, et nous aurons l'AGI dans nos poches avant même de nous en rendre compte. Mais cela ne veut pas dire que nous devons laisser cette évolution faire de nous de mauvais développeurs.
L'avenir ne dépend pas de l'utilisation de l'IA, mais de la manière dont nous l'utilisons. Et peut-être, juste peut-être, pouvons-nous trouver un moyen de combiner la vitesse de l'IA avec la profondeur de compréhension dont nous avons besoin pour apprendre.
Faites-moi savoir si vous avez trouvé d'autres moyens d'équilibrer cela. Ou dites-moi que je suis juste un vieil homme qui crie après les nuages. Quoi qu'il en soit, trouvons une solution ensemble.
Un jeune codeur s'était déjà exprimé sur le sujet à la suite de l'article "L'IA est en train de créer une génération de programmeurs illettrés". Il avait notamment admis : "Le manque d'expérimentation lors de l'écriture de code avec l'IA rend le processus d'apprentissage terrible. Si l'outil de développement de l'IA avait existé entre les mains du jeune homme de 13 ans que j'étais, je l'aurais utilisé pour corriger chaque bogue, et je suis donc heureux qu'il n'ait pas existé."
Il a conclu : "Je dois admettre que j'utilise encore Cursor tous les jours pour écrire du code parce que je ne veux pas m'embêter avec des détails d'implémentation ennuyeux, en particulier lors de la construction de l'interface utilisateur, mais je pense que je suis d'accord avec le prix à payer pour l'instant. Lorsque je construis quelque chose à partir de zéro (avec C ou Rust), je reviens toujours à Neovim pour faire l'expérience de la programmation sans outils d'IA."
Source : New Junior Developers Can’t Actually Code
Et vous ?


Voir aussi :



Vous avez lu gratuitement 7 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.