Génération LLM : sale temps pour les juniors

Nous vivons un drame silencieux : les jeunes développeurs n’apprennent plus à coder.
Combien d’entre eux démarrent leur vie professionnelle armés de LLMs surpuissants à seulement 20 ou 40€ par mois ? La tentation est trop grande : ils s’en servent pour tout et promptent à tout va. Seulement, n’ayant ni méthode ni notion d’architecture ou de test, ni plus largement aucune idée de ce que signifie faire vivre un logiciel dans le temps, ils se satisfont d’un programme qui marche dans les grandes lignes et créent de la dette à tour de bras. Les laisser faire ne rend service à personne, mais surtout pas à eux : on ne peut pas déléguer l’effort cognitif de l’apprentissage.
Doit-on les blâmer ? Certainement pas.
Évacuons au préalable un possible malentendu : cet édito est tout sauf une charge contre les LLMs. Ils sont, entre de bonnes mains, de formidables accélérateurs de la pensée et de l’action, de merveilleux contradicteurs et facilitateurs qui nous permettent de travailler à plus haut niveau d’abstraction. Jour après jour, nous découvrons les possibilités et les limites de ces outils et apprenons à lâcher-prise, tandis que les cas d’usage se précisent et les gains de productivité s’affirment. Les LLMs sont appelés à rester, à condition de les concevoir comme un outil parmi d’autres (cf. Loi de l’Instrument).
Les apprentis développeurs d’aujourd’hui ont donc entre leurs mains des outils d’une puissance remarquable. Mais, pour bien s’en servir, il faut savoir quoi leur demander au-delà du basique « développe ma fonctionnalité » et quoi vérifier une fois ladite fonctionnalité produite. Éviter d’écrire du code à cheval entre 2 contextes, par exemple – cela réduit à néant les efforts de modularisation. Ou bien mettre en place une simple architecture hexagonale afin d’isoler et tester le domaine. Deux considérations qui n’ont aucune traduction visible pour l’utilisateur mais qui changent tout. « Ça fonctionne » ne saurait être suffisant.
Il est donc de la responsabilité des développeurs les plus expérimentés et des organisations de les encadrer et de leur transmettre les fondamentaux du logiciel : architectures, méthodologies, paradigmes, langages, et, au-delà — cela s’apprend dans une certaine mesure – rigueur et esprit critique. Ce sont, au fond, des valeurs : le goût de l’excellence et de l’amélioration continue, et donc une tradition du compagnonnage qu’il faut perpétuer – mais peut-être faudrait-il dire instaurer, et c’est là tout le problème.
Ce travail s’inscrit dans la continuité de la mission des écoles et autres lieux de formation initiale. C’est un autre sujet, mais force est de constater, là encore, que le contrat n’est pas rempli. Combien d’écoles privées et de bootcamps ont lâché sur le marché des développeurs, jeunes et moins jeunes mais tous débutants, sans leur avoir appris aucun des fondamentaux du métier ? À bien y regarder, l’avènement de la programmation assistée par IA ne fait que révéler et amplifier un problème de compétence propre à notre industrie.
C’est évidemment dans l’intérêt des entreprises elles-mêmes, les juniors d’aujourd’hui étant les seniors de demain. Toute entreprise qui se projette à plus de 5 ans voudra nécessairement embaucher et former des recrues en début de carrière.
Ces derniers ne demandent d’ailleurs pas autre chose, eux-mêmes bien conscients du problème. À défaut de savoir ce qu’ils ne savent pas, nombre d’entre eux ont l’intuition que quelque chose ne va pas : « Si c’est aussi simple que cela, le développement, tout le monde doit pouvoir le faire, non ? » Pas plus tard que la semaine dernière, un apprenti évoquait en ces termes son dernier stage : « 6 mois dans une start-up parisienne, seul avec mon LLM. Quand je posais des questions, on me renvoyait au LLM ». Et cet autre, encore plus direct : « montre-moi comment faire, parce que moi je n’ai jamais appris, j’ai démarré avec les LLMs ».
Si ces avancées technologiques créeront ou détruiront de l’emploi demeure une question à laquelle il est difficile de répondre. Une chose est malheureusement certaine : les juniors sont, dès aujourd’hui, les premiers sacrifiés de l’IA. Quand, par miracle, ils réussissent à se faire embaucher, encore faut-il qu’ils aient la chance de pouvoir apprendre leur métier.
Gardons toutefois espoir que les choses changent. La bulle éclatera tôt ou tard, car la dette technique s’accumule. Bientôt, les apprentis sorciers se rendront à l’évidence : ce qu’ils ont produit avec Lovable était très bien pour un POC/démonstrateur mais n’aurait jamais dû aller en production. Ajoutez quelques mois supplémentaires durant lesquels ils négocieront avec leur ego, avant, enfin, de se rendre à l’évidence : le métier de développeur change, mais il n’est pas mort.