Pourquoi devriez-vous participer à des hackathons

Pourquoi devriez-vous participer à des hackathons

Il y a environ un an et demi, j'ai commencé à participer à des hackathons. Au cours de cette période, j'ai réussi à participer à plus de 20 événements de différentes tailles et thèmes à Moscou, Helsinki, Berlin, Munich, Amsterdam, Zurich et Paris. Dans toutes les activités, j'ai été impliqué dans l'analyse des données sous une forme ou une autre. J'aime venir dans de nouvelles villes, nouer de nouveaux contacts, proposer de nouvelles idées, mettre en œuvre d'anciennes idées en peu de temps et la montée d'adrénaline lors de la représentation et de l'annonce des résultats.

Cet article est le premier des trois articles sur le thème des hackathons, dans lesquels je vais vous expliquer ce que sont les hackathons et pourquoi vous devriez commencer à participer à des hackathons. Le deuxième article portera sur le côté obscur de ces événements - sur la façon dont les organisateurs ont commis des erreurs pendant l'événement et à quoi elles ont conduit. Le troisième article sera consacré aux réponses aux questions sur des sujets liés au hackathon.

Qu'est-ce qu'un hackathon ?

Un hackathon est un événement se déroulant sur plusieurs jours et dont le but est de résoudre un problème. Lors d'un hackathon, il y a généralement plusieurs problèmes, chacun étant présenté comme une piste distincte. L'entreprise sponsor fournit une description de la tâche, des mesures de réussite (les mesures peuvent être subjectives comme « nouveauté et créativité », ou elles peuvent être objectives - précision de la classification sur un ensemble de données différées) et des ressources pour réussir (API de l'entreprise, ensembles de données, matériel). . Les participants doivent formuler un problème, proposer une solution et présenter un prototype de leur produit dans le temps imparti. Les meilleures solutions reçoivent des prix de l'entreprise et la possibilité de poursuivre la coopération.

Étapes du hackathon

Une fois les tâches annoncées, les participants du hackathon se regroupent en équipes : chaque « solitaire » reçoit un microphone et parle de la tâche choisie, de son expérience, de l'idée et du type de spécialistes dont il a besoin pour la mise en œuvre. Parfois, une équipe peut être composée d'une seule personne capable de réaliser tout le travail sur le projet de manière indépendante à un niveau assez élevé. Ceci est pertinent pour les hackathons sur l'analyse des données, mais est souvent interdit ou indésirable pour les événements de produits - les organisateurs visent à poursuivre le travail sur le projet, mais déjà dans l'entreprise ; l'équipe constituée présente un certain nombre d'avantages par rapport aux participants qui souhaitaient créer le produit seuls. L'équipe optimale est généralement composée de 4 personnes et comprend : un front-end, un back-end, un data scientist et un homme d'affaires. À propos, la division entre la science des données et les hackathons de produits est assez simple - s'il existe un ensemble de données avec des métriques claires et un classement, ou si vous pouvez gagner avec du code dans le notebook Jupyter - il s'agit d'un hackathon de science des données ; tout le reste - où vous devez créer une application, un site Web ou quelque chose de collant - l'épicerie.

En règle générale, le travail sur un projet commence à 9 heures le vendredi et la date limite est à 10 heures le dimanche. Une partie de ce temps doit être consacrée à dormir (rester éveillé et coder est une recette pour l'échec, j'ai vérifié), ce qui signifie que les participants n'ont pas beaucoup de temps pour produire quoi que ce soit de qualité. Pour aider les participants, des représentants d'entreprises et des mentors sont présents sur le site.

Le travail sur un projet commence par la communication avec les représentants de l'entreprise, car ils comprennent mieux les spécificités de la tâche, les mesures et, très probablement, ils jugeront votre travail à la fin. Le but de cette communication est de comprendre quels domaines sont les plus pertinents et sur lesquels vous devez concentrer votre attention et votre temps.

Lors d'un hackathon, la tâche consistait à effectuer une régression sur un ensemble de données avec des données et des images tabulaires et une métrique claire - RMSE. Après avoir parlé avec le data scientist de l'entreprise, j'ai réalisé qu'ils n'avaient pas besoin de régression, mais de classification, mais un membre de la direction a simplement décidé qu'il était préférable de résoudre le problème de cette façon. Et ils ont besoin d'une classification non pas pour obtenir une augmentation des mesures monétaires, mais pour comprendre quels paramètres sont les plus importants lors de la prise de décision, puis les traiter manuellement. Autrement dit, le problème initial (régression avec RMSE) est remplacé par une classification ; La priorité de l'évaluation passe de la précision obtenue à la capacité d'expliquer le résultat. Cela élimine à son tour la possibilité d’utiliser des algorithmes d’empilement et de boîte noire. Ce dialogue m'a fait gagner beaucoup de temps et a augmenté mes chances de gagner.

Une fois que vous avez compris ce que vous devez faire, le travail proprement dit sur le projet commence. Vous devez définir des points de contrôle - l'heure à laquelle les tâches assignées doivent être terminées ; En cours de route, c'est une bonne idée de continuer à communiquer avec des mentors - représentants de l'entreprise et spécialistes techniques - cela est utile pour ajuster le parcours de votre projet. Un regard neuf sur un problème peut suggérer une solution intéressante.

Étant donné qu'un grand nombre de débutants participent aux hackathons, il est de bonne pratique de la part des organisateurs d'organiser des conférences et des master classes. Il y a généralement trois conférences - sur la façon de présenter votre idée en tant que produit, une conférence sur des sujets techniques (par exemple, sur l'utilisation d'API ouvertes dans l'apprentissage automatique, afin que vous n'ayez pas à rédiger votre discours en deux jours, mais utilisez-en un tout fait), une conférence sur le pitch (comment présenter votre produit, comment bien agiter les bras sur scène pour que le public ne s'ennuie pas). Diverses activités sont proposées pour revigorer les participants : séance de yoga, baby-foot et tennis, ou encore jeu sur console.

Le dimanche matin, vous devez présenter les résultats de votre travail au jury. Dans les bons hackathons, tout commence par l'expertise technique : ce que vous prétendez fonctionne-t-il vraiment ? Le but de ce contrôle est d'éliminer les équipes avec une belle présentation et des mots à la mode, mais sans produit, des gars qui ont réellement fait quelque chose. Malheureusement, l'expertise technique n'est pas présente dans tous les hackathons, et il arrive parfois qu'une équipe avec 12 diapositives et l'état d'esprit "... la blockchain, l'informatique quantique, puis l'IA le termineront..." remporte la première place. De tels précédents ne sont pas si courants, mais comme ils sont les plus mémorables, beaucoup de gens pensent qu'une bonne présentation représente 99 % de la victoire dans un hackathon. La présentation, d'ailleurs, est vraiment importante, mais sa contribution ne dépasse pas 30 %.

Après les performances des participants, le jury décide de récompenser les gagnants. Ceci conclut la partie officielle du hackathon.

Motivation pour participer à des hackathons

Опыт

En termes d’expérience acquise, le hackathon est un événement unique. Il n'y a pas beaucoup d'endroits dans la nature où vous pouvez mettre en œuvre une idée à partir de rien en 2 jours et obtenir un retour instantané sur votre travail. Pendant le hackathon, la pensée critique, les compétences de travail en équipe, la gestion du temps, la capacité de travailler dans une situation stressante, la capacité de présenter les résultats de votre travail sous une forme compréhensible, les compétences de présentation et bien d'autres sont améliorées. C’est pourquoi les hackathons sont un lieu idéal pour les personnes possédant des connaissances théoriques et souhaitant acquérir une expérience du monde réel.

Prix

En règle générale, le fonds du prix du hackathon est d'environ 1.5 10 à 100 300 euros pour la première place (en Russie - XNUMX à XNUMX XNUMX roubles). Le bénéfice attendu (valeur attendue, EV) de la participation peut être calculé à l'aide d'une formule simple :

EV = Prize * WinRate + Future_Value - Costs

Prix — le montant du prix (pour simplifier, nous supposerons qu'il n'y a qu'un seul prix) ;
Taux de réussite — probabilité de gagner (pour une équipe débutante cette valeur sera limitée à 10 %, pour une équipe plus expérimentée - 50 % et plus ; j'ai rencontré des gens qui repartaient de chaque hackathon avec un prix, mais c'est plutôt une exception à la règle et sur le long terme, leur taux de réussite sera inférieur de 100 % );
Valeur future - une valeur qui montre le profit futur de la participation à un hackathon : il peut s'agir du profit de l'expérience acquise, des connexions établies, des informations reçues, etc. Cette valeur est presque impossible à déterminer avec précision, mais il faut s'en souvenir ;
Costs — les frais de transport, d'hébergement, etc.

La décision de participer est prise sur la base d'une comparaison de l'EV du hackathon avec l'EV de l'activité que vous aimeriez faire s'il n'y avait pas de hackathon : si vous vouliez vous allonger sur le canapé le week-end et vous curer le nez, alors vous devriez probablement participer au hackathon ; si vous passez du temps avec vos parents ou votre petite amie, emmenez-les dans une équipe pour un hackathon (je plaisante, décidez par vous-même), si vous êtes indépendant, comparez le dollar-heure.

D'après mes calculs, je peux dire qu'en Russie, pour le data scientist moyen de niveau junior-intermédiaire, la participation à des hackathons est proportionnelle au bénéfice monétaire d'une journée de travail normale, mais il y a aussi des nuances (taille de l'équipe, type hackathon, cagnotte, etc.). En général, les hackathons ne sont pas une aubaine pour le moment, mais ils peuvent donner un bon coup de pouce à votre budget personnel.

Recrutement et réseautage en entreprise

Pour une entreprise, un hackathon est l’un des moyens d’embaucher de nouveaux collaborateurs. Il vous sera beaucoup plus facile de montrer que vous êtes une personne adéquate et que vous savez travailler lors d'un hackathon que lors d'un entretien, en faisant tournoyer un arbre binaire au tableau (qui d'ailleurs ne correspond pas toujours à ce que vous voulez faire dans un vrai métier de data scientist, mais les traditions doivent être respectées). Un tel test en conditions de « combat » peut remplacer une journée de test.

J'ai obtenu mon premier emploi grâce à un hackathon. Lors du hackathon, j'ai montré qu'il était possible de tirer davantage d'argent des données et j'ai expliqué comment j'allais procéder. J'ai lancé un projet lors d'un hackathon, je l'ai gagné, puis j'ai poursuivi le projet avec l'entreprise sponsor. C'était le quatrième hackathon de ma vie.

Possibilité d'obtenir un ensemble de données unique

C’est un point très pertinent pour les hackathons de science des données, dont tout le monde ne comprend pas l’importance. En règle générale, les sociétés sponsors fournissent de véritables ensembles de données pendant l’événement. Ces données sont privées, elles sont sous NDA, ce qui ne nous empêche pas de vous montrer la preuve de concept sur un jeu de données réel, et non sur un jouet Titanic. À l'avenir, ces résultats seront grandement utiles pour postuler à un emploi dans cette entreprise ou une entreprise concurrente, ou pour justifier des projets similaires. Convenez que, toutes choses égales par ailleurs, il vaut mieux avoir réalisé des projets qui ont été évalués positivement que de ne pas les avoir. En général, ces projets réalisés jouent un rôle similaire à celui des médailles et des statuts, mais pour l'industrie, leur valeur est plus évidente.

Conseils

En général, travailler sur un hackathon est une expérience assez diversifiée et il est difficile de formuler une liste de règles. Cependant, je voudrais ici donner une liste d'observations qui peuvent aider un débutant :

  1. N'ayez pas peur d'aller à des hackathons même si vous n'avez pas d'expérience ou d'équipe. Pensez à la façon dont vous pourriez être utile. Par exemple, peut-être avez-vous une idée intéressante ou connaissez-vous bien un domaine ? Vous pouvez utiliser vos connaissances du domaine lors de la formulation d'un problème et trouver des solutions non triviales. Ou peut-être êtes-vous le meilleur chez Google ? Votre compétence vous fera gagner beaucoup de temps si vous pouvez trouver des implémentations prêtes à l'emploi dans Github. Ou êtes-vous très doué pour régler les paramètres de lightgbm ? Dans ce cas, n’allez pas au hackathon, mais prouvez-le lors du concours kagla.
  2. Les tactiques sont plus importantes que les manœuvres. Votre objectif au hackathon est de résoudre un problème. Parfois, pour résoudre un problème, il faut l’identifier. Vérifiez que votre problème identifié est réellement pertinent pour l’entreprise. Comparez votre solution au problème, demandez-vous si votre solution est optimale. Lors de l’évaluation de votre solution, ils examineront d’abord la pertinence du problème et l’adéquation de la solution proposée. Peu de gens s’intéressent à l’architecture de votre réseau neuronal ou au nombre de mains que vous avez reçues.
  3. Participez à autant de hackathons que possible, mais n'hésitez pas à vous éloigner des événements mal organisés.
  4. Ajoutez les résultats de votre travail au hackathon à votre CV et n'hésitez pas à en parler publiquement.

Pourquoi devriez-vous participer à des hackathons
L'essence des hackathons. Brièvement

Source: habr.com

Ajouter un commentaire