Un escargot à Manhattan

Clément Beauseigneur, Meilleur Dev de France 2016

Ce lundi 14 mars s’est tenue la 4e édition du concours du Meilleur Dev de France, au Théâtre de Paris. Celle-ci a regroupé 600 développeurs. 10 000 € étaient à la clé, et les 25 premiers repartaient avec un voyage à Amsterdam offert par le parrain, Jean-Baptiste Descroix-Vernier.

Le concours est organisé conjointement par Ametix et la société Isograd, qui fournit la plateforme, sur laquelle j’ai rédigé les sujets algorithmiques1.

Pendant que les développeurs développaient, des stands présentaient leurs produits, BFM TV interviewait Henri Seydoux, Samantha Jerusalmy de Girls in Tech Paris ou bien Stéphane Boukris, l’organisateur du concours. Beaucoup de personnalités étaient présentes, telles qu’Axelle Lemaire, Guy Mamou-Mani ou même… Jean-Claude Van Damme ??!!

Mais revenons sur le déroulement de ce concours, du point de vue des coulisses du théâtre :)

Déroulement du concours

Deux sessions : 45 minutes

Les sessions comportaient 3 problèmes algorithmiques de difficulté croissante.

Les 20 meilleurs ont été sélectionnés à l’issue de chaque session. À noter que dans la 2e session, seule une personne a résolu le 3e exercice. Son commentaire : « Trop facile » Merci mec. Ça fait plaisir de lire ça depuis le back-office. Pendant ce temps, Clément Beauseigneur s’est qualifié in extremis, c’est le dernier des 20 développeurs appelés à rejoindre la finale :

J’ai mis 15 minutes pour me connecter, du coup j’ai eu 5 minutes pour faire les deux premiers exercices, puis je n’ai pas effectué le troisième.

Finale : 40 minutes

40 minutes pour résoudre deux problèmes difficiles, c’est pas facile… Le premier était difficile à développer, mais facile à reconnaître pour quelqu’un d’expérimenté. Or, les développeurs avaient accès à Internet, et pouvaient utiliser et adapter du code.

En tout cas, au bout de seulement 5 minutes, un développeur a déjà résolu le premier exercice. Zut, il ne reste donc plus que deux issues. Soit personne ne résoudra le 2e exercice, et on tient notre gagnant, soit quelqu’un le résoudra et sera sacré Meilleur Dev de France 2016.

L’ultime problème algorithmique

Le tout dernier problème était très difficile, voire impossible à résoudre étant donné le faible temps imparti. Ce problème, le voici :

On vous donne un réseau de 100000 ordinateurs tous reliés entre eux sans cycle et on vous demande de choisir à quel ordinateur donner Internet de façon qu’en cas de coupure d’un câble, un minimum d’ordinateurs perdent leur connexion Internet. Combien d’ordinateurs seront privés d’Internet au pire ?

Par exemple, ici donner Internet à l’ordinateur 3 garantit qu’au pire, c’est-à-dire en cas de coupure du câble entre 2 et 3, seulement 3 ordinateurs seront privés d’Internet.

Vous voyez ? Même si vous ne vous y connaissez pas en algorithmique, vous avez compris ce qui est demandé. La plupart de ces problèmes s’énoncent clairement, mais les algorithmes permettant de les résoudre sont parfois difficiles à voir, et demandent beaucoup de rigueur pour être implémentés sans bug.

Ça fait partie du bagage d’un développeur, qui se demande sans cesse comment accomplir une certaine tâche efficacement, comme mettre en relation un chauffeur et un client par exemple.

Dénouement

Au bout d’un moment, Marc dit : « Ça y est. Clément Beauseigneur l’a résolu. » Je crie de joie. Je préférais tellement cette issue au fait que quelqu’un remporte le concours en ayant codé en 5 minutes un exercice facile à reconnaître.

On nous laisse nous exprimer, j’en profite pour faire éhontément de la pub pour ce livre de Christoph Dürr et moi sorti tout récemment, qui recense 128 problèmes algorithmiques résolus :

Après un discours de Jean-Baptiste Descroix-Vernier en trois messages sur :

  1. je vous admire, vous développeurs ;
  2. derrière un système d’information, il y a un développeur, derrière un système de paiement, il y a un développeur, derrière une élection, il y a un développeur ;
  3. à présent que vous avez les moyens d’accomplir des choses immenses, choisissez bien ce que vous voulez en faire.

Puis, on a annoncé le gagnant : Clément Beauseigneur ! Il a 21 ans, est en deuxième année à l’ENS Cachan, donc n’est pas encore employé. Jean-Baptiste Descroix-Vernier le plaisante :

Ah non mais en cet instant précis, tu viens d’avoir un boulot !

Comme Twitter l’a remarqué, Clément n’en est pas à sa première victoire. Il aime la compétition, fait partie des organisateurs du concours Prologin et aimerait dénicher un stage de robotique via les contacts de son professeur, Jean-Paul Laumond.

En tout cas, laissons-le se délecter de cette gloire bien méritée ! Et si vous souhaitez en savoir plus sur cette passionnante discipline qu’est la résolution de problèmes algorithmiques, essayez tryalgo.org !

  1. Je donne un exemple plus bas, continuez de lire !