Gloire aux Soft Skills !!!

On l'entend partout en ce moment : le métier de codeur serait en train de mourir. Pour les juniors, c'est encore plus rude. À quoi bon apprendre à coder quand une IA générative le fait à leur place, souvent mieux, et surtout beaucoup plus vite ?

Résultat, les soft skills ont le vent en poupe. Communication, collaboration, empathie… On les retrouve martelées dans chaque offre d'emploi et chaque conférence. On pourrait croire qu'elles ont soudainement pris de la valeur. En réalité, c'est surtout le code qui en a perdu, et on se raccroche à ce qui reste.

Gloire aux soft skills, donc ! Ou presque.

Le code devient jetable

L'IA générative a changé la donne assez brutalement : écrire du code n'est plus un acte rare, ni particulièrement précieux. Une IA en recrache à la chaîne, avec un niveau tout à fait honorable, sur des tâches qui exigeaient un vrai savoir-faire il y a encore deux ou trois ans.

Ajoutez à ça un marché du travail qui se tend (les développeurs le sentent bien sur le terrain), et les candidats cherchent logiquement à se différencier ailleurs. Puisque le code ne suffit plus à faire la différence, on se rabat sur ce que l'IA ne sait pas encore bien faire : les soft skills.

Plus qu'une montée en puissance des soft skills, c'est un repli stratégique face à la dévaluation du code brut.

Avant l'IA générative, le code vaut bien plus que les soft skills. Aujourd'hui, la valeur du code s'est effondrée, celle des soft skills n'a pas bougé.
Les soft skills n'ont pas pris de valeur : c'est le code qui en a perdu.

Ce que ce glissement libère

Vu comme ça, l'histoire est un peu triste : celle d'un métier qui perd son cœur technique. Je crois au contraire que c'est une bonne nouvelle !

Réduire un développeur à la production de code a toujours été une vision étriquée du métier. L'IA générative nous donne l'occasion de sortir de ce rôle d'exécutant pour devenir un vrai contributeur à l'avancée du produit. Un meilleur architecte, un meilleur communicant, quelqu'un qui pense système plutôt que syntaxe.

Rien de bien neuf d'ailleurs, le MIT l'enseignait déjà en 1985 :

We believe that the essential material to be addressed by a subject at this level is not the syntax of particular programming-language constructs, nor clever algorithms for computing particular functions efficiently, nor even the mathematical analysis of algorithms and the foundations of computing, but rather the techniques used to control the intellectual complexity of large software systems. — H. Abelson & G. J. Sussman, préface de Structure and Interpretation of Computer Programs

Il y a même une dimension managériale qui émerge, et qui me semble sous-estimée. Orchestrer plusieurs agents IA pour atteindre un résultat, identifier les points forts de chacun, cadrer leur travail, vérifier le rendu… Ça ressemble à s'y méprendre au quotidien d'un manager d'équipe. (La machine à café et les entretiens annuels en moins.)

On ne code plus seul dans son coin : on délègue, on arbitre, on supervise.

Le développeur au centre, relié à quatre agents IA qu'il cadre, à qui il délègue, entre lesquels il arbitre et dont il vérifie le rendu.
Orchestrer des agents, c'est déjà un peu manager une équipe.

La fin d'une aberration du recrutement

Autre effet de bord, plus concret celui-ci : on pourrait enfin en finir avec une absurdité qui traîne dans notre métier depuis toujours. Les intitulés de poste hyper-spécifiques ! « Développeur langage X, framework Y, version Z », qui enferment les profils dans une case technique précise… et périssable.

Si la valeur d'un développeur se déplace vers l'architecture, la communication et l'orchestration, ces intitulés n'ont plus grand sens. On devrait voir émerger des profils bien plus transverses, capables de passer d'une stack à l'autre sans en faire un drame. Parce que ce qui compte, ce n'est plus la maîtrise pointue d'une syntaxe, mais un savoir-faire de fond, transposable.

Hier, un développeur enfermé dans des cases emboîtées : langage X, framework Y, version Z. Demain, un profil en T capable de passer d'une stack à l'autre.
De la case technique au profil transverse.

Et la relève, dans tout ça ?

Reste une question qui me tient particulièrement à cœur : qu'est-ce que tout ça signifie pour la formation des jeunes développeurs ?

Si le code perd sa place centrale, former quelqu'un uniquement à coder devient une impasse. Montaigne, lui, avait déjà tranché :

Je voudrois aussi qu'on fut soigneux de luy choisir un conducteur qui eust plustost la teste bien faicte que bien pleine, et qu'on y requit tous les deux, mais plus les meurs et l'entendement que la science. — Montaigne, Essais, I, 26

À gauche, une tête encombrée de fragments de syntaxe en vrac. À droite, une tête qui contient un arbre de concepts reliés entre eux.
Une tête bien pleine… ou bien faite.

Il faudra sans doute repenser en profondeur ce qu'on transmet, et dans quel ordre. Des têtes bien faites, plutôt que bien pleines de syntaxe !