39 points par spilist2 2025-03-25 | 11 commentaires | Partager sur WhatsApp
  • Avec l’essor du Vibe coding, le débat « maintenant, on n’a plus besoin de développeurs » vs « on en est encore loin » s’est lui aussi intensifié
  • Les deux points de vue ont une part de vérité. En observant les progrès de l’IA et en travaillant comme product engineer, j’ai voulu mettre au clair mes réflexions
  • Je précise toutefois que je ne suis pas un expert de l’IA, juste un développeur. J’ai aussi peu d’expérience en Vibe coding. Mais j’ai écrit ce texte parce que je voulais entendre l’avis d’autres personnes, et aussi parce que j’espère qu’il sera utile aux développeurs juniors qui s’inquiètent

Le Vibe testé en vrai : jusque-là, ou seulement jusque-là ?

J’ai essayé de créer pendant le week-end un jeu de billes avec du Vibe coding. Je l’ai fait pour jouer avec ma fille de 7 ans. 90 % du code a été produit uniquement à partir de prompts, et le temps d’implémentation a chuté de façon spectaculaire (quelque chose de correct a été terminé en 4 heures)

Pendant ce processus, j’ai alterné entre la déception de me dire « même un truc aussi simple, tu n’y arrives pas ? » et l’étonnement de me dire « avec un niveau d’exigence aussi basique, tu arrives à produire quelque chose d’aussi bon ? ». Le premier ressenti venait surtout du fait qu’il n’était pas facile de faire en sorte que l’IA « suive vraiment mes instructions »

Mais quoi qu’il en soit, si on affine les prompts et que la technologie progresse encore, la part de « surprise positive » va devenir bien plus importante, et je pense que cela entraînera clairement une forte baisse du recrutement de développeurs juniors

Je vais expliquer ce ressenti à travers la loi de Pareto et la notion de maturité produit

Version pessimiste : 96 % du code pourrait être écrit par l’IA

Si l’on divise la maturité produit en 3 étapes (zero-to-one, one-to-ten, et au-delà), j’ai été frappé de constater que la majeure partie du code au niveau zero-to-one est désormais remplaçable par l’IA

En appliquant la loi de Pareto, je me suis demandé si 80 % du code produit par les développeurs pour construire un produit n’était pas justement destiné à cette phase zero-to-one.

  • Le code qui apparaît au cours de l’implémentation d’une idée et de la recherche du PMF. Et aussi le code que même des non-développeurs peuvent facilement produire avec le Vibe coding.

En allant plus loin, si l’on suppose qu’on peut bien définir et découper les 80 % nécessaires dans la phase one-to-ten pour les ramener à un niveau zero-to-one…

  • De façon extrême, on peut se dire qu’environ 96 % de la production de code (= 0.8 + 0.2 * 0.8) pourrait être remplacée par l’IA
  • Dans la vidéo de Y Combinator qui présentait le Vibe coding, certains fondateurs auraient même dit que « 95 % du code de leur produit avait été écrit par l’IA », ce qui donne à ce chiffre un air troublant de cohérence

Cela va probablement relever le niveau d’attente à la fois vis-à-vis des compétences des développeurs et de ce qu’on attend d’un produit au niveau MVP.

  • Un peu comme après Bootstrap et TailwindCSS, quand « savoir produire une UI correctement stylée » est devenu un prérequis de base pour les développeurs frontend

Dans ce cas, il semble logique que les postes ouverts pour des développeurs dont la valeur reposait auparavant uniquement sur leur capacité à construire un produit zero-to-one diminuent. Donc le discours « on n’a plus besoin de développeurs » n’est peut-être plus une exagération…

…mais est-ce vraiment le cas ?

Version optimiste : il reste malgré tout énormément de travail pour les développeurs

1) La taille du marché augmente énormément, donc le travail aussi

L’intérêt principal du Vibe coding, c’est d’abaisser la barrière d’entrée du développement produit

  • La majorité des tâches que les développeurs devaient auparavant faire à la main pour le zero-to-one sont remplacées par des agents de code à un coût extrêmement faible (temps/argent/personnes).
  • Autrement dit, il devient possible de faire tourner rapidement le cycle exécution-validation d’une idée, même sans développeur

Par conséquent, on verra apparaître de façon explosive une multitude de produits zero-to-one (ou même en dessous) qui n’auraient jamais vu le jour auparavant, et beaucoup plus de personnes se diront aussi « moi aussi, j’aimerais concrétiser mon idée ».

Tout cela aura pour effet d’augmenter la taille du marché sur lequel « les développeurs peuvent gagner de l’argent ». Des personnes qui n’étaient pas des clients des développeurs deviendront une nouvelle clientèle. Par exemple :

  • des formations au Vibe coding pour aider des non-développeurs, des PM ou des designers à concrétiser leurs idées
  • des missions courtes pour aider à terminer des produits réalisés à 90 % avec Cursor mais qui n’arrivent pas jusqu’à la finalisation
  • du conseil pour permettre à des produits bricolés tant bien que mal d’être réellement opérés et de générer des revenus durables
  • le développement de divers outils payants pour aider à mieux et plus facilement faire du Vibe coding

Qu’il s’agisse de revenus complémentaires gagnés en dehors de l’entreprise ou de nouvelles sociétés bâties sur ce type d’activité, je pense que ce sont les développeurs qui profiteront le plus de cette évolution du marché

2) Les développeurs peuvent et doivent faire beaucoup plus que coder

Même si l’IA remplace 90 % du « coding », on ne peut pas pour autant licencier 90 % des développeurs

  • parce que le poids du coding dans le développement produit, et plus largement dans le product engineering, n’est pas aussi important qu’on le croit

Rien qu’en regardant les grandes étapes nécessaires pour ajouter une seule fonctionnalité à un produit, on voit qu’il y en a énormément.

  1. identifier le problème
  2. trouver une idée de solution
  3. estimer les effets attendus et les coûts, puis décider des priorités de développement
  4. concevoir la fonctionnalité pour l’intégrer au produit
  5. design UI/UX
  6. conception de l’architecture
  7. implémentation backend + frontend + infrastructure
  8. code review, tests automatisés, QA
  9. déploiement, monitoring, promotion de la fonctionnalité, A/B testing
  10. collecte de feedback utilisateur, exploitation, amélioration

Le Vibe coding ne remplace ici qu’une partie de 7 et 8.

  • Un excellent product engineer doit intervenir à un certain niveau dans toutes ces étapes
  • Puisque l’IA prend en charge le coding, la valeur des personnes capables de bien faire le reste augmente au contraire

3) Même en ne regardant que le coding, il reste encore beaucoup à faire de manière significative

Même sans aller jusqu’au product engineering, il reste beaucoup de travail

  • il y a encore beaucoup à faire pour finaliser les derniers pourcents du coding en one-to-ten
  • si un développeur aide à concevoir les specs, la structure et le découpage des tâches, le coût du Vibe coding pourra aussi diminuer

Et pour les produits au-delà du one-to-ten, le Vibe coding a de nombreuses limites

  • la codebase grossit -> fenêtre de contexte limitée
  • pour maintenir un haut niveau de sécurité et améliorer les performances, l’intervention directe d’un expert reste nécessaire
  • même chose lorsqu’on code avec des bibliothèques ou des langages sur lesquels l’IA s’est peu entraînée
  • https://fr.news.hada.io/topic?id=19923 parle aussi de problèmes similaires

Alors, que doivent faire les développeurs juniors maintenant ?

Que le monde aille vers la version pessimiste ou la version optimiste, une chose est sûre : tout change extrêmement vite. Surtout dans une situation où les portes du recrutement se resserrent brutalement, comment les juniors devraient-ils apprendre et progresser ?

Après avoir lu l’article <Qu’est-ce qui fait un développeur exceptionnel ?>, j’ai défini ainsi les 5 compétences clés d’un développeur exceptionnel

  • écrire un excellent code
  • s’exercer à prendre des décisions fondées sur des éléments tangibles
  • aider ses collègues à prendre des décisions efficaces
  • maximiser la valeur actuelle du travail
  • apprendre efficacement et de manière continue

Ces éléments restent importants même à l’ère de l’IA. On peut aussi les relier à la version optimiste

1) Exploiter activement l’expansion du marché

À ma place, j’essaierais ce genre de choses

  • étudier le prompt engineering
  • tester un par un les nouvelles applications IA qui apparaissent
  • étudier et expérimenter comment découper le travail pour que les agents de code comprennent bien mes demandes
  • implémenter et déployer avec du Vibe coding une application qui résout un petit problème personnel
  • si une connaissance non développeuse veut faire du Vibe coding, lui donner des cours particuliers (contre rémunération)
  • aider aussi cette personne à finaliser, déployer et opérer son produit (là aussi contre rémunération)

2) Développer ses capacités comme product engineer

À ma place, j’essaierais ce genre de choses

  • s’intéresser à l’ensemble du produit : identification des problèmes, idées, conception, architecture, tests, exploitation, etc.
  • fabriquer et opérer soi-même une application comme un fondateur solo ferait naturellement progresser les compétences en product engineering
  • essayer d’améliorer le produit via le travail d’équipe afin de renforcer à la fois les compétences de collaboration et de product engineering

Quand je recrutais des développeurs et rédigeais leurs offres d’embauche, j’y mettais toujours un message du type : « j’attends de vous que vous travailliez comme un mini CTO »

  • au moins sur le projet dont vous avez la charge, vous êtes le responsable final des décisions techniques
  • intervenez dans toutes les étapes nécessaires pour faire réussir ce projet
  • aidez vos collègues, sur les plans techniques comme non techniques, à prendre des décisions efficaces et à agir efficacement

3) Comprendre profondément chaque technologie et développer son sens du code

Les développeurs qui comprennent profondément les technologies individuelles resteront demandés dans la durée. Car pour dépasser le PMF et aller vers des entreprises licornes ou decacornes, il faut impérativement Make it Right & Fast.

Il n’y a pas de voie royale ici. Il faut investir du temps et faire des efforts (en s’aidant de l’IA).

  • exploration des frameworks/bibliothèques en interne, compréhension du contexte historique, contribution open source, création directe de bibliothèques, suivi/correction de bugs, standards du web/amélioration des performances, etc.

En parallèle, il deviendra encore plus important d’établir ses propres critères de ce qu’est un bon code et de développer un « sens du code » permettant de le reconnaître. Car il faut savoir détecter les mauvaises vibes produites par l’IA, s’arrêter et intervenir.

Pour développer ce sens du code, une pratique délibérée est nécessaire. Là encore, cela demande du temps et des efforts

  • voir beaucoup de bon code, demander beaucoup de feedback sur son propre code, que ce soit à une IA ou à un développeur senior, examiner le code écrit par une IA ou par des collègues en se demandant « quels problèmes risquent d’apparaître si on continue comme ça ? », puis comparer avec la réalité

11 commentaires

 
ethanhur 2025-03-27

Quoi qu’il en soit, le travail concret de l’ingénierie logicielle va beaucoup évoluer. Les machines à coder perdront en compétitivité, mais je parie que les ingénieurs capables de créer de vrais produits de bout en bout survivront.

 
bichi 2025-03-26

Le temps passé à taper au clavier a diminué, mais il a fallu y ajouter la recherche du code piégé généré par l’IA.

 
j2sus91 2025-03-25

Merci beaucoup pour cet excellent article, vraiment très pertinent !

 
spilist2 2025-03-25

J’ai fait une faute de frappe. T_T

En particulier, c’était surtout parce qu’il n’était pas facile de faire en sorte que l’IA « suive ce que je dis » -> c’était le premier

 
origolucis 2025-03-25

Il est certes utile de bien comprendre en profondeur le product engineering nécessaire aux startups, mais je pense qu’il reste tout aussi pertinent de choisir une voie où l’on pousse la technique à son extrême et où l’on perfectionne sans cesse ses compétences. Le développement consistant à créer de simples applications web sera remplacé par l’IA, mais il faudra toujours que quelqu’un conçoive Kubernetes et imagine l’architecture d’ElasticSearch.

 
doolayer 2025-03-25

Comme le nombre de concepteurs de composants aussi essentiels est limité, je pense qu’au final, il est effectivement vrai que la demande pour le métier de « développeur » va diminuer.

 
spilist2 2025-03-25

À force de répondre aux commentaires, j’ai l’impression que le message que je voulais faire passer dans mon texte se clarifie.

Je pense que, pour chaque entreprise prise individuellement, la demande en développeurs va diminuer d’une manière ou d’une autre, mais que le nombre d’entreprises — ou d’acteurs comparables, qu’il s’agisse de structures ou de particuliers — ayant besoin de « travail de développement » va augmenter bien davantage ; il y aura donc toujours beaucoup de travail pour les développeurs.

Bien sûr, l’IA pourrait aussi remplacer cela, mais à ce stade, n’y aurait-il pas alors quasiment aucun métier qui n’y échappe ?

 
kakasoo 2025-03-25

Vous avez tout à fait raison !

 
nowdoit7 2025-03-25

Je suis d’accord. À l’avenir, on va sans doute se répartir entre ce que fera le codage par IA et ce que les humains devront assurer en matière de conception et de revue, et j’ai l’impression que nous coexisterons jusqu’à l’arrivée d’une IA capable de comprendre l’ensemble d’un projet.

 
spilist2 2025-03-25

Je suis d’accord ! Bien sûr, l’IA aidera aussi dans ce cas, mais je pense que ce sera difficile juste au feeling.

 
spilist2 2025-03-25

À titre indicatif, voici le jeu créé avec le vibe coding : https://www.stdy.blog/vibe-go-stone/