👶 FERMETURE : L'Atelier est fermé jusqu'au 29 août en raison d'un congé paternité. 👶

A quoi servent les juniors ?

✒️ Enzo Sandré · 📆 25/10/2021 · ⌨️ Développement · ✊ Corporatisme · 🏺 Artisanat

Notre profession gâche le potentiel de ses juniors. Vendus comme des ressources clé en main en sortie d’école, ils sont une main d’œuvre peu onéreuse et très malléable pour les employeurs, ESN en tête. A travers le mythe tenace du mois/homme, on exige d’eux la même productivité qu’un senior sur les mêmes tâches. Ce n’est ni rendre service aux juniors, ni rendre service à l’entreprise. A quoi servent donc les juniors ? Ce papier aux airs de plaidoirie en faveur de mes (anciens) étudiants tente d’y répondre.

Cet article est la suite de mon propos stratégique paru en juin 2020. Il peut cependant être lu indépendamment.

Est un junior tout professionnel qui, par manque d’expérience donc d’assurance, est incapable d’identifier ou de refuser les situations où les règles de l’art sont violées.

C’est une définition très large, incluant autant les développeurs inexpérimentés que les Expert Beginners, trouvant normales des situations invraisemblables parce qu’ils ont toujours travaillé ainsi. Elle est librement inspirée de la situation des apprentis en France sous l’Ancien Régime. Le jeune apprenti ne passait compagnon que lorsqu’il démontrait sa capacité à ne pas être un danger pour lui ou pour la profession. Il était cantonné aux menus travaux et aux projets d’entraînement tant que le maître ne le jugeait pas digne.

La situation est exactement la même avec les développeurs junior : ils n’ont pas l’expérience nécessaire pour être conscients du danger de mal faire. Là où leur situation est plus enviable que leurs collègues travaillant dans le monde des objets physiques, c’est la facilité d’édition, donc de rectification qu’offre le code. L’apprenti développeur peut donc être attelé à des tâches de production et cela ne pose aucun problème, tant que l’on se rappelle qu’il n’est qu’un junior jusqu’à preuve du contraire.

Une profession d’enfants

Hélas, de nombreuses entreprises, le plus souvent par ignorance, traitent les junior comme s’ils n’en étaient pas. Le junior est souvent un bon programmeur, mais un développeur en devenir. A court-terme, ses résultats font illusion. Ce n’est qu’à moyen terme, sur des paramètres de qualité comme la maintenabilité, la reprenabilité et la complexité accidentelle du code, que le junior fera défaut.

Dans toute autre industrie, le manager bien informé aurait remarqué le problème de qualité et remonté à sa source, fut-elle le travail tombé dans l’oubli d’un travailleur trop vert à l’époque. Pas dans le développement, car l’attente d’un manager envers les développeurs n’est pas la qualité, devenue un Dahu, plus souvent mentionné que rencontré, mais simplement de garder la tête hors de l’eau une itération de plus. Le développeur a remplacé le garagiste dans l’imagerie populaire.

Pire, les développeurs sont souvent aussi résignés que leurs responsables. La plupart n’ont jamais vu un projet qualitatif, n’ont même jamais entendu parler d’un développeur heureux au travail. Trop se sont résignés au tripalium, à la médiocrité subie, en attendant de « passer chef de projet » ou de fuir la profession.

Notre profession a 70 ans, dont 30 d’explosion. Cela ne se retrouve pas dans sa démographie.
Notre profession a 70 ans, dont 30 d’explosion. Cela ne se retrouve pas dans sa démographie.

Nous sommes une profession d’enfants, dont l’irresponsabilité n’est pas une accusation mais une circonstance atténuante. S’il devait y avoir un banc des accusés, les junior seraient bien les seuls à ne pas y figurer, nous sommes collectivement coupables de ce gâchis.

Nous sommes coincés dans un cercle vicieux d’incompétence et d’irresponsabilité systémique, qu’aucun facteur seul ne résoudra. Et les seuls capables d’agir sont les développeurs conscients du problème.

De la charité envers les junior

Je ne me considère pas comme un maître. Je ne pense pas avoir atteint le niveau pour prétendre au titre. Cependant, je ne me considère plus comme un junior depuis plusieurs années. J’en suis sorti presque au hasard. Quelqu’un m’a montré la voie et je me suis débrouillé. Tout le monde n’a pas eu cette chance et les pertes sont immenses. Un vol de passereaux sur un tarmac d’aéroport.

Créer une culture de la qualité logicielle sera long. J’ai promis une suite à mon article de 2020 à ce sujet, la voici. Les maîtres doivent sortir de leurs tours d’ivoire. Travailler dans un atelier logiciel, entouré d’autres maîtres est une retraite nécessaire, car je ne sais que trop bien à quel point la prise en charge de débutants est un travail éreintant. Cependant trop de maîtres sont totalement coupés des juniors. Il n’y a pas de pont, même pas cette étincelle qui suffirait à quelques-uns pour démarrer un cheminement personnel hasardeux vers la qualité.

Tar Valon, dans The Wheel of Time de Robert Jordan. Une allégorie intéressante de la tour d’ivoire.
Tar Valon, dans The Wheel of Time de Robert Jordan. Une allégorie intéressante de la tour d’ivoire.

A quoi servent les juniors ? A rendre ce que nous avons reçu, bien évidemment. Nous avons souvent emprunté la voie de la qualité au hasard d’une rencontre. C’est largement inefficace mais c’est ainsi. Ce n’est pas demain que nous créerons les conditions d’une massification de la qualité (et ce sera le sujet d’un article ultérieur, dans quelques mois années). Le pragmatisme nous ordonne de continuer à transmettre ainsi faute de mieux. A cette fin j’identifie trois leviers, qui constituent la stratégie d’entrisme décrite dans l’article précédemment cité.

Ce n’est pas parce qu’un objectif requiert la mise en branle d’un édifice stratégique à long terme qu’il est impossible d’agir sur le court-terme. Les juniors sont un formidable levier. Il faudra environ 5 ans pour qu’un junior formé et motivé transmette à son tour. C’est court, donc contagieux, la crise du Covid montre le potentiel de tels phénomènes.

Cet article possède une suite, traitant des maîtres.

Enzo Sandré