Connaissez-vous CodeSignal, le paradis des développeurs ?
J’appartiens à une génération qui a vu les ordinateurs et les outils de programmation devenir populaires et accessibles au sortir de l’adolescence. J’en ai conçu une passion pour la programmation, passion que j’ai pu assouvir pendant mes années d’études et la première décennie de mon parcours professionnel, chez GFI et Dassault Systèmes, mais que j’ai dû, un peu malgré moi, mettre de côté par la suite, sans toutefois abandonner le « code ». Que ce soit dans le cadre de mon aventure Ekoz, pour développer des outils internes chez Else & Bang, je reviens régulièrement à mes premières amours. Mais sans véritable projet à construire, on se lasse vite.
J’ai récemment découvert un site fait pour les gens qui comme moi ont besoin qu’on leur propose de petits défis de programmation: CodeSignal. Conçu initialement pour des entreprises qui cherchent à évaluer des développeurs lors de processus de recrutement, c’est en fait un espace où les dingues de programmation peuvent s’en donner à coeur joie, en résolvant des problèmes de complexité croissante, dans leurs langages préférés.
Le rêve.
Le site propose un espace « Arcade », où une centaine de tâches à accomplir sont proposées, des plus simples aux plus élaborées. Ces tâches décrivent (en anglais) un sujet à résoudre dans le temps le plus court. Deux batteries de tests sont proposées : des tests à découvert, où les valeurs d’entrée et la trace d’exécution sont affichées, et des tests cachés, où l’on ne sait rien d’autre qui si l’on a passé correctement le test ou non. Cela se complique en général, du fait que parmi ces tests cachés sont glissés des tests de performance, qui vérifient que les algorithmes mis en oeuvre sont efficaces.
Le site propose également un espace « Challenge », où sont proposés des défis quotidiens qui demandent un peu plus de réflexion que sur l’espace « Arcade ». Dernier sujet de l’espace « Challenge », hier : trouver, avec un algorithme en O(n2), parmi une liste de n entiers, 3 entiers dont la somme vaut une certaine valeur.
Enfin, un espace « Tournoi » permet de réaliser des petits défis avec 4 à 5 tâches à accomplir en moins de 10 minutes. Il s’agit en général de trouver un bug dans un bout de code source, ou de compléter un code source devant réaliser une tâche donnée.
Pour mes premiers pas sur cette plateforme, j’ai choisi Python. Et je m’offre deux à trois heures de compétition quotidienne, à l’heure où les braves gens dorment. Un rythme qui m’a permis, dès la première semaine, d’intégrer le top 10 en terme de nombre de points accumulés sur la semaine écoulée. Le classement permet également de s’appuyer sur les données indiquées sur son profil pour proposer un classement par pays, par cursus universitaire ou par entreprise par lesquelles on est passé. Ce sont des développeurs américains, vietnamiens et indiens, travaillant pour Google, Amazon ou Microsoft, qui mènent actuellement la danse sur CodeSignal. Mais on ne lâchera rien, et le classement hebdo permet de se faire plaisir…
Découvrez d'autres articles sur ce thème...
Hervé Kabla, ancien patron d’agence de comm’, consultant très digital et cofondateur de la série des livres expliqués à mon boss.
Crédits photo : Yann Gourvennec