Durant le mois de juillet 2019, j’ai participé à la piscine de l’école 42. Retour sur une expérience de codage intense, mais très enrichissante.

Des vacances à la piscine ?

L’école 42 est une école de programmation gratuite et la piscine, bien loin du soleil, du calme et de l’apaisement de la période estivale en est le concours d’entrée. Pendant 26 jours, week-ends compris, tous les candidats vont devoir travailler d’arrache-pied afin de faire partie des heureux sélectionnés.

Dans ce cas, pourquoi « piscine », terme qui provoque l’étonnement du non-initié après qu’on lui a déclaré sortir d’un mois de piscine ? La réponse est simple, la quantité de travail à abattre est telle que :

«On noie tout le monde et on ­regarde ceux qui arrivent à sortir la tête de l’eau» (1) 

Mais si la piscine va concentrer souvent tous nos efforts, ce n’est pourtant pas là que débute notre aventure. En effet, pour pouvoir s’inscrire à la piscine, il faut dans un premier temps être admissible à l’école 42. Et pour être admissible, il faut réussir les tests en ligne.

Le pédiluve

Les tests de logique en ligne ne nécessitent aucune connaissance particulière. Quelques heures suffisent pour les passer chez soi. Toutefois, il ne faut pas les prendre à la légère, sous peine de ne jamais pouvoir participer à la piscine. Nicolas Sadirac, l’un des co-fondateurs de l’école 42, expliquait en 2017 :

«Nous recevons entre 65000 et 70000 demandes chaque année. Vingt mille finissent les tests de logique en ligne qui constituent la première phase de recrutement. Parmi eux, les trois mille meilleurs peuvent participer aux trois sessions de la piscine.» (2)

Environ 1 000 étudiants seront sélectionnés à l’issue des différentes piscines.

Si les chiffres fournis sont fiables, le taux de réussite, compte tenu du nombre de demandes, est d’environ 1,4 %. Il est d’environ 4,5 % pour ceux qui finissent les tests de logique (une mesure qui semble être la plus pertinente), et d’environ 30 % sur ceux qui participent à l’une des sessions de la piscine. Ainsi, près d’un piscineux sur trois pourra rejoindre l’école.

À l’époque où je les ai passés (juillet 2018), il n’y avait que deux tests en ligne, ne prenant que quelques heures à compléter. Admissible pour la piscine, j’ai dû attendre près d’un an, les piscines de septembre et de février étant déjà complètes. Ne serait-ce que pour arriver à la piscine, il faut donc s’armer de patience et de détermination.

Le grand bain

Durant la piscine, les piscineux sont confrontés à trois types différents de projets. Les « days », au nombre de 16 cette année, les projets de groupe, au nombre de 4, et les exams, au nombre de 4 également.

À l’école 42, il n’y a ni cours ni enseignant. Armé seulement de son clavier, il va falloir se grouper, car à 42, l’union fait la force. Pour avancer dans la piscine, il faut valider des « days » qui sont des suites d’exercices. Pour se faire, il faut obtenir au moins 50 % de réussite sur l’ensemble des exercices, chaque exercice valant parfois plus ou moins en fonction de sa difficulté. Petite précision, et pas des moindres, la note arrête d’augmenter dès la première erreur. Ainsi, si vous avez bon à neuf exercices sur dix, mais faux au deuxième, votre score final sera de 10 %.

Après avoir été corrigé par deux autres piscineux venus jusqu’à vous pour corriger votre code, c’est l’heure du verdict de la moulinette. Ce programme testera votre code, testant toutes les exceptions les plus improbables capables de le casser. À n’en pas douter, elle en trouvera de nombreuses. Chaque erreur est synonyme d’une considérable perte de temps : il va falloir corriger deux personnes pour récupérer des points des corrections (donc, attendre que quelqu’un demande à être corrigé, les points de corrections devenant de plus en plus rares à mesure que la piscine avance) avant de pouvoir retenter de valider le day. Très vite, les informations s’échangent ; si la piscine est un concours, c’est avant tout un concours contre soi-même.

Mentalement usante, mais extrêmement formatrice, cette méthode encourage non seulement la rigueur, mais également la discussion entre pairs. En effet, la moulinette semble parfois arbitraire, et souvent, on ne comprend pas quelle exception elle a dénichée dans notre code. Cette opacité est volontaire ; la seule façon de comprendre ce qui ne marche pas, c’est souvent d’aller demander à ceux dont les exercices ont été validés par la moulinette.

Il n’est pas rare de voir des étudiants plein d’entrain déclarer le matin : « aujourd’hui je valide le jour X » avant de rester debout jusqu’à 3, 4, 5 heures du matin encaissant échec sur échec par la moulinette. En effet, l’école 42 est ouverte 7 jours sur 7 et 24 h sur 24. Les plus organisés garderont des horaires stables, d’autres décaleront leur rythme de sommeil en fonction des projets à rendre, tandis que d’autres encore, plus noctambules, viendront uniquement la nuit. À titre personnel, j’arrivais souvent vers 9 h et repartait au maximum vers 1 h du matin.

Exam 101

Chaque vendredi, de 18 h à 22 h (et de 10 h à 18 h le dernier jour), c’est examen. Pour pouvoir y participer, il ne faut pas oublier de s’inscrire avant qu’il ne débute. Sous pression, débordé par la quantité de travail à rendre, un nombre non négligeable d’étudiants oublieront de s’inscrire à au moins l’un des examens (l’inscription n’étant ouverte que peu avant le jour J) durant la piscine. Une fois arrivé dans la seule d’examen, il faut également réussir à lancer le programme d’examen sur l’ordinateur dans les dix premières minutes, sous peine de se faire sortir. Au premier examen, environ 30 % des candidats devront sortir avant même d’avoir pu commencer.

Pour les examens, le piscineux n’a ni note ni internet, et doit résoudre les exercices qui lui sont donnés. Il faut valider un exercice pour obtenir le sujet du suivant. Dès que le piscineux arrive à un exercice qu’il est incapable de résoudre, il se retrouve donc bloqué, ayant atteint ce qui deviendra sa note finale.

À la fin de chaque examen (à l’exception du dernier qui dure 8 heures et marque la fin de la piscine), le sujet du projet de groupe à rendre avant la fin du week-end tombe. Deux autres membres tirés aléatoirement compléteront votre groupe. Au sein de ce groupe, une personne est aléatoirement choisie afin d’en être le chef. En sortant du premier examen le vendredi à 22 h, j’ai donc reçu un appel de l’un de mes camarades. Usé par les 4 heures d’examens, je me rappelle avoir pensé « Ça ne s’arrête donc jamais ? », avant d’expliquer poliment à mon interlocuteur (devenu depuis un ami) que je rentrais chez moi et que je me pencherais sur le sujet le lendemain matin.

Projets de groupe

Contrairement aux autres travaux, les projets de groupe ne sont pas corrigés par les piscineux. Ce sont le staff ou des étudiants de l’école qui corrigent les groupes, et ils sont sans pitié. Le projet doit non seulement être entièrement fonctionnel et sans aucune erreur, mais il faut également que chacune des personnes du groupe puisse expliquer la totalité du code.

Certains correcteurs cherchent le « maillon faible », que ce soit lors des explications, ou parfois en regardant les « commits » git*, qui permettent de voir qui a modifié quelle partie du code et à quel moment. La note finale du groupe correspondra à celle du moins bon élément du groupe. Déroutant, voire parfois injuste (lorsqu’un élément du groupe décide de ne pas faire le projet commun pour rattraper son retard sur les days, ou si l’écart de niveau est trop important), ce système a toutefois une conséquence très positive : pour espérer réussir, le groupe doit s’assurer que chacun a bien compris les notions essentielles.

La plupart des week-end, la majeure partie des groupes terminent donc avec 0 malgré deux jours d’intense labeur. Le premier projet de groupe, d’une facilité déconcertante par rapport aux projets suivants, nécessitait de créer une forme carrée en ligne de commande avec quelques spécificités. Fiers de notre projet ainsi que de la propreté de notre code, nous étions plutôt confiants. Mais, une simple faute d’inattention — dont j’étais responsable, même si le reste du groupe ne l’avait pas identifiée durant les tests — nous a menés à notre perte. Les coins de notre carré étaient représentés par un « o » et non par un « 0’. En conséquence, nous avons échoué et sommes repartis avec la note minimale.

C’est pourquoi seuls vingt groupes de deux se sont inscrits au dernier projet, souvent les plus avancés de la piscine, parmi lesquels seuls dix groupes réussiront à dépasser les 50 % et donc à valider le projet.

Dès qu’un day, examen, ou projet de groupe est validé, l’étudiant voit sa progression augmenter en fonction de sa note ainsi que du coefficient correspondant au projet. À tout instant, il est possible de savoir le niveau et donc la progression de l’ensemble des étudiants de la piscine. Avant chaque correction, le piscineux sait donc précisément l’écart de niveau entre le correcteur et le corrigé, ainsi que les notes obtenues à chacun des projets.

Toutefois, ce niveau n’est que relatif et n’a qu’une valeur indicative, la sélection finale qui décidera des heureux élus étant faite par un algorithme secret, dont l’école garde jalousement les variables. Celui-ci prend également en compte la qualité des corrections effectuées ainsi que des commentaires (lorsque l’on est corrigé, on note également le sérieux, l’amabilité et la ponctualité du correcteur), le résultat du vote hebdomadaire secret pour lequel chaque étudiant doit indiquer ceux qui lui ont le plus apporté (appelé le Megatron), et de nombreux autres facteurs. Des légendes urbaines, plus ou moins crédibles, apparaissent donc quant à certains de ces facteurs. C’est ainsi que des étudiants changeront régulièrement de place durant la piscine, puisqu’il se dit que la mobilité, qui favorise de nouvelles rencontres, est conseillée ou autres théories, peut-être farfelues, peut-être véridiques.

Conclusion  

J’ai tenté, dans ce retour d’expérience, de présenter la piscine aux non-initiés. Toutefois, je n’ai pas encore parlé du plus important. À lire cet article, on pourrait croire que la piscine est une sorte d’enfer de la programmation sur terre. En réalité, c’est une expérience unique au sein de laquelle on apprend énormément, et où le sentiment d’être dans la même galère, couplé à l’intensité, rapproche les étudiants et permet de nombreuses nouvelles rencontres.

 

Si j’ai ici cherché à présenter la piscine, c’est parce que cela me semblait nécessaire avant de pouvoir répondre à des questions plus profondes telles que comment réussir la piscine, la question de la gratuité, ou encore à déterminer si l’école 42 est victime de son succès. C’est ce que je ferai dans un deuxième et dernier article, clôturant ainsi le compte-rendu de cette expérience. 

Janin Grandne
Janin Grandne
Songeur numérique
Essaye d'améliorer la prise de décision collective à travers le projet de la Commune Blockchain, et d'aider les individus à limiter leur empreinte carbone grâce à l'appli Greenback (Android). Auteur de la rubrique Philosophie & Blockchain pour le Journal du Coin ainsi que du manifeste de la Commune Blockchain.