Assurance qualité : hackathons

Assurance qualité : hackathons

La dernière partie de la trilogie hackathon. DANS la première partie J'ai parlé de la motivation pour participer à de tels événements. La deuxième partie était dédié aux erreurs des organisateurs et à leurs résultats. La dernière partie répondra à des questions qui ne rentraient pas dans les deux premières parties.

Racontez-nous comment vous avez commencé à participer à des hackathons.
J'ai étudié pour un master à l'Université de Lappeenranta tout en résolvant des concours d'analyse de données. Ma journée type ressemblait à ceci : un lever à 8 heures, quelques couples à l'université, puis des concours et des cours jusqu'à minuit (pendant que les soumissions comptent, je regarde des cours ou lis des articles). Un calendrier aussi strict a porté ses fruits et j'ai remporté le concours d'analyse de données MERC-2017 (qui a même été discuté publier sur le hub). La victoire m'a donné confiance et lorsque je suis tombé par hasard sur des informations sur le hackathon SkinHack 2 à Moscou, j'ai décidé de rendre visite à mes parents et en même temps de découvrir ce qu'est un hackathon.

Le hackathon lui-même s'est avéré assez amusant. Il y avait deux pistes sur l'analyse des données avec des mesures claires et un ensemble de données avec un prix en argent de 100 50 roubles. Le troisième volet portait sur le développement d'applications avec un prix de 50 XNUMX $, et il n'y avait aucun participant. À un moment donné, l'organisateur a déclaré qu'une fenêtre dotée d'un bouton sans fonctionnalité pouvait gagner XNUMX XNUMX $, car le prix ne pouvait pas être payé. Je n'ai pas commencé à apprendre à programmer des applications (je ne participe pas à des compétitions là où je peux facilement être « retourné »), mais pour moi, c'était un message clair que les champs des hackathons ne sont pas bondés.

Ensuite, j'ai résolu seul les deux pistes d'analyse de données. J'ai trouvé une fuite dans les données qui m'a permis d'obtenir la vitesse idéale, mais la colonne avec la fuite n'était pas dans les données de test que j'ai reçues deux heures avant la fin de l'événement (d'ailleurs, j'ai alors compris que la présence d’une colonne « cible » dans le train ne compte pas comme une fuite ). Au même moment, le classement s'est ouvert, ma soumission sans visage a pris la troisième place sur cinq, il y avait un grand écart par rapport à la première et j'ai décidé de ne pas perdre de temps et je suis parti.

Après avoir analysé avec un esprit neuf ce qui s'est passé, j'ai trouvé un tas d'erreurs (une de mes habitudes est de faire défiler mentalement ce qui s'est passé avec le bloc-notes et d'analyser les erreurs, leur cause et ce qui aurait pu être modifié - un héritage si agréable d'un jeu de poker semi-professionnel). Mais une chose était sûre : les hackathons ont beaucoup de valeur, et je devais simplement les mettre en œuvre. Après cet événement, j'ai commencé à surveiller les événements et les groupes, et le hackathon qui a suivi ne s'est pas fait attendre. Puis un autre, et un autre...

Pourquoi fais-tu des hackathons et pas Kaglo ?
Je n'aime pas Kagle pour le moment. À partir d’un certain niveau de compétence, sans motif précis de participation, le kagle devient moins utile que d’autres activités. J'ai beaucoup participé auparavant, apparemment j'ai réussi à « descendre » d'une manière ou d'une autre.

Pourquoi des hackathons et ne pas travailler sur votre propre projet ?
J'aime l'idée de faire quelque chose de cool de mes propres mains à un rythme lent. Les gars d'ODS se sont organisés Projets pour animaux de compagnie ODS pour tous ceux qui souhaitent passer le week-end à travailler sur leur projet avec des personnes partageant les mêmes idées. Je pense que je vais bientôt les rejoindre.

Comment trouver des événements ?
Source principale - hackathon.com (monde) et chat par télégramme Pirates russes (Russie). De plus, des annonces d'événements apparaissent dans la publicité sur les réseaux sociaux et sur LinkedIn. Si vous ne trouvez rien, vous pouvez regarder ici : mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Préparez-vous un plan de solution avant de participer ou tout est-il décidé à la volée ? Par exemple, une semaine avant le hackathon, pensez-vous : « Nous aurons besoin de tel ou tel spécialiste ici, il faudra le chercher » ?
Si le hackathon est pour la nourriture, oui, je me prépare. Quelques semaines avant, je réfléchis à ce que je vais faire, je détermine qui pourrait être utile et je rassemble une équipe d’amis ou de participants de hackathons passés.

Est-il vraiment possible de pirater un hackathon seul ? Que faire s'il n'y a pas d'équipe ?
Les hackathons de science des données sont réels (j'en suis un exemple vivant), je n'ai pas vu de hackathons d'épicerie, même si je le pense aussi. Malheureusement, les organisateurs imposent parfois une limite au nombre minimum de participants dans une équipe. Je pense que cela est dû au fait que tous les « solitaires » n'atteignent pas la finale (c'est-à-dire qu'ils repartent simplement avec les premières difficultés) ; la participation à une équipe reste encore limitée. Même après l'événement, vous êtes censé continuer à travailler sur le projet. Il sera plus facile de mener à bien le projet en équipe.

En général, mon conseil est de toujours participer en équipe. Si vous n’avez pas votre propre équipe, les organisateurs vous aideront toujours à en trouver ou à en créer une.

Comment gérer la fatigue lors d’un hackathon ?
Lors du hackathon, vous disposez de 2 jours pour travailler, soit 48 heures (30-48 heures, prenons 48 pour faciliter le comptage). Nous supprimons du temps pour dormir (16 à 20 heures), n'en laissant pas plus de 30. Parmi celles-ci, 8 heures (en moyenne) seront effectivement consacrées à un travail productif. Si vous organisez correctement votre travail (sommeil, alimentation, sorties au grand air, exercices, minutes de pleine conscience, bonne communication avec l'équipe et changement d'activité), les heures de travail approfondies peuvent être augmentées jusqu'à 12-14. Après un tel travail, vous vous sentirez épuisé, mais ce sera une fatigue agréable. Coder sans sommeil ni pauses, interrompu par des boissons énergisantes, est une recette pour l'échec.

Avez-vous vos propres pipelines prêts à l'emploi pour les hackathons ? Comment les avez-vous obtenus, comment sont-ils organisés (ils sont dans des dossiers avec des fichiers .py, chacun pour sa propre tâche, etc.) et comment commencer à les créer vous-même ?
Je n'utilise pas de solutions entièrement prêtes à l'emploi des hackathons passés dans les nouveaux, mais j'ai mon propre zoo de modèles et de pipelines issus de compétitions passées. Je n'ai pas besoin de réécrire des éléments standards à partir de zéro (par exemple, un encodage cible correct ou une simple grille pour extraire l'intention du texte), ce qui me fait gagner beaucoup de temps.

Pour le moment, cela ressemble à ceci : pour chaque concours ou hackathon, il existe son propre dépôt sur GitHub, il stocke des notebooks, des scripts et une petite documentation sur ce qui se passe. De plus, il existe un référentiel séparé pour toutes sortes de « trucs » encadrés (comme l'encodage cible correct avec validation croisée). Je ne pense pas que ce soit la solution la plus élégante, mais elle me convient pour l'instant.

Je commencerais par enregistrer tout mon code dans des dossiers et rédiger une courte documentation (pourquoi, quoi, comment je l'ai fait et le résultat).

Est-il réaliste de préparer un MVP à partir de zéro en si peu de temps ou est-ce que tous les participants arrivent avec des solutions toutes faites ?
Je ne peux que dire des projets liés à la science des données - oui, c'est possible. MVP pour moi est une combinaison de deux facteurs :

  • Une idée viable présentée comme un produit (c'est-à-dire peinte sur une toile commerciale). Il faut toujours comprendre clairement pourquoi et pour qui nous fabriquons un produit. Parfois, des projets avec une conception bien fondée, mais sans prototype, remportent des prix, et ce n'est pas surprenant. Malheureusement, de nombreux participants ne peuvent ignorer l'amertume de la défaite et attribuer leurs échecs à la myopie des organisateurs, qui continuent de couper des modèles à des inconnus lors des prochains hackathons.
  • Un indicateur que vous pouvez fabriquer ce produit (application, code, description des pipelines).

Il arrive qu’une équipe arrive à un hackathon avec une solution toute faite et essaie de « l’adapter » aux instructions des organisateurs. Ces équipes sont coupées lors des contrôles techniques ou seule la partie qu'elles ont effectuée sur le site est « comptée ». Je n'ai pas vu de telles équipes comme gagnantes, mais je pense qu'il est toujours rentable pour elles de jouer en raison de la valeur future (contacts, ensembles de données, etc.).

Existe-t-il des exemples de mise en production/démarrage d'artisanat mis en œuvre lors de hackathons ?
Oui. J'ai eu trois cas où ils l'ont mis en production. Une fois moi-même, deux fois - avec les mains de quelqu'un d'autre, sur la base de mes idées et du code que j'ai écrit lors du hackathon. Je connais également quelques équipes qui ont continué à coopérer avec l'entreprise en tant que consultants. Je ne connais pas les résultats finaux, mais il est fort probable que quelque chose ait été accompli. Je n’ai pas moi-même organisé de startups et je ne sais pas si quelqu’un l’a fait, même si je suis sûr qu’il existe des exemples.

Après avoir participé à de nombreux hackathons, quels conseils vous donneriez-vous si vous pouviez remonter le temps ?

  1. Les tactiques sont plus importantes que les manœuvres. Considérez chaque solution comme un produit fini. Une idée, un ordinateur portable Jupiter, un algorithme ne valent rien si l’on ne sait pas clairement qui va payer pour cela.
  2. Avant de concevoir quoi que ce soit, répondez à la question non pas « quoi ? », mais « pourquoi ? » Et comment?". Exemple : lors de la conception d'une solution ML, pensez d'abord à l'algorithme idéal : que reçoit-il en entrée, comment ses prédictions sont-elles utilisées à l'avenir ?
  3. Faites partie d'une équipe.

De quoi se nourrissent-ils habituellement lors des hackathons ?
Habituellement, la nourriture lors des hackathons est médiocre : pizza, boissons énergisantes, sodas. Presque toujours, la nourriture est organisée sous forme de buffet (ou de table de service) auquel il y a une énorme file d'attente. Ils ne fournissent généralement pas de nourriture le soir, même s'il y a eu un cas lors d'un concours à Paris où de la nourriture était laissée pendant la nuit - chips, beignets et cola. J'imaginerai la réflexion des organisateurs : « Alors, qu'est-ce que les programmeurs mangent là-bas ? Ah exactement ! Des chips, des beignets, c'est tout. Donnons-leur ces déchets. Le lendemain, j'ai demandé aux organisateurs : « Les gars, est-ce que c'est possible de faire quelque chose de différent pour la soirée ? Eh bien, peut-être du porridge ? Après cela, ils m'ont regardé comme si j'étais un idiot. Célèbre hospitalité française.

Lors des bons hackathons, la nourriture est commandée dans des boîtes et divisée en repas réguliers, végétariens et casher. De plus, ils ont mis un réfrigérateur avec des yaourts et du muesli - pour ceux qui veulent prendre une collation. Thé, café, eau - standard. Je me souviens du hackathon Hack Moscou 2 - ils m'ont copieusement nourri du bortsch et des côtelettes avec de la purée de pommes de terre à la cantine du bureau 1C.

La santé mentale des hackathons dépend, pour ainsi dire, de la sphère professionnelle des organisateurs (par exemple, les meilleurs hackathons sont menés par des consultants) ?
Les meilleurs hackathons provenaient d'organisateurs qui avaient déjà organisé des hackathons ou y avaient déjà participé. C'est peut-être le seul facteur dont dépend la qualité de l'événement.

Comment comprendre que vous n’êtes pas un noob et qu’il est temps de faire un hackathon ?
Le meilleur moment pour participer à un hackathon est il y a un an. Le deuxième meilleur moment est maintenant. Alors allez-y, faites des erreurs, apprenez, ce n'est pas grave. Même un réseau neuronal - la plus grande invention de l'homme depuis la roue et l'augmentation de la pente au-dessus des arbres - ne peut pas distinguer un chat d'un chien dès la première période d'entraînement.

Quels « drapeaux rouges » indiquent immédiatement que l'événement ne sera pas très bon et qu'il n'est pas nécessaire de perdre du temps ?

  • Une description claire de ce qui doit être fait (pertinent pour les hackathons de produits). Si lors de l'inscription on vous confie une tâche claire, alors il vaut mieux rester à la maison. Dans ma mémoire, il n’y a pas eu un seul bon hackathon avec des spécifications techniques. À titre de comparaison : d'accord, faites-nous quelque chose en rapport avec l'analyse des conversations audio. Mauvais - créez-nous une application capable de diviser une conversation en deux pistes audio distinctes pour chaque personne.
  • Petit fonds de prix. Si on vous demande de créer « Tinder pour une boutique en ligne avec IA » et que le prix pour la première place est de 500 euros et une équipe minimale de 5 personnes, cela ne vaut probablement pas la peine de perdre votre temps (oui, c'est un véritable hackathon qui a été tenue à Munich).
  • Manque de données (pertinent pour les hackathons de science des données). Les organisateurs fournissent généralement des informations de base sur l’événement et parfois un exemple de jeu de données. S’ils ne vous l’ont pas fourni, demandez, cela ne vous coûtera rien. Si dans un délai de 2-3, il n'est pas clair quelles données seront fournies et si elles seront fournies du tout, il s'agit d'un signal d'alarme.
  • Nouveaux organisateurs. Ne soyez pas paresseux et recherchez des informations sur Google sur les organisateurs du hackathon. S’ils organisent un événement de ce type pour la première fois, il y a de fortes chances que quelque chose se passe mal. En revanche, si l’organisateur et les membres du jury ont déjà organisé des hackathons ou y ont participé activement dans le passé, c’est un signal d’alarme vert.

Lors d'un hackathon, ils m'ont dit : « Vous avez eu la meilleure solution en peu de temps, mais désolé, nous évaluons le travail d'équipe et vous avez travaillé seul. Maintenant, si vous emmenez un étudiant ou une fille dans votre équipe… ? Avez-vous déjà été confronté à une telle injustice ? Comment avez-vous fait face ?
Oui, je l'ai rencontré plus d'une fois. Je suis stoïque face à tout ce qui arrive : j’ai fait tout ce qui était en mon pouvoir, si ça ne marche pas, qu’il en soit ainsi.

Pourquoi fais-tu tout ça ?
Tout cela est juste par ennui.

Source: habr.com

Ajouter un commentaire