IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les générateurs de code par IA créent une génération de « codeurs copier-coller », voici comment y remédier
Par Terrance Craddock

Le , par Terrance Craddock

41PARTAGES

5  0 
Les générateurs de code par IA créent une génération de « codeurs copier-coller », voici comment y remédier, par Terrance Craddock

Comment les développeurs juniors troquent la maîtrise pour la vitesse (et ce que nous perdons lorsque nous les laissons faire).

Vous encadrez un développeur junior. Ils s'acquittent rapidement de leurs tâches, leur écran n'étant qu'un flou de bouts de code générés par l'IA. Ils respectent toutes les échéances, leurs commits GitHub s'affichent en vert. Mais vous leur demandez ensuite d'expliquer pourquoi leur code fonctionne. C'est le silence. Ils tâtonnent dans leur jargon, leur confiance s'effondre comme un château de cartes.

Il ne s'agit pas d'un scénario hypothétique. Il se produit dans les startups, les départements informatiques des entreprises et les bootcamps du monde entier. Des outils alimentés par l'IA comme GitHub Copilot sont en train de remodeler le codage, mais sous le battage médiatique se cache une crise que nous n'osons pas nommer : nous sommes en train de former une génération de développeurs incapables de penser par eux-mêmes.


Le paradoxe de Copilot : quand les outils "utiles" deviennent des menottes intellectuelles

Soyons clairs : la complétion de code par l'IA n'est pas un mal. Pour les développeurs chevronnés, c'est comme si un stagiaire infatigable s'occupait du code standard. Mais pour les juniors ? C'est devenu l'équivalent de la dépendance au GPS.

J'ai récemment examiné le code d'un jeune qui avait « résolu » un problème de tri complexe à l'aide de Copilot. Lorsque je leur ai demandé de m'expliquer l'algorithme, ils se sont figés. « L'IA l'a suggéré », ont-ils répondu en haussant les épaules. Traduction : Ils avaient confié leur esprit critique à un chatbot.

Il ne s'agit pas seulement d'erreurs de syntaxe, mais aussi d'une atrophie des compétences. Coder, ce n'est pas taper, c'est résoudre des problèmes. Lorsque les juniors considèrent l'IA comme une baguette magique, ils passent à côté du beau et difficile processus de la résolution de problèmes :

  • Lutter contre les failles de la logique
  • Tracer manuellement les fuites de mémoire
  • Découvrir pourquoi la récursion fait déborder la pile

Ils apprennent à peindre avec des chiffres tout en oubliant comment mélanger les couleurs.

Des fantômes dans la machine : Le coût caché du développement piloté par l'IA

La contamination commence à petite échelle. Un junior s'appuie sur l'IA pour obtenir de l'aide syntaxique. Puis sur les modèles de fonctions. Bientôt, ils assemblent le code à la manière d'un artiste de collage, avec style et sans substance.

Voici ce que nous perdons lorsque l'IA fait le gros du travail :

  1. Le moment « Aha » - Cette poussée de dopamine lorsque votre code s'exécute enfin ? L'IA en prive les juniors. S'ils ne luttent pas contre les erreurs, ils n'acquièrent jamais le courage de résoudre de nouveaux problèmes.
  2. Imagination architecturale - Les outils d'IA modernes optimisent ce qui fonctionne, et non ce qui est élégant. Les juniors produisent des codes gonflés, sans savoir que leur « solution » utilise 10 fois plus de mémoire que nécessaire.
  3. Intuition de débogage - Un développeur m'a dit : « Copilot est comme un cheat code... jusqu'à ce qu'il ne le soit plus ». Lorsque le code généré par l'IA échoue, les juniors n'ont pas les connaissances de base nécessaires pour le réparer. Ils sont bloqués dans le désert avec une boussole cassée.

L'illusion de la compétence (et comment la briser)

J'ai déjà vu ce schéma auparavant. Au début des années 2000, les outils EDI « glisser-déposer » promettaient de démocratiser le codage. Au lieu de cela, ils ont inondé le marché de développeurs capables d'assembler des interfaces utilisateur, mais incapables d'expliquer les boucles d'événements.

L'histoire se répète, mais nous pouvons briser le cycle :

Mettre en place des sprints d'apprentissage « sans IA » - Assigner aux juniors des tâches qu'ils doivent réaliser sans IA :

  • Construire une liste chaînée à partir de zéro
  • Analyser manuellement un fichier JSON
  • Écrire des algorithmes de tri avec rien d'autre que du pseudocode et du grit

Comme les musiciens qui font leurs gammes, ces exercices développent la mémoire musculaire pour la logique.

Transformer l'examen du code en salle de classe Socrate - Arrêtez d'examiner ce qu'ils ont écrit. Commencez à leur demander pourquoi :

  • « Quels sont les cas particuliers qui échappent à ce code ? »
  • « Comment cela pourrait-il échouer avec 10 000 utilisateurs simultanés ? »
  • « Si vous disposiez de la moitié de la mémoire, comment optimiseriez-vous ce code ? »

Demandez-leur de défendre leur code comme s'il s'agissait d'une thèse.

Adopter l'art de briser les choses - Brisez intentionnellement le code généré par l'IA lors des révisions de code. Chargez les juniors de le réparer - sans utiliser l'IA. Rien n'apprend mieux la résilience que le dépannage du désordre de quelqu'un d'autre (artificiellement intelligent).

L'avenir n'est pas à l'autocomplétion, mais au craftsmanship augmenté

L'IA ne disparaîtra pas et ne devrait pas disparaître. L'objectif n'est pas d'interdire Copilot, mais de former des développeurs qui n'en ont pas besoin.

Considérez l'IA comme une roue d'entraînement. Utile pour l'équilibre initial, mais dangereuse si elle est laissée en place trop longtemps. Le moment où un junior s'appuie moins sur l'autocomplétion est le moment où il commence à penser comme des ingénieurs - et pas seulement à taper comme eux.

Un défi lancé à la communauté des codeurs

Aux juniors : Utilisez l'IA comme un chef cuisinier expérimenté utilise un robot culinaire - pour les préparations fastidieuses, pas pour le plat principal. Si vous ne pouvez pas coder sans elle, vous ne la contrôlez pas, c'est elle qui vous contrôle.

Aux seniors : Cessez d'applaudir la vitesse. Récompensez la profondeur. Encouragez le développeur qui écrit 100 lignes de code impeccable plutôt que celui qui produit 1 000 lignes de spaghettis générés par l'IA.

La prochaine fois que vous verrez un junior collé à Copilot, demandez-lui : « Que ferez-vous lorsque l'IA se trompera ? »

Sa réponse vous dira tout.

Il y a 25 ans, j'ai appris à coder sur une machine moins puissante que votre smartwatch. Pas d'IA, pas de Stack Overflow - juste moi, un manuel et des essais et erreurs sans fin.

Était-ce plus difficile ? Absolument. Cela en valait-il la peine ? Chaque cri de frustration lancé à mon écran m'a appris à réfléchir.

L'IA ne peut pas reproduire cela. Et elle ne devrait pas le faire.

Qu'en pensez-vous ? Sommes-nous en train de responsabiliser les juniors ou de freiner leur développement ? Laissez un commentaire avec votre opinion la plus controversée sur l'IA dans le codage. Et si cet article vous a amené à repenser vos habitudes de Copilote, partagez-le avec un développeur qui a besoin de l'entendre.

Source : Terrance Craddock

Et vous ?

Quel est votre avis sur le sujet ?
Trouvez-vous ces recommandations pertinentes et cohérentes ?

Voir aussi :

L'IA est en train de créer une génération de programmeurs illettrés, par Namanyay

« L'IA Cursor m'a dit que je devais apprendre à coder au lieu de lui demander de générer du code », rapporte un programmeur. Quand l'IA remet elle-même en question la culture du « vibe coding »

L'utilisation de code généré par l'IA fera de vous un mauvais programmeur, par Rudis Muiznieks

Je suis heureux que l'IA n'existait pas lorsque j'ai appris à coder, par Shiv
Vous avez lu gratuitement 10 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Antjac
Membre chevronné https://www.developpez.com
Le 18/04/2025 à 9:16
De mon côté, à bientôt 40 ans et CTO pour quelques boîtes, j'utilise l'IA comme assistant mais j'analyse et modifie ce qui est produit. En gros ça me dégrossi le travail mais je garde la maîtrise et n'implémente pas ce que je ne comprends pas.
C'est vrai que ça me fait gagner du temps. Néanmoins j'ai la capacité et l'expérience pour avoir cet esprit critique.

J'ai aussi quelques juniors dans mon équipe et ils utilisent l'IA de manière beaucoup moins critique.

Pas plus tard qu'il y a deux jours, mon patron demande à toute l'équipe si on devrait faire de la génération de code à partir de maquettes Figma et des spécifications. Pour le coup, tous les juniors étaient super partants mais j'y ai mis mon véto.
Je considère que cela va créer un code trop peu qualitatif, avec beaucoup de code redondant et être délétère tant pour le produit que pour l'évolution des juniors.

Mon avis (peut être celui d'un déjà vieux con) est qu'il faut toujours considérer l'IA comme assistant le développeur et non l'inverse.
2  0 
Avatar de RenarddeFeu
Membre averti https://www.developpez.com
Le 17/04/2025 à 16:02
Comme l'auteur, j'ai connu le début le début des années 2000, bien avant l'avènement de l'IA.

Pas mal de développeurs de l'époque ne le sont plus depuis longtemps, faute d'être compétents. Et on parle majoritairement de personnes bac+5 ayant suivi un cursus prépa+grande école. Les bootcamps n'existaient pas.

Comme toujours, IA ou pas, ne resteront développeurs que ceux qui ont une réelle appétence pour ce métier. Les autres au mieux évolueront vers des postes non techniques, au pire se feront tout simplement lourder voire finiront en dépression à 40 ans.
1  0 
Avatar de Nym4x
Membre confirmé https://www.developpez.com
Le 18/04/2025 à 5:44
Pour ma part j’utilise l’ia comme un moteur de recherche ou pour un sujet que je ne connais pas. A chaque fois que je l’ai testé sur un vrai problème cela a été décevant et non utilisable. Je ne suis même pas certain que cela soit plus efficace que d’aller lire la documentation ou de faire une recherche google car c’est une couche d’abstraction permettant d’accéder à l’information (son dataset) mais qui n’est pas fiable à cause des hallucinations.
1  0 
Avatar de bipping
Nouveau Candidat au Club https://www.developpez.com
Le 18/04/2025 à 12:04
Je suis un Amateur jusqu'à aujourd'hui. Mon expérience a commencé avec des plus ou moins petit programme Arduino.

J'ai débuté avant l'IA et je copiait déjà les codes que je pouvais trouver sur internet.

Mon environnement de développement c'était l'IDE Arduino, autrement dit notepad. Et j'ai dû me forcer a interpréter le code, a comprendre ce qu'il fait, cette apprentissage m'a "appris" au moins 2 paradigme procédural et fonctionnel.

Mais comme je considérais que mon code pouvait toujours être amélioré (même sans point de comparaison) je suis allée chercher les meilleurs code j'ai découvert les designs patterns, les paradigme ect...

Ceci a été possible grâce a l'IA qui m'a rebooster, en proposant mon code, j'ai pu pousser plus loin la compréhension du code mais aussi j'ai découvert les limites de l'IA (avec beaucoup de frustration) de mon point de vue l'IA est un bon professeur qui te propose un code que tu peux copier coller mais si tu ne relis pas son code tu augmentes ta dettes technique lorsque tu devras corriger toi-même ce manque d'investissement.

Aujourd'hui je code très différemment, j'ai un peu plus d'expérience, mais c'est vrai que je me repose sur l'IA pour la production de code. Mais je garde une confiance relatives avec son code.

J'ai une méthode où je passe systématiquement en revue le code en lui demandant de manière itérative de checker tel fonction, optimiser ceci, imposé cela, demander "pourquoi" elle fait ce choix et je lui demande de mettre un commentaire qui indique le pourquoi.

En conclusion je pense que l'IA est un outil a double tranchant, il peut être très utile pour démultiplier la production de code, mais aussi si l'on fait l'erreur de penser que c'est l'IA qui code et non le développeur, on paye le prix assez chèrement et ça devrait servir de leçon.
l'IA est un bon professeur mais sommes nous des bon élève ?
1  0