Comment nous avons fait un hackathon dans le train et ce qui en est sorti

Bonjour à tous! Je suis Misha Klyuyev, DevRel à Avito. Dans cet article, nous vous parlerons de notre expérience dans l'organisation et la conduite d'un hackathon inhabituel. À l'intérieur: une histoire sur 56 heures de codage dans un train, sur ce qui doit être fait pour les réaliser, sur le type de projets qui ont abouti et un peu de la mer d'Octobre.


Attention au trafic.



Idée


L'idée de faire un hackathon en train m'est venue tout à fait spontanément il y a plus d'un an. Au début, l'équipe et moi n'avons pas pris cela trop au sérieux. À cette époque, nous avions déjà mené plusieurs hackathons internes (qui étaient décrits dans les articles: 1 , 2 ). Je dirai tout de suite que pour nous, le processus de hackathon est plus important que le résultat: de nouvelles fonctionnalités commerciales qui entreront en production ne sont pas attendues en sortie Pour nous, l'essentiel est que tous les participants apprécient la participation (néanmoins, un certain nombre de projets vont vraiment aux ventes). Le vêtement pour l'âme est le slogan principal de tous nos hackathons, et chaque participant résout ce problème à sa manière. J'ai été inspiré par l'exemple des hackathons wth.by fan, dont j'ai eu la chance de visiter en 2015.


Nous voulons depuis longtemps sortir le hackathon du bureau pour que l'atmosphère ajoute encore plus de dynamisme et de plaisir. Mais juste changer le décor pour une cinquantaine de développeurs qui passent la plupart de leur temps sur des ordinateurs portables, cela nous a semblé un peu. Ensuite, nous avons réalisé que vous pouvez ajouter du mouvement au hackathon, si vous le combinez avec le voyage, et le train est le moyen de transport le plus évident pour cela. Une recherche rapide a montré que des hackathons dans le train dans le monde sont déjà détenus , y compris dans l'espace post-soviétique, mais nous n'avons pas trouvé d'analogues nationaux. L'idée semblait frivole et très difficile à mettre en œuvre: où aller, afin qu'il y ait une communication fiable en cours de route, comment échanger les billets dans une voiture à l'avance, jusqu'à ce que les données de passeport des participants soient collectées, comment mener des présentations de projet dans le train ... Mais cet été, nous avons décidé d'essayer, et tout a fonctionné.


Il est possible de louer des voitures de différentes classes auprès des chemins de fer russes et de les attacher aux trains dans les bonnes directions. L'absence d'un Internet stable n'est pas un bug, mais une fonctionnalité, un défi supplémentaire qui a influencé le choix des technologies et a nécessité une préparation plus approfondie, nous avons décidé. La ville d'arrivée a été choisie simplement au moment du mouvement du train, un jour à sens unique. La première option était Ekaterinbourg, mais il a ensuite été décidé qu'il valait mieux sortir de Moscou dans le sud quelque part.


À un moment donné, nous avons dû déplacer les dates du hackathon et pour y aller, je devais renoncer à parler à deux conférences au dernier moment. J'adore vraiment voyager en train, le hackathon dans le train était un rêve pour moi, donc c'était extrêmement décevant de le manquer. Mais maintenant, je dois juste passer la parole à mes collègues qui ont organisé et dirigé avec succès ce hackathon déjà légendaire (au moins à Avito) et se mordre les coudes, en regardant les photos et en lisant les commentaires des participants. Et bien sûr, pensez à quoi surprendre la prochaine fois!


La préparation


image Valya Mikhno, gestionnaire d'événements
J'ai tout de suite aimé l'idée d'un hackathon dans un train. Cool pour sortir ses collègues du bureau et partir en voyage avec eux, et même travailler en cours de route. De plus, il est toujours intéressant pour moi d'aborder des tâches et des projets non standard que personne n'a fait avant vous.
Bien que l'organisation d'un hackathon dans un train soit une tâche intéressante et extrêmement difficile: il est difficile de travailler avec un monopole ferroviaire, d'obtenir une confirmation d'inscription garantie des programmeurs, on ne sait pas comment organiser Internet dans les zones «aveugles» et créer un menu de deux jours sur un siège réservé à cinquante collègues inconnus.


Mais le plus difficile a peut-être été de choisir la direction de notre voyage. Tout d'abord, nous avons prévu un voyage à Ekaterinbourg le long du célèbre chemin de fer transsibérien. Mais en octobre, il faisait plutôt froid à Iekaterinbourg, et les options pour passer du temps pour cinquante programmeurs fatigués après une journée dans le train m'ont semblé utiles - tout cela pourrait être organisé à Moscou. Puis l'idée est venue d'aller vers le sud jusqu'à la mer. Et puis mon attention s'est arrêtée sur la petite station balnéaire d'Anapa. Tout s'est parfaitement déroulé: départ le vendredi matin, temps de trajet un peu moins d'une journée, sept heures en mer (idéal pour clôturer la saison des plages), et arrivée à Moscou le dimanche soir. En général, le bingo va à Anapa.


Avec le directeur des chemins de fer russes, nous avons sélectionné les trains aller-retour dont nous avions besoin, réservé une voiture à siège réservé (c'est atmosphérique et aide à mieux rassembler les équipes), discuté de tous les détails de la conception du voyage et lancé un accord avec nos avocats pour approbation. Tout s'est bien passé et calmement, mais un mois avant le voyage, j'avais besoin d'informations sur les conditions de la voiture (nombre et puissance des prises, disponibilité de la literie et des porte-gobelets et autres petites choses). Et puis ça a commencé ...


Je suis allé rencontrer le directeur des chemins de fer russes au dépôt pour prendre des photos de notre voiture. Il s'est avéré que notre nouveau siège réservé confortable avec des photos sur le site s'est transformé en une voiture 2018 de l'ancien format. De plus, même ses logisticiens des chemins de fer russes n'étaient pas autorisés à attacher le train Moscou-Anapa au train initialement prévu. La condition était un ultimatum. J'ai dû accepter toutes les conditions et prendre un autre train. Nous ne pouvions pas refuser du tout: l'inscription au hackathon battait son plein. Le nouveau train prend plus de temps à Anapa, donc notre temps dans le train a augmenté de six heures, et le temps en mer a été réduit à quatre. Nous étions un peu contrariés, mais ne désespérions pas - nous voulions nous-mêmes organiser du hardcore. Et c'est arrivé.


Et comment nous sommes allés au dépôt avec des employés des chemins de fer russes dans une voiture de société avec toutes les fournitures, ouvert notre wagon en plein jour, cela restera longtemps dans ma mémoire ...


Annonce et sujets


image Valya Mikhno, gestionnaire d'événements
Alors que nous annoncions le hackathon et trouvions un thème digne d'une histoire distincte. Je ne vous en parlerai que brièvement. Presque immédiatement, nous avons décidé de faire le thème «Mad Max» et l'avons décrit comme ceci: «Imaginez que nous nous précipitions à Anapa pour un avenir alternatif sur une locomotive à vapeur futuriste. Les gens ont inventé de puissants ordinateurs à vapeur, un puissant lisp de vapeur, du fortran et d'autres basiques avec des pascals, mais ont oublié de créer Internet. " En général, nous avons décidé de donner à nos collègues un vrai défi: coder dans des conditions hardcore dans un train, sans Internet normal, sans âme et sans confort habituel, et en plus, passer leurs journées de repos avec des collègues, que vous voyez depuis une semaine entière, épaule contre épaule. Perspective moyenne. En un mot, l'aventure!


Nous avons développé un logo, créé le design de l'ensemble de la marchandise et des affiches, créé une page de destination et ouvert l'inscription. Il était nécessaire de s'inscrire immédiatement et à coup sûr, car un billet enregistré a été émis pour tout le monde. Si le participant refuse au dernier moment, sa place sera perdue. Bien sûr, nous en avons parlé, mais nous craignions que personne ne veuille s'inscrire: personne ne veut mettre en place des collègues si quelque chose d'important se produit au dernier moment. Mais je croyais que des aventuriers existent dans notre entreprise. Lors de la première vague d'immatriculation, la voiture n'était qu'à moitié pleine. Et pendant quelque temps, le comptoir d'inscription n'a pas bougé. Ensuite, nous avons dû utiliser l'ingéniosité.


Tous les cinq jours, nous publions de nouvelles informations sur l'étape de préparation du hackathon, qui pourraient attirer de nouveaux participants. J'ai annoncé l'achat de routeurs à haute vitesse (Internet le sera néanmoins), j'ai parlé du programme à Anapa avec barbecue du propriétaire de l'hôtel Akop et j'ai publié des prévisions météorologiques optimistes - les chances de nager en octobre étaient élevées (et les prévisions météorologiques ne m'ont pas déçu). J'ai attiré les amateurs de romance en train avec des photos de doshiraki et des histoires de création de ce plat idéal pour le train. Ensuite, ils ont publié les nominations pour le hackathon anniversaire. Parmi eux se trouvaient nos classiques, par exemple, la Hackathon Cup et The Most Epic Fail, et ceux que nous avons créés dans le cadre de ce hackathon inhabituel: The Most Ancient Programming Style et The Best Frontier. Nos ingénieurs ont été nommés pour participer à la nomination. Eh bien, au final, nous avons même permis d'inviter des hackers aguerris, d'anciens employés d'Avito. En somme, tout a fonctionné! Exactement un mois avant le voyage, notre voiture était entièrement équipée et tous les noms étaient inscrits dans le contrat.


Internet


image Valya Mikhno, gestionnaire d'événements
Malgré le fait que le thème du hackathon était hardcore, je voulais quand même que l'Internet le soit. Poussez Internet dans toute la mesure du possible lors de vos déplacements et rendez-le accessible à tous les participants - c'est devenu un défi pour moi. J'ai parlé avec des networkers à Avito pendant plusieurs jours, sélectionné les routeurs appropriés pour notre cas, élaboré un plan pour leur placement dans la voiture, sélectionné le meilleur fournisseur sur la route Moscou-Anapa, étudié les cartes de couverture et les manuels des routeurs. Une expérience intéressante! Qu'est-il arrivé?


Nous avons acheté quatre routeurs 4G avec une connexion sans fil haut débit, ce qui nous a permis d'utiliser deux cartes SIM en même temps et de basculer vers le fournisseur dont le signal était plus fort. Nous avons acheté huit cartes SIM de trois grands opérateurs de télécommunications russes, seize antennes Wi-Fi et GSM. Tout le monde a testé et créé une carte réseau avec l'aide de notre pilote de test et développeur qui a écrit une application où cette carte pourrait être créée. A dépensé beaucoup d'efforts, mais ça valait le coup. Bien sûr, il y avait des zones mortes dans les champs et les forêts, mais cela s'est avéré mieux que ce à quoi nous nous attendions. Il y avait suffisamment de vitesse et de couverture pour que notre photographe puisse télécharger des centaines de photos sur le cloud et les partager avec des pirates en cours de route.


image
Seryozha Vertepov, ingénieur QA senior, pilote d'essai Internet
Un beau matin, j'ai lu la nouvelle qu'Avito prévoyait un autre hackathon. Avant cela, je n'avais pas participé à des hackathons, mais j'avais prévu depuis longtemps, et après avoir lu que le hackathon serait également dans le train sur le chemin d'Anapa, j'ai immédiatement réalisé qu'une telle opportunité ne devait pas être manquée. Il y avait un message sur le site Web du hackathon disant que nous avions besoin d'un volontaire qui voyagerait le long de la route Moscou-Anapa-Moscou afin de dresser une carte de la couverture du réseau et, en général, pour enquêter sur la situation.
"Hm, pas mal", ai-je pensé, et j'ai immédiatement écrit sur mon désir de devenir un pionnier. J'ai été très surpris que personne n'ait exprimé le désir d'aller à Anapa gratuitement, même en dehors des vacances. Apparemment, tout le monde n'aime pas autant les stations balnéaires du territoire de Krasnodar que moi.


Le 28 septembre, je me suis retrouvé dans le train. J'avais deux iPhones, une application qui suit la couverture et les coordonnées pour construire une autre carte (elle a été écrite par notre ingénieur iOS principal Vlad Alekseev), ainsi qu'un modem Wi-Fi avec deux cartes SIM. Le voyage a été merveilleux. C'était particulièrement agréable de n'avoir pratiquement aucun compagnon pendant tout ce temps. Il était surprenant de constater que je n'avais aucune sorte de faim informationnelle: Internet en était au moins. Il y avait suffisamment de réseaux sociaux pour les messageries instantanées. Pas toujours, bien sûr, mais la plupart du temps. Au moins, je le pensais, et la carte que notre application a construite indiquait plus ou moins la même chose. Soit dit en passant, j'ai remarqué que la première moitié du chemin, une connexion plus stable était pour un opérateur, mais plus proche du territoire de Krasnodar pour l'autre. En général, je montais dans le train pendant qu'un iPhone suivait les informations d'une carte SIM et l'autre d'un modem avec des cartes SIM d'autres opérateurs, j'ai passé une nuit à Anapa et je suis revenu. L'ensemble du "voyage" a duré 4 jours.





Conditions de train


image Valya Mikhno, gestionnaire d'événements
Hardcore hardcore, mais cinquante ingénieurs ne voulaient pas vraiment tuer l'estomac de cinquante ingénieurs ou les infecter. Par conséquent, un point important dans l'organisation du hackathon était de créer des conditions confortables pour travailler dans le siège réservé afin que les développeurs ne soient pas distraits par la création et l'écriture de code. Nous avons préparé un pack welcom avec tout ce dont vous avez besoin: un t-shirt, des pantoufles, un ensemble pour dormir (un masque et des bouchons d'oreille), un kit de dents de voyage, un pack de charbon actif, un désinfectant, une bouteille d'eau, un bar et quelques céréales instantanées. De plus, nous avons emporté avec nous beaucoup de plats différents (qui ont pris deux étagères latérales entières de la voiture). Il y avait beaucoup de collations différentes de la nourriture, mais le plat principal de ce voyage était, bien sûr, un doshirak. 75 packs pour 50 personnes ont pris fin rapidement. Le prix du public a été remporté par un doshirak de bœuf - les gars ont même échangé leur œuf de nid contre un doshik de bœuf. C'était génial! Il y avait aussi une nourriture plus saine: nous avons déjeuné dans une voiture-restaurant, dans laquelle nous avons commandé de la nourriture à l'avance et même commandée individuellement dans le contrat. Je le répète, nous ne voulions pas ruiner l'estomac de nos collègues. Le dîner était complexe et comme il se doit: "premier", "deuxième" et salade. Au lieu de compote - jus. Il était amusant que notre voiture soit également attelée, et elle était en ordre de seizième. Et la voiture-restaurant était la onzième. Chaque participant du hackathon en route pour le dîner est passé par plus de vingt portes - les guides responsables de leurs wagons ont demandé de fermer les portes derrière eux. Au total, pour deux repas le vendredi et le dimanche, nous avons ouvert et fermé plus de cent vingt portes. L'assainisseur n'était pas en vain.


En conséquence, grâce à des annonces compétentes, nous avons réussi à clôturer l'enregistrement, à transmettre toutes les informations importantes aux participants, tout le monde était plein dans le train, personne n'a été empoisonné, aucun ingénieur n'a été perdu et nous sommes rentrés à Moscou en toute sécurité avec tout l'équipage. Conforme au défi! Après notre voyage, les gars de notre discussion par télégramme «Traveled to AvitoHack RailRoad» ont écrit leurs impressions et photos du voyage pendant une longue période. Tout le monde était satisfait, les critiques étaient excellentes et un collègue a déclaré que c'était le moment le plus brillant de tous les temps à Avito. Je pense que c'est un succès!


Statistiques


Hackathon dans le train - un projet à grande échelle. C'est ce que nous avions avec nous pour le réaliser.


  • 25 boîtes avec nouilles, lait, chips et crackers, céréales, fruits et légumes, boissons, trousse de premiers soins et hackatommerch.
  • 144 bouteilles d'eau.
  • 134 canettes de diverses boissons gazeuses.

Et ils ont dépensé près de 42 Go d'Internet mobile.


Reportage photo


Il est difficile d'écrire sur l'atmosphère, alors regardez la photo.


Voir la photo

.
































Les projets


Nous avons apporté 19 projets avec nous. Bien sûr, nous ne pouvons pas parler de tout ici, mais voici quelques détails.


 « »        .    ,        .           . 


  «4 »        .  ,   .     ,  ,      .   ,   . 


     ,    ,        .    «»   Hlamingo,    . 


  Super Blur —      .           ,      ,      . 


 Fratbots —      c ASCII-   .  !  ,     . 


Nous avons également réalisé un projet avec le cloud computing gratuit sur Go , un cache pour la surveillance des données dans ClickHouse (pour réduire la charge sur la base de données avec des demandes identiques fréquentes), un projet avec profilage continu des applications Go, un interprète du langage de programmation Prolog, une génération de code accélérée pour notre Avito iOS du projet, ils ont écrit une application pour sélectionner des combinaisons de polices open source sur du contenu réel, pas sur Lorem Ipsum et bien plus encore.


Avis des participants


  • Les fêtes introverties sont super! J'étais plutôt renfermé et craignais d'être hors de propos. Mais j'ai rencontré tout le monde dans la voiture et je me suis même souvenu des noms de beaucoup! C'est la première fois avec moi :-)
  • Et il s'est reposé du travail, a nagé dans la mer, a traîné avec des collègues et a écrit un code sur un sujet libre. 12/10 GOTY AU BOUT DES DOIGTS. En général, ce n'est qu'une bombe, un format megakeep et une implémentation.
  • L'idée du train à première vue me paraissait étrange, mais quand j'y participais, le temps passait inaperçu et ne voulait même pas partir à la fin du voyage. Des chansons avec une guitare, un trajet en bus vers une bande originale de GTA, des photos ...
  • C'était merveilleux! Rencontrez des gars formidables dans un cadre informel. Se répondre et s'entraider - quoi de plus précieux dans cette vie?! Et pour tout le reste - MasterCard ... Beaucoup de blagues, du plaisir, au moins dans notre merveilleuse équipe, et bien sûr, du développement hardcore sur Rust !!! Pour la première fois de ma vie, j'ai visité la mer et finalement pris des photos de yoga sur la plage! Et il jouait toujours avec une guitare dans une ambiance si chaleureuse!
  • Ce n'est qu'après avoir passé deux jours dans le train, à devenir plus fort, à vider votre esprit et à jeter toutes les enveloppes sous la forme d'Internet et de googler sans fin, de manuels hindous sans Dieu et de stackoverflows, en utilisant les anciennes pratiques oubliées de la méditation sur la lecture des codes, les régimes spéciaux et l'alcool, comprenez-vous que l'essentiel est ce sont les gens avec qui vous travaillez, qu'eux seuls peuvent vous soutenir dans les moments difficiles et partager la joie de la victoire ou le goût acidulé du viskar le moins cher acheté en basse saison à Anapa!
  • L'impression la plus vive est quand la nuit le train s'est arrêté quelque part dans le désert à la gare. La voiture n'a pas atteint la plate-forme. Et nous avons sauté sous les étoiles dans le noir et traîné près de la voiture. Monté le talus. Et autour - l'obscurité, les étoiles et la faible lumière de la voiture ... Incroyablement simple.
  • Très positif sur. Un tas de codeurs dans les nuits sur la colline devant le train, la mer en octobre, la situation elle-même: venir à Anapa pour quelques heures, nager et repartir. Excellente musique d'une guitare en duo flûte, contes sibériens de nos voisins de siège réservés. L'odeur d'un doshik à laquelle personne ne pouvait résister. Champs sans limites, villes, romance du voyage, dap-hop sur les rails, tutu-tutuh, tutuh-tutuh ...


Mémo pirate Pik4ez


Si vous ou vos amis souhaitez soudainement répéter une telle expérience, il ne sera pas superflu de partager notre expérience. Nous avons demandé au pirate le plus expérimenté de notre équipe, pik4ez, de rédiger un mémo pour ceux qui décident de prendre le train. Sa parole.


image Dmitry Belov, ingénieur senior, hacker expérimenté


  • Il est plus difficile de trouver un coin absolument inhabité dans un train où il n'y aura personne d'autre que votre équipe. Soyez de bons voisins. Dans notre cas, le chariot contenait un ukulélé, une guitare et une flûte. Mais les gars ont très bien joué et pas longtemps. La musique n'était pas agaçante, mais, au contraire, elle a permis de se rassembler dans un coin musical, de chanter quelques chansons et de faire une pause dans la programmation.


  • L'alcool réduit la productivité. Ne l'incluez pas dans le menu.


  • La question de la charge des appareils doit être décidée à l'avance. Dans notre cas, il y avait une voiture moderne et suffisamment de prises. Mais juste au cas où, beaucoup emportaient avec eux des banques d'alimentation.


  • Nous devons suivre les horaires. Vous ne pouvez pas être en retard pour le train, vous devez être prêt pour les transferts et collecter à l'avance les choses nécessaires. Les mémos enregistrés avec le programme et les organisateurs, par une chance chanceuse voyageant dans la même voiture, aident.


  • Nous ne prenons pas périr, sauf, pour la première collation. À partir d'un non périssable, on peut construire une nourriture assez décente.


  • Mais peu importe combien le codeur se nourrit, il aime toujours le doshik. En petites quantités, les nouilles instantanées et le café trois en un sont excellents. Le matin, la bouillie instantanée est bonne. Mais un dîner complet est très nécessaire. Une voiture-restaurant peut vous aider.


  • Des chaussons sont nécessaires.


  • Le codage posé sur une étagère est particulièrement impossible. Nous essayons de ne pas remplir la table afin d'y placer quelques ordinateurs portables.


  • La nuit, il est conseillé de ne pas faire de bruit du tout. Le hackathon sur roues est plus difficile à transférer sans sommeil, donc la nuit, beaucoup se couchent.


  • Il est très utile de sortir aux gares pour se réchauffer.


  • Le train est plus susceptible d'entendre quelques nouvelles histoires, même de ceux avec qui vous travaillez depuis de nombreuses années.


  • Si vous voyez la mer, nagez.



Vidéo comment c'était


Nous voulons transmettre au mieux nos émotions du hackathon, nous avons donc également tourné une vidéo dans le train. Nous avons demandé aux gars ce qu'ils pensaient du voyage et du codage sans Internet, quels programmes ils écrivaient, où d'autre vous pouviez organiser des hackathons et de quoi les programmeurs rêvaient. Et Dima Belov a parlé de ses premiers hackathons et des avantages de tels événements.



Ce sont nos impressions et nos designs. Nous espérons que vous êtes inspiré par quelque chose de nouveau et d'intéressant. Si les détails sont intéressants - renseignez-vous à leur sujet dans les commentaires. Assurez-vous de répondre.

Source: https://habr.com/ru/post/fr475974/


All Articles