Meilleur Dev De France : D2SI en bonne place dans la catégorie Python
Tombé dans le code quand il était petit, Pierre est un habitué des compétitions, et s’il a terminé 3ème dans la catégorie Python au Meilleur dev de France (et 6ème au classement général), ce n’est certainement pas par hasard. Après tout, Pierre s’était déjà illustré en remportant la finale de Legends of Code 2014. Aujourd’hui nous vous proposons de découvrir le portrait de ce développeur de compétition.
Diplômé de l’INSA Lyon en Informatique et de l’Université de Lyon 1 en Intelligence Artificielle, Pierre a rejoint D2SI en 2015 suite à sa participation au hackhaton Legends of Code. Auparavant, Pierre avait déjà participé à de nombreux concours de développement : ProLogin, Cod’INSA et d’autres hackathons dans la région de Lyon.
C’est avant tout le challenge et la rapidité d’exécution qui me pousse à participer encore et encore à ces événements. Mais j’apprécie également l’ambiance de ces concours, leur communauté très riche qui permet de rencontrer des personnes réellement investies dans leur domaine, et d’échanger sur des sujets très variés.
Au-delà du challenge et des rencontres, ce qui motive Pierre dans les hackathons, c’est qu’ils mettent en avant l’algorithmie, l’intelligence artificielle et les mathématiques, des aspects du code un peu délaissés dans le quotidien du développement logiciel.
Dans le développement logiciel, on se soucie avant tout de livrer un code maintenable. Là, en concours, c’est un aspect complètement différent du développement, on est plus proche des mathématiques que de l’informatique. Ce sont deux aspects complémentaires du développement. En concours, le temps est limité, c’est très intense : quand on développe une intelligence artificielle en peu de temps, on ne prend pas en compte la maintenabilité du code. Ce que j’aime aussi, c’est de voir le résultat en temps réel : un problème est posé, on envisage une solution et on la met en oeuvre en quelques minutes.
Pour la compétition Pierre a opté pour le langage Python :
Pour ces événements, je m’arme toujours, maintenant, du langage Python. Sa fluidité et son côté orienté fonctionnel permet de se concentrer totalement sur le problème et sa définition plutôt que sur l’écriture et l’implémentation
Pierre fait partie des chanceux qui ont pu commencer le concours sans retard : cette quatrième édition du Meilleur dev de France a en effet cumulé problèmes d’organisation et défaillances techniques. Pierre revient sur l’épreuve à proprement parler :
La difficulté des exercices n’était pas vraiment progressive. Le premier exercice consistait à faire la somme de toutes les entrées données, cela ne prenait que quelques secondes. Le deuxième exercice était un peu plus compliqué, mais rien d’insurmontable : il s’agissait d’un snake, dont les déplacements sont données et dont il faut trouver la position de la queue. Enfin, le dernier exercice était un problème de rendu de monnaie : on dispose d’une bourse avec des pièces, et on doit rendre une certaine somme en minimisant le nombre de pièces rendues. L’approche naïve consiste à rendre d’abord les plus grosses pièces, puis les plus petites et ainsi de suite jusqu’au rendu final. Mais cela ne fonctionne pas dans tous les cas. Pour résoudre le problème, il fallait faire appel à la programmation dynamique, et à de l’algorithmie pointue, qui n’est utilisée que dans ce genre de concours. L’écart entre le deuxième et le troisième exercice était énorme ! Enfin, la phase finale était composée de deux exercices. Tout d’abord, un problème de minimum spanning tree, un problème un peu typique en théorie des graphes. Quand on connaît la solution…il faut encore réussir à la réecrire sans erreur, et c’est ce qui a permis d’établir le classement. Le deuxième exercice était beaucoup plus compliqué, et seul le gagnant du concours a réussi cette épreuve, bravo à lui !