Lettre ouverte à Xavier Niel et l'équipe pédagogique de 42.fr
Le 26 mars dernier, vous lanciez l’école 42 en grande pompe et chez OCTO, nous avons accueilli cette nouvelle avec un enthousiasme sincère. Enthousiasme sur le fond : votre ambition de former les développeurs de demain, productifs immédiatement, inscrits dans une démarche collective de travail en équipe. Enthousiasme sur la forme : une école gratuite, ouverte à tous sans qualification requise, une émulation saine, reprenant notamment le concept de la "piscine" cher aux écoles EPIT*, révélateur de vocations.
Merci à vous de casser les codes et d’introduire une rupture dans l’éducation traditionnelle des futurs professionnels de l’informatique.
Depuis deux semaines, le format et le contenu pédagogique ont été révélés, nous laissant cette fois dans l’expectative. Toujours rien à redire sur la forme : c’est clair, c’est complet. Pourtant, sur le fond, nous sommes frustrés.
Frustrés de lire un programme pour développeurs exécutants, machines à ligne de code, cantonnés à la technicité. Frustrés de ne pas lire une ligne sur la productivité des développements : usine logicielle, criticité des tests, qualité du code... Frustrés de constater que les méthodes agiles ne sont qu’un détail de dernière année.
Frustrés car l’occasion était belle de mettre un coup de projecteur sur les nouveaux contours d’un métier bien mieux compris hors de nos frontières géographiques. Au lieu de la saisir, vous vous êtes contentés de reprendre les recettes traditionnelles, sans y incorporer les ingrédients des réalisations modernes.
Chez OCTO, nous pensons qu’être développeur est une carrière aussi prestigieuse que chef de projet ou consultant. Un bon développeur ne s’évalue pas au nombre de lignes de code qu’il écrit par jour, ou au nombre de langages qu’il maîtrise, ni même au nombre de projets auquel il a participé.
Développer professionnellement est une activité créative dans un environnement contraint, mathématique, logique, binaire, qui ne laisse pas la place à l’à-peu-près. Malheureusement, alors qu’on retrouve en bonne place sur votre site la notion de productivité, il n’est jamais fait mention de qualité [1]. Pour une institution qui souhaite s’inscrire dans le futur, il est triste de ne pas voir apparaitre cette composante fondamentale de la pérennité des produits logiciels.
Cela vous conduit à la fameuse “productivité immédiate”, objectif guidant vos principes pédagogiques. En l’absence d’enseignement des pratiques de développement logiciel durable, cette productivité ne peut être qu’accidentelle, alors que le développeur d’aujourd’hui se doit d’être efficient.
Sans ces pratiques, vos étudiants seront des développeurs indisciplinés, immédiatement productifs certes, mais pour des organisations archaïques dont les réalisations sont le résultat d'un effort considérable gaspillé en non-qualité [2].
Un développeur aujourd'hui n'est pas une machine à lignes de code. Le développeur d'aujourd'hui est un créatif professionnel et responsable qui inscrit sa production dans le temps (il en garantit son évolutivité, au delà de sa maintenabilité) et l'espace (il la réalise en collaboration étroite avec ses pairs et les utilisateurs, marketing, métier).
Pour ce faire, savoir façonner la matière première (C, Java, Haskell…) ne suffît pas. Maîtriser les outils et les pratiques (tests automatisés, design émergent, devops…) qui contribuent à une réelle productivité, individuelle et collective, au quotidien et à long terme, est un fondamental, une condition sine qua non à l'employabilité et l’excellence de vos étudiants. C’est l’école de l’artisanat, le Software Craftsmanship, qui doit primer dans vos principes pédagogiques, pas la mécanique robotisée de l’écriture au kilomètre.
Pour faire simple, nous n’entrevoyons pas un avenir radieux pour des tueurs à gage qui ne portent pas de gants.
Par cette lettre, nous cherchons à être rassurés : vous avez l’opportunité rare de repartir d’une feuille blanche, comme celle saisie par les Géants du Web outre-atlantique. Irez-vous jusqu’au bout de la démarche, pour former de jeunes informaticiens réellement productifs, efficaces et fiers de leur métier ?
_____ [1] Faisons abstraction du cours d’Assurance Qualité, qui n’a pas grand chose à voir avec les gènes du développeur de demain. [2] Cost of bug fixing vs. Zero-defect mindset…