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

18 commentaires pour “Lettre ouverte à Xavier Niel et l’équipe pédagogique de 42.fr”

  1. Ce que Xavier Niel à compris, en tout cas, c’est que les SSII (ESN pardon) == Bac+6. C’est de votre ressort de professionnaliser ces élèves.
    Mais une lettre ouverte qui finit par une question et non par une action, c’est un peu comme un violon qui ne fait pas de musique quand on le frotte. Le donneur de leçon est le développeur que je chasse de mes équipes.

    Proposez de participer au cursus et évangélisez. Sinon, vous resterez ce que vous êtes. Une SSII priant pour ne pas avoir à former ses développeurs avant de les envoyer en régie.

  2. Si l’initiative pouvait paraitre louable au départ, je crains de plus en plus que les élèves de l’école 42 ne seront embauchables que chez Free, qui gagnera ainsi de la main d’oeuvre à bas prix…

    C’est regrettable, car, comme vous le dites si bien, un coup de pied dans la fourmilière qu’est l’enseignement informatique en France pourrait faire du bien.

  3. Depuis la première annonce je suis convaincu que cette école devrait en réalité concerner des enfants de 10-12 ans, c’est à dire en considérant l’acquisition de la pratique de la programmation comme suite logique de la maîtrise technique de l’écrit.

  4. certes, un apprentissage appliqué, mais j’ai justement l’impression de retourner 20 ans en arrière… des credits à valider, aborder la programmation par le C++, les langages de script en dernière année, la gestion de projet d’abord sous l’angle pert/gantt…

    Et toujours une pédagogie poussée plutôt que tirée !… Alors que même au collège, on montre qu’une autre voie est possible (https://vimeo.com/45850107)

    On est loin de « la quintessence et l’approfondissement de ces 20 années » ! Où alors au fond d’une cave…

    @Martin : m’est avis que la proposition ne sera pas tombée dans l’oreille d’un sourd…

  5. Neuf femmes ne font pas un enfant en un mois

  6. Je ne suis pas d’accord avec cet article. Le but d’une bonne école d’ingénieur n’est pas d’apprendre de la technique, mais d’apprendre a apprendre de la technique.

    Les fameuses méthodes agiles, et autre methodo utilisée par les géants du web que vous citez ne sont pas celles qui seront utilisées a leur sortie d’école car les standards/modes etc… auront changé.

    Je trouve ca plus que bienvenue de laisser une exploration dans les années avancées de certaines de ces pistes, mais personnellement je ne pense pas qu’elles doivent en constituer le coeur de formation.

    la programmation par le C et C++ est extrêmement pertinente car elle implique a l’étudiant de s’intéresser a des problématiques de gestion de mémoire qui de nos jours intéressent de moins en moins les développeurs qui travaillent plus ou moins en sensation de « ressources infinies ».

    Développeur est une carrière qui peut s’avérer extrêmement prestigieuse et qui peut se suffire à elle seule. Consultant ou chef de projet restant un métier fondamentalement différent, même si envisageable pour un développeur.

    (cf: certains des plus gros des salaires des géants du web sont détenus par des développeurs)

  7. Certes pour des professionnels expérimentés que nous sommes, la promesse peut paraître faible.

    Mais ne soyons pas trop sévère et félicitons nous de cette initiative dans cette période de marasme économique.

    Ne sommes nous pas les premiers à évangéliser l’agile, le lean et ce côté itératif, qui j’en suis sur ne manquera pas d’être corrigé au cours d’une nouvelle itération…c’est à dire à la rentrée prochaine.

  8. Si j’ai un peu compris l’initiative 42, je vois deux axes :
    - Donners une chance à des personnes sorties du système qui ont toutes les qualités requises pour réussir dans nos métiers.
    - Enseigner une culture, un état d’esprit, les réflexes qui vont faire des élèves qui sortent de l’école d’excellent développeurs.

    L’enjeu n’est pas d’apprendre des langages, des concepts ou des méthodologies. Le pari réalisé est de dire que si l’initiative 42 est fructueuse, les élèves apprendront et utiliseront d’eux-mêmes les approches agiles, development factory et autre outils de déploiements continus type Chef ou Puppets, et tout ce qui existera à leur sortie d’école mais que l’on ne connait pas encore.

  9. Une initiative telle que celle de 42.com est à saluer. Même si « Born to code » est très restrictif: je partage votre point de vue des outils qui accompagnent le code (tests unitaires, etc.) mais je pense que « Born to code », c’est la formation de base.

    Ma formation de base, cela a été de calculer le périmètre d’un carré (oui, oui: 4 fois le côté). En BASIC. Le test ultime: entrer 8 et vérifier que l’ordinateur affichait 32. Le premier programme, finalement, a été un test unitaire :-)

    Commençons donc par le début: si on veut former un programmeur, il doit d’abord apprendre la base: IF…THEN…GOTO…GOSUB (le reste, c’est du confort!). Une fois qu’on sait faire un test, une boucle et un appel de fonction, on peut faire un code qui fait des choses (merveilleuses). Ensuite viendra l’apprentissage des outils: JUnit, Apache Meter, lint…

    Si un gamin s’intéresse à « Born to Code », il aura peut-être sa voie tracée, tout comme la mienne l’a été un matin grâce à mon prof de maths. Et puis, trouver des développeurs de qualité à travers un site Web, c’est génial. C’est une chance. Donc ne boudons pas cette initiative.

    Je comprends votre créneau: c’est avant tout la qualité et c’est une valeur que je partage avec vous. Mais pour qu’un développeur puisse exprimer un test dans un langage de programmation, il faut qu’il connaisse le langage de programmation (prière de ne pas citer GreenPepper comme contre-exemple, merci!)…

    Donc, si je dois proposer une idée: faire un 2ème site WEB: « Reborn for quality ». Parce qu’une fois qu’on sait coder, la seconde naissance du programmeur, c’est quand il a appris le prix de la qualité. Et c’est à ce moment là que la programmation devient un art.

  10. L’article fait l’impasse sur un détail essentiel.

    Les étudiants de 42 sont, comme leurs confrères EPITA et EPITECH, notés par des automates, autrement dit, des robots, tout ce qu’il y a de plus bête et méchant.

    Pour chaque projet, le résultat est quasi-binaire : 0/20 ou 20/20.

    Si la tarball du projet n’est pas placée à temps dans le bon répertoire, c’est 0/20.

    Si le projet échoue à un test, c’est 0/20.

    Si le projet détecte une légère tentative de triche (signature de fonction, pourcentage de code commun, …), c’est -21/20.

    Si le projet détecte une tentative de triche lourde, c’est -42/20.

    Cette contrainte d’environnement OBLIGE les étudiants à produire un code original et à développer des outils de gestion de qualité, tels qu’un programme de respect des normes de coding, une série de tests automatisés de non-regression, …etc.

    La gestion de la qualité fait partie intégrante du cursus.

    Par contre, la remarque sur Scrum est tout à fait pertinente.

    Pourquoi placer Scrum en dernière année, alors qu’il serait bien plus efficace de l’enseigner en première année ?

  11. pour ma part je suis très enthousiaste par rapport au développement de la compagnie Free. C’est sur que ça doit en faire baver un paquet de voir un gars passer du minitel rose à 6eme fortune de france grace à l’inovation. on aime, on aime pas mais c’est comme la politique, certains parlent, d’autres agissent. bienvenue à cette nouvelle révolution du monde numérique Francais et souhaitons à Xavier Niel un retour sur investissement !

  12. Merci à tous pour vos commentaires. Il est important pour nous d’échanger sur ce qui nous semble être une lacune importante pour une école qui a comme motto *Born to code*.

    Pour apporter quelques précisions, nous ne remettons pas en cause l’intelligence de la démarche engagée par l’équipe de 42.fr, ni même la pertinence du programme.
    Cela étant, nous sommes convaincus que les problématiques de productivité et de qualité des développements sont au cœur de l’activité logicielle aujourd’hui.
    Elles devraient être inscrites dans les gênes d’un développeur « productif immédiatement ». Et nous n’avons pas retrouvé ces composantes dans le programme ou le site de l’école.

    M’est avis que l’école est le meilleur endroit pour insuffler les bonnes pratiques, plutôt que de devoir déconstruire les habitudes une fois en entreprise. La conséquence serait de former des générations de développeurs rompus à ces pratiques, capables de polliniser les organisations qui les embaucheront.

  13. Complément de réponse :

    Nous le disons dès l’entrée d’article : nous sommes très enthousiastes de la création de cette école, qui recherche l’excellence de ses étudiants.
    Nous le disons également : la technique est essentielle à nos yeux et 42 saurait parfaitement former des générations de développeurs, comme EPIT* l’ont fait en leur temps. « Sans technique, le talent n’est rien qu’une sale manie » chantait Brassens…

    Loin de nous l’idée de « troller pour troller » (même si parfois ça fait du bien :)) mais, de notre expérience de boîte de conseil, nous rencontrons trop souvent de développeurs très peu sensibilisés à l’importance de la qualité et de la pérennité du code. Prenez-le en ce sens : nous sommes justes frustrés de ne pas voir apparaître de manière plus officielle les sujets liés à l’artisanat du code, bien plus réalistes en 2013.

    @Martin > mais nous évangélisons déjà : nous serions même prêts à donner des cours à 42 sur ces sujets !

  14. Je suis assez d’accord avec ce qui s’est dit dans les commentaires…

    Tout dépend de la vision que l’on a pour 42.fr : soit il s’agit de la base de la base, soit on souhaite sensibiliser sur certains concepts, dès le départ.

    Personnellement pour avoir fait le chemin en deux étapes (premièrement, j’apprends à coder; deuxièmement, je me forme sur les pratiques de développeurs). J’ai l’impression que c’est un chemin tout à fait acceptable. Au vu des commentaires, il me semble que beaucoup sont dans ce cas. Pour ma part, c’est suite à un stage dans une toute petite structure qui programmait des petites applications web/flash/mobile qu’il m’est apparu évident que cela ne pouvait pas être la vraie vie d’un développeur.

    Un point essentiel c’est toutes les ressources que l’on trouve gratuitement sur internet. Je ne me souviens évidemment plus de ce que j’ai consulté à l’époque. Ce qui me revient là tout de suite c’est une conférence et des articles autour des pratiques industrielles autour de PHP (Tests unitaires, CI, frameworks)

    Combien sont prêts à faire ce pas supplémentaire d’autoformation ?
    Je ne le sais pas vraiment. À mon avis les lecteurs et ceux qui prennent le temps d’écrire quelque chose dans les commentaires de ce blog ne sont pas représentatifs.

    Je viens de lire l’article et surtout les commentaires autour d’un article de Nicolas Martignole.
    http://www.touilleur-express.fr/2013/03/20/la-majorite-silencieuse/
    Il en ressort que tous les développeurs ne sont pas passionnés par le fait de faire bouger les choses (changer les pratiques, réfléchir à son métier…). Que bien souvent c’est quelque chose qui est fait en plus (toutes les boîtes ne voient pas l’intérêt de laisser du temps aux développeurs pour compléter leur formation). Même dans ma boîte où il est possible d’avoir du temps et de l’argent pour des formations, nombreux sont ceux qui n’en font pas la demande (ou la démarche).

    Du coup, je me demande si OCTO n’a pas raison : et s’il était possible d’apprendre l’informatique autrement dès le départ.

    Bref, dans tous les cas j’en profite pour remercier OCTO. Vous faites partie des ressources que je consulte régulièrement. Je vous suis (blog), vous regarde (USI), vous lis (livre) très régulièrement… Merci de partager.

  15. Cette école n’a rien de ‘révolutionnaire’.
    Vous notez à juste titre que le programme est classique
    (cc ceux des epit*) voire poussierieux.
    J’ajouterai que l’accès à tous et gratuit est un leurre :
    Je ne vois pas comme un provincial ou ‘pire’ un étranger, avec de faibles ressources pourrait intégrer cette école parisienne. En comparaison, les universités et les écoles sont bcp plus accessibles avec notamment les systèmes de bourse (françaises ou étrangères). Et concernant les universités, les frais de scolarité restent raisonnables.
    Enfin, le développement des formations en apprentissage permettent aux étudiants d’avoir un revenu durant leurs études.

  16. Tout à fait d’accord! J’avancerais même que la formation est amplement insuffisante sur bon nombre d’aspects théoriques. En lisant bien le programme, on se rend compte que l’étudiant sortant sera incapable de travailler dans une entreprise de logiciels critiques où des connaissances en génération de tests et en vérification formelle seront nécessaires comme chez Airbus, EADS, Astrium… On ne demande pas des ingénieurs qui savent écrire mais aussi ceux qui savent tester, vérifier et valider.

    A cela, l’étudiant n’aura aucune notion mathématique ! Aucun cours de mathématiques que ce soit en analyse ou en algèbre n’est dispensé. Ce qui signifie que l’étudiant aura appri à programmer l’algorithme de chiffrement RSA mais sera totalement incapable de le comprendre… Et on veut que celui-ci révolutionne la cryptographie de demain?

  17. [...] Sur ce sujet des méthodes, Octo a publié une lettre ouverte à Xavier Niel au sujet de sa nouvelle université pour informaticien qui n’inclut pas de modules liés aux [...]

  18. Xavier Niel veut répondre un besoin évident de développeurs qui fabriquent du « quick and dirty ».

    Tout les projets n’ont pas le même point d’équilibre délais-qualité. La qualité n’est pas une fin en soit. La qualité doit aussi s’aligner sur le besoin. Si le besoin est de produire rapidement en priorité et bien il faut faire du « quick and dirty ».

    Comme tout, le « quick and dirty » a ses défauts, la pérennité et la maintenabilité, il faut juste que les décideurs en soient conscient.

Laissez un commentaire