Pourquoi vous devriez participer aux 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 tous les cas, j'étais engagé dans l'analyse des données sous une forme ou une autre. J'aime venir dans de nouvelles villes pour moi-même, nouer de nouveaux contacts, trouver de nouvelles idées, réaliser de vieilles idées en peu de temps et de l'adrénaline lors de la représentation et de l'annonce des résultats.

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

Qu'est-ce qu'un hackathon?


Le hackathon est un événement qui se déroule sur plusieurs jours et dont le but est de résoudre un problème. Habituellement, il y a plusieurs problèmes sur le hackathon, chacun représenté comme une piste distincte. L'entreprise commanditaire fournit une description de la tâche, des mesures de réussite (les mesures peuvent être subjectives, telles que «nouveauté et créativité», ou objectives, précision de la classification sur un ensemble de données retardé) et des ressources pour réussir (API de l'entreprise, ensembles de données, matériel). Les participants dans le temps imparti doivent formuler un problème, proposer une solution et montrer un prototype de leur produit. Les meilleures solutions reçoivent des prix de l'entreprise et la possibilité d'une coopération plus poussée.

Étapes du hackathon


Après l'annonce des tâches, les participants au hackathon se joignent aux équipes: chaque «solitaire» reçoit un microphone et parle de la tâche sélectionnée, de son expérience, de son idée et des spécialistes du type de plan à mettre en œuvre. Parfois, une équipe peut être composée d'une seule personne qui est en mesure de réaliser elle-même tous les travaux d'un projet à un niveau assez élevé. Ceci est pertinent pour les hackathons d'analyse de données, mais il est souvent interdit ou indésirable pour les événements d'épicerie - les organisateurs visent à poursuivre la poursuite des travaux sur le projet, mais déjà dans l'entreprise; l'équipe formée présente un certain nombre d'avantages par rapport aux participants qui souhaitaient créer le produit seul. L'équipe optimale se compose généralement de 4 personnes et comprend: frontend, backend, date du scientifique et homme d'affaires. Soit dit en passant, la séparation des données / hackathons alimentaires est assez simple - si vous avez un ensemble de données avec une métrique claire et un classement, ou si vous pouvez gagner avec un code dans le cahier jupyter, il s'agit d'un hackathon de données; tout le reste - où vous voulez faire une application, un site Web ou quelque chose de collant - l'épicerie.

En règle générale, le début des travaux sur un projet commence à 21 heures le vendredi et la date limite - 10 heures le dimanche. Une partie de ce temps devrait être mise en sommeil (pas pour dormir et pour coder - c'est le moyen sûr d'échouer, j'ai vérifié), ce qui signifie que les participants n'ont pas beaucoup de temps pour faire quelque chose de haute qualité. Pour aider les participants, des représentants d'entreprises et des mentors sont présents sur le site.

Le travail sur le 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 sont les domaines les plus pertinents et ce qu'il vaut la peine de concentrer votre attention sur le moment.

Lors d'un hackathon, la tâche de régression a été définie sur un ensemble de données avec des données tabulaires et des images et une métrique claire - RMSE. Après avoir parlé avec le centre de données de l'entreprise, j'ai réalisé qu'ils n'avaient pas besoin de régression, mais de classification, mais seul un membre de la direction a décidé que le problème était mieux résolu de cette façon. Et ils n'ont pas besoin de classification pour obtenir une augmentation des paramètres monétaires, mais pour comprendre quels paramètres sont les plus importants lors de la prise de décision, puis les traiter manuellement. C'est-à-dire que la tâche initiale (régression avec RMSE) change de classification; la priorité de l'évaluation passe de la précision obtenue à la possibilité d'expliquer le résultat. Cela élimine à son tour la possibilité d'utiliser des algorithmes d'empilement et de boîte noire. Un tel dialogue m'a fait gagner beaucoup de temps et a augmenté mes chances de gagner.

Une fois que vous comprenez ce que vous devez faire, le travail direct sur le projet commence. Vous devez définir un check-pony - le temps nécessaire pour terminer les tâches; en cours de route, il est agréable de continuer à communiquer avec les mentors - représentants de l'entreprise et experts techniques - cela est utile pour ajuster l'itinéraire de votre projet. Un nouveau regard sur le problème peut suggérer une solution intéressante.

Étant donné qu'un grand nombre de débutants participent à des hackathons, les organisateurs ont un bon ton pour diriger des conférences et des master classes. Habituellement, il y a 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 à écrire votre discours2 texte en deux jours, mais en utiliser une toute prête), une conférence sur le pitch (comment présenter votre produit, comment agiter correctement les bras sur scène pour que les auditeurs ne s'ennuient pas). Il existe diverses activités pour égayer les participants - une séance de yoga, un baby-foot et un tennis, ou jouer dans la console.

Le dimanche matin, vous devez fournir les résultats de votre travail au jury. Dans les bons hackathons, tout commence par une expertise technique - ce que vous prétendez fonctionne-t-il vraiment? Le but de ce test est d'éliminer les équipes avec une belle présentation et des mots à la mode, mais sans un produit de gars qui ont vraiment fait quelque chose. Malheureusement, l'expertise technique n'est pas présente dans tous les hackathons et il y a des cas où une équipe avec 12 diapositives et un état d'esprit «... la blockchain, l'informatique quantique, puis l'IA le compléteront ...» remporte la première place. De tels précédents ne sont pas si fréquents, mais comme on s'en souvient le mieux, beaucoup de gens pensent qu'une bonne présentation est une victoire à 99% dans le hackathon. La présentation, soit dit en passant, est vraiment importante, mais sa contribution ne dépasse pas 30%.

Après la représentation des participants, le jury décide d'attribuer les lauréats. Ceci termine la partie officielle du hackathon.

Motivation à participer à des hackathons


L'expérience


En termes d'expérience acquise, un hackathon est un événement unique. Dans la nature, il n'y a pas beaucoup d'endroits où vous pouvez réaliser l'idée à partir de rien en 2 jours et obtenir un retour instantané sur votre travail. Pendant le hackathon, la pensée critique, le travail d'équipe, la gestion du temps, la capacité de travailler dans une situation stressante, la capacité de présenter les résultats de leur travail d'une manière compréhensible, l'habileté des présentations et bien d'autres sont pompées. C'est pourquoi les hackathons sont un endroit idéal pour les personnes ayant des connaissances théoriques qui souhaitent acquérir une véritable expérience.

Prix


En règle générale, la cagnotte du hackathon est d'environ 1,5k - 10k euros pour la première place (en Russie - 100-300 mille 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 

où le prix est la taille du prix (pour simplifier, nous supposons qu'il n'y a qu'un seul prix);
WinRate - probabilité de victoire (pour une équipe novice, cette valeur sera limitée à 10% au-dessus, pour une équipe plus expérimentée - 50% et plus; j'ai rencontré des personnes qui ont quitté chaque hackathon avec un prix, mais c'est probablement une exception à la règle et leur taux de victoire sera une longue distance inférieur à 100%);
Future_Value - une valeur qui montre le profit futur de la participation au hackathon: il peut s'agir du profit de l'expérience acquise, des relations établies, des informations reçues, etc. Cette valeur est presque impossible à déterminer exactement, mais elle doit être rappelée;
Coûts - les frais de transport, d'hébergement, etc.

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

Selon mes calculs, je peux dire qu'en Russie pour un datacenter moyen junior moyen, participer à des hackathons est comparable à gagner de l'argent à partir d'une journée de travail normale, mais il y a aussi des nuances (taille de l'équipe, comme un hackathon, un prize pool, etc.). En général, les hackathons en ce moment ne sont pas une aubaine, mais ils peuvent donner une belle impulsion à votre budget personnel.

Embauche d'entreprise et réseautage


Pour une entreprise, un hackathon est un moyen 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 dans un hackathon que lors d'une interview, en faisant tournoyer un arbre binaire sur une planche (ce qui, en passant, ne correspond pas toujours à ce que vous ferez sur un vrai travail de datacenter, mais les traditions doivent être respectées). Un tel test dans des conditions de «combat» peut remplacer une journée de test.

J'ai obtenu mon premier emploi grâce au hackathon. Lors du hackathon, j'ai montré que plus d'argent pouvait être retiré des données, j'ai expliqué comment je vais le faire. J'ai commencé le projet lors du hackathon, je l'ai gagné, puis j'ai poursuivi le projet déjà dans l'entreprise sponsor. C'était le quatrième hackathon de ma vie.

La possibilité d'obtenir un ensemble de données unique


C'est un élément très pertinent pour la date des Hackathons, dont tout le monde ne comprend pas l'importance. Habituellement, les entreprises sponsors fournissent de vrais ensembles de données pendant l'événement. Ces données sont privées, elles sont sous la NDA, qui ne cesse de vous montrer une preuve de concept sur un vrai jeu de données, et non sur un jouet titanesque. À l'avenir, ces résultats aideront grandement à trouver un emploi dans cette entreprise ou une entreprise concurrente ou à justifier des projets similaires. Convenez que, toutes choses égales par ailleurs, avoir terminé des projets qui sont évalués positivement vaut mieux que de ne pas les avoir. En général, ces projets mis en œuvre jouent un rôle similaire avec des médailles et des statuts sur la toux, mais pour l'industrie, leur valeur est plus évidente.

Astuces


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

  1. N'ayez pas peur d'aller aux hackathons même si vous n'avez pas d'expérience ou d'équipe. Pensez à ce que vous pourriez être utile. Par exemple, vous pourriez avoir une idée intéressante ou êtes-vous bon dans n'importe quel domaine? Vous pouvez utiliser vos connaissances de domaine pour formuler le problème et trouver des solutions non triviales. Ou peut-être êtes-vous le mieux placé pour google? Votre compétence vous fera gagner beaucoup de temps si vous pouvez trouver des implémentations prêtes à l'emploi dans le github. Ou êtes-vous très bon pour régler les paramètres lightgbm? Dans ce cas, n'allez pas au hackathon, mais prouvez-le dans les compétitions de kagla.
  2. Les tactiques sont plus importantes que les manœuvres. Votre tâche au hackathon est de résoudre le problème. Parfois, pour résoudre un problème, il doit être identifié. Vérifiez que votre problème identifié est vraiment pertinent pour l'entreprise. Vérifiez votre décision quant à la conformité au problème, posez-vous une question sur l'optimalité de votre solution. Lors de l'évaluation de votre solution, ils examineront tout d'abord la pertinence du problème et l'adéquation de la solution proposée. L'architecture de votre réseau de neurones, ou le nombre de mains que vous avez reçues, intéresse peu de monde.
  3. Assistez à autant de hackathons que possible, mais n'hésitez pas à laisser des événements mal organisés.
  4. Ajoutez les résultats de votre travail sur le hackathon à votre CV et n'ayez pas peur d'écrire publiquement à ce sujet.


L'essence des hackathons. Brièvement

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


All Articles