Publié par
Il y a 2 mois · 2 minutes · Craft

Xebia a participé au concours Google HashCode 2017

Le 23 février dernier s’est tenu le tour de qualification du Google Hash Code. Trois équipes de Xebians ont participé à l’aventure, trois façons différentes d’aborder le concours.

Hash Code est une initiative lancée en 2014 comme concours de programmation à destination des étudiants et professionnels. Depuis quelques années, cela se passe en deux tours :

  1. Le tour de qualification (à faire chez soi)

  2. La finale (chez Google).

En 2016, l’événement a rassemblé plus de 17 000 développeurs à travers le monde !

 

Cette année, le sujet est tombé à 18 h 45 après une présentation vidéo diffusée dès 18 h 30. L’objectif était de résoudre un problème lié à l’optimisation des serveurs de cache de YouTube. Le sujet est toujours disponible.

Nous avons commencé par constituer les équipes dès le 9 janvier. Nous souhaitions que chaque groupe puisse choisir son langage de prédilection. Xebia sera ainsi représentée par trois équipes de quatre développeurs : une équipe développera en Java tandis que les 2 autres utiliseront JavaScript et NodeJS. En attendant le jour J, nous pouvions d’ores et déjà nous faire la main sur l’exercice de test. Nous partagions nos idées et nos résultats sur Slack, dans notre channel #craft.

Quelques semaines plus tard, le jour du challenge arrive enfin ! Réparties dans trois salles, les équipes ont travaillé à leur manière :

  • Utilisation de Github pour partager le code source ;

  • Ecriture de tests unitaires ou pas, selon le besoin ;

  • Utilisation d’un tableau blanc pour décrire les modèles ;

  • Pair Programming pour écrire le code nécessaire au parsing des fichiers, à l’export des données au format attendu ou développement de l’algorithme de résolution du challenge.

Bien que les équipes soient composées de quatre personnes, ce n’est pas de trop pour réfléchir à l’algorithme qui permettra d’obtenir un maximum de points. Les quatre heures du challenge passent très vite et les soumissions dans le système Judge de Google permettent de connaitre le score de chacune des soumissions et d’obtenir son classement. Le stress monte, les places dans le classement aussi.

22 h 30 et c’est déjà la fin. La meilleure des 3 équipes de Xebia a réussi à se classer 602e sur 2815 équipes participantes ! C’est malheureusement insuffisant pour pouvoir participer à la finale qui aura lieu le 1er avril mais nous sommes fiers d’avoir pu confronter nos pratiques de développement dans un événement qui met nos nerfs à rude épreuve.

 

Pour conclure, nous avons trouvé que l’exercice représente un challenge technique et humain permettant de réfléchir à un problème complexe en équipe. Cette soirée a permis de développer l’esprit d’équipe, de favoriser les échanges et de découvrir de nouvelles façon de faire.

Est-ce que l’aventure vous tente ? Rejoignez Xebia et participez avec nous lors de l’édition 2018.

Julien Smadja
Julien Smadja est consultant manager chez Xebia où il intervient notamment sur des projets NodeJS et AngularJS 2. Ses 10 ans d'expérience ont principalement été axées sur le développement d'applications Java, la qualité et la testabilité.

2 réflexions au sujet de « Xebia a participé au concours Google HashCode 2017 »

  1. Publié par Colibrio, Il y a 1 mois

    Bonjour et merci pour ces informations sur le concours vécu de l’intérieur. Pourrais-je savoir quelle équipe a le mieux réussi (techno) ? Ca doit être Java, pour l’optimisation de serveurs de cache ?

  2. Publié par Julien Smadja, Il y a 1 mois

    Bonjour,

    L’équipe qui a le mieux réussi a codé en Java. Mais finalement, la technologie importe peu car le résultat doit être exporté en fichier texte et uploadé sur l’application de Google. Ce qui fait la réussite est en réalité la finesse de l’algorithme développé.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *