
Vor etwa eineinhalb Jahren habe ich begonnen, an Hackathons teilzunehmen. In dieser Zeit habe ich an über 20 Veranstaltungen unterschiedlicher Größen und Themen in Moskau, Helsinki, Berlin, München, Amsterdam, Zürich und Paris teilgenommen. In allen diesen Veranstaltungen habe ich mich auf verschiedene Arten mit Datenanalyse beschäftigt. Es gefällt mir, in neue Städte zu reisen, neue Kontakte zu knüpfen, frische Ideen zu entwickeln, alte Konzepte in kurzer Zeit umzusetzen und den Adrenalinkick während der Präsentationen und der Bekanntgabe der Ergebnisse zu erleben.
Dieser Beitrag ist der erste von drei Beiträgen über Hackathons. Darin werde ich erklären, was Hackathons sind und warum Sie beginnen sollten, an ihnen teilzunehmen. Der zweite Beitrag wird sich mit der Schattenseite dieser Veranstaltungen befassen – darüber, wie die Organisatoren Fehler gemacht haben und welche Konsequenzen das hatte. Der dritte Beitrag wird Antworten auf Fragen rund um das Thema Hackathons geben.
Was ist ein Hackathon?
Ein Hackathon ist eine Veranstaltung, die über mehrere Tage stattfindet und zum Ziel hat, ein spezifisches Problem zu lösen. In der Regel gibt es mehrere Herausforderungen, die jeweils in Form eines eigenen Tracks präsentiert werden. Das sponsoring Unternehmen stellt eine Beschreibung der Aufgaben, Erfolgsmetriken (diese können subjektiv, wie "Neuheit und Kreativität", oder objektiv, wie die Genauigkeit der Klassifikation auf einem Testdatensatz, sein) und Ressourcen zur Verfügung, um den Teilnehmern zu helfen (API des Unternehmens, Datensätze, Hardware). Die Teilnehmer müssen innerhalb des vorgegebenen Zeitrahmens das Problem formulieren, eine Lösung vorschlagen und einen Prototyp ihres Produkts präsentieren. Die besten Lösungen erhalten Auszeichnungen vom Unternehmen und die Möglichkeit zur weiteren Zusammenarbeit.
Phasen des Hackathons
Nach der Bekanntgabe der Aufgaben schließen sich die Teilnehmer des Hackathons zu Teams zusammen: Jeder "Einzelkämpfer" erhält ein Mikrofon und spricht über die gewählte Herausforderung, seine Erfahrungen, Ideen und welche Spezialisten er für die Umsetzung benötigt. Manchmal kann ein Team aus nur einer Person bestehen, die in der Lage ist, die gesamte Projektarbeit selbst auf einem ausreichend hohen Niveau zu erledigen. Dies ist oft bei Hackathons im Bereich Data Science der Fall, wird jedoch häufig für Produktveranstaltungen ausgeschlossen oder unerwünscht — die Organisatoren möchten die Weiterentwicklung des Projekts innerhalb eines Unternehmens sicherstellen; ein gebildetes Team hat gegenüber Teilnehmern, die einen Produktansatz alleine verfolgen, mehrere Vorteile. Ein optimales Team besteht in der Regel aus 4 Personen und beinhaltet: Frontend, Backend, Data Scientist und eine geschäftliche Fachkraft. Übrigens ist die Unterscheidung zwischen Data-Science- und Produkt-Hackathons recht einfach — wenn es einen Datensatz mit klaren Metriken und einem Leaderboard gibt oder man mit Code in einem Jupyter Notebook gewinnen kann, handelt es sich um einen Data-Science-Hackathon; alles andere, wo eine Anwendung, eine Website oder etwas Ansprechendes erstellt werden muss, ist ein Produkt-Hackathon.
In der Regel beginnt die Arbeit an einem Projekt am Freitagabend um 21 Uhr, und die Frist endet am Sonntagmorgen um 10 Uhr. Ein Teil dieser Zeit muss für Schlaf eingeplant werden (durchzumachen und zu programmieren ist ein sicherer Weg zum Scheitern, das habe ich erlebt), was bedeutet, dass die Teilnehmer nicht viel Zeit haben, um etwas Qualitatives zu schaffen. Um den Teilnehmern zu helfen, sind Unternehmensvertreter und Mentoren vor Ort.
Die Arbeit am Projekt beginnt mit Gesprächen mit den Unternehmensvertretern, da sie die Spezifika der Aufgabe, die Metriken und voraussichtlich die Kriterien für die Bewertung Ihrer Arbeiten am Ende besser verstehen. Ziel dieser Kommunikation ist es, herauszufinden, welche Bereiche besonders relevant sind und worauf Sie Ihre Aufmerksamkeit und Zeit konzentrieren sollten.
Auf einem Hackathon wurde die Aufgabe gestellt, eine Regression auf einem Datensatz mit tabellarischen Daten und Bildern unter Verwendung der Metrik RMSE durchzuführen. Nachdem ich mit dem Data Scientist des Unternehmens gesprochen hatte, wurde mir klar, dass sie keine Regression, sondern eine Klassifizierung benötigen. Irgendjemand aus dem Management hatte entschieden, dass die Aufgabe am besten auf diese Weise gelöst werden sollte. Die Klassifizierung ist jedoch nicht dazu gedacht, einen Anstieg der finanziellen Kennzahlen zu erzielen, sondern um herauszufinden, welche Parameter bei der Entscheidungsfindung am wichtigsten sind, um sie anschließend manuell zu verarbeiten. Das bedeutet, dass die ursprüngliche Aufgabe (Regression mit RMSE) in eine Klassifizierung geändert wird; der Bewertungsfokus verschiebt sich von der erreichten Genauigkeit zur Möglichkeit, das Ergebnis zu erklären. Dies schließt die Verwendung von Stacking und Black-Box-Algorithmen aus. Ein solcher Dialog hat mir viel Zeit gespart und meine Gewinnchancen erhöht.
Sobald Sie verstanden haben, was zu tun ist, beginnt die tatsächliche Projektarbeit. Sie sollten Meilensteine festlegen – Zeitpunkte, bis zu denen bestimmte Aufgaben erledigt sein müssen; es ist auch hilfreich, weiterhin mit Mentoren – vertretenden Mitarbeitern des Unternehmens und technischen Fachleuten – zu kommunizieren. Ein frischer Blick auf das Problem kann interessante Lösungen aufzeigen.
Da bei Hackathons viele Neulinge teilnehmen, ist es von den Organisatoren aus gutem Stil, Vorträge und Workshops abzuhalten. Normalerweise gibt es drei Vorträge – einen darüber, wie man seine Idee als Produkt präsentiert, einen technischen Vortrag (zum Beispiel über die Nutzung von offenen APIs im maschinellen Lernen, sodass Sie nicht innerhalb von zwei Tagen Ihr eigenes Speech-to-Text-System entwickeln müssen, sondern auf bestehende Lösungen zurückgreifen können), und einen Vortrag über das Pitching (wie man sein Produkt präsentiert und wie man richtig gestikuliert, damit das Publikum nicht gelangweilt ist). Es gibt verschiedene Aktivitäten, um die Teilnehmer aufzuwecken – eine Yoga-Session, Tischfußball und Tennis oder ein Konsolenspiel.
Am Sonntagmorgen müssen Sie die Ergebnisse Ihrer Arbeit der Jury präsentieren. Bei guten Hackathons beginnt alles mit technischer Expertise – funktioniert das, was Sie behaupten, wirklich? Ziel dieser Überprüfung ist es, Teams mit ansprechenden Präsentationen und Schlagwörtern von denjenigen zu trennen, die tatsächlich etwas erreicht haben. Leider ist technische Expertise nicht auf allen Hackathons vorhanden, und es kommt vor, dass ein Team mit 12 Folien und der Denkweise „...Blockchain, Quantencomputing, und AI erledigt den Rest...” den ersten Platz gewinnt. Solche Fälle sind selten, aber da sie am besten im Gedächtnis bleiben, glauben viele, dass eine gute Präsentation 99 % des Erfolgs bei einem Hackathon ausmacht. Die Präsentation selbst ist in der Tat wichtig, aber ihr Anteil liegt nicht über 30%.
Nach den Präsentationen der Teilnehmer trifft die Jury eine Entscheidung über die Preisverleihung. Damit ist der offizielle Teil des Hackathons abgeschlossen.
Motivation zur Teilnahme an Hackathons
Erfahrung
Aus der Perspektive der Erfahrungen ist ein Hackathon eine einzigartige Veranstaltung. Es gibt nicht viele Orte, an denen man innerhalb von zwei Tagen eine Idee aus dem Nichts realisieren und zeitnahes Feedback zu seiner Arbeit erhalten kann. Während des Hackathons werden kritisches Denken, Teamarbeit, Zeitmanagement, das Arbeiten unter Stress, die Fähigkeit, die Ergebnisse verständlich zu präsentieren, sowie viele andere Fähigkeiten gefördert. Aus diesem Grund sind Hackathons ein großartiger Ort für Personen mit theoretischem Wissen, die praktische Erfahrungen sammeln möchten.
Preise
In der Regel liegt der Preisgeldtopf eines Hackathons bei etwa 1.500 bis 10.000 Euro für den ersten Platz (in Russland zwischen 100.000 und 300.000 Rubel). Den erwarteten Nutzen (Expected Value, EV) aus der Teilnahme kann man mit einer einfachen Formel berechnen:
EV = Preis * Gewinnquote + Zukünftiger_Wert - Kosten wobei Preis — Höhe des Preises (zur Vereinfachung gehen wir davon aus, dass es nur einen Preis gibt);
Gewinnquote — die Gewinnwahrscheinlichkeit (für ein unerfahrenes Team ist dieser Wert auf maximal 10 % beschränkt, für erfahrene Teams liegt er bei 50 % oder mehr; ich habe Menschen getroffen, die von jedem Hackathon mit einem Preis nach Hause gegangen sind, aber das ist eher die Ausnahme; auf lange Sicht wird ihre Gewinnquote unter 100 % liegen);
Future_Value — ein Wert, der den zukünftigen Gewinn aus der Teilnahme an einem Hackathon zeigt: das kann der Gewinn aus erworbenen Erfahrungen, geknüpften Kontakten, erhaltenen Informationen usw. sein. Es ist praktisch unmöglich, diesen Wert genau zu bestimmen, aber man sollte ihn im Hinterkopf behalten;
Costs — Kosten für Transport, Unterkunft, andere Ausgaben.
Die Entscheidung zur Teilnahme wird auf Grundlage des Vergleichs des EV des Hackathons mit dem EV der Aktivität getroffen, die Sie unternehmen würden, wenn der Hackathon nicht stattgefunden hätte: Wenn Sie am Wochenende auf dem Sofa liegen und sich langweilen wollten, dann ist es wahrscheinlich sinnvoll, am Hackathon teilzunehmen; wenn Sie Zeit mit Ihren Eltern oder Ihrer Freundin verbringen möchten — bringen Sie sie in Ihr Hackathon-Team (nur ein Scherz, entscheiden Sie selbst), wenn Sie freiberuflich arbeiten wollen — vergleichen Sie Dollar pro Stunde.
Nach meinen Berechnungen kann ich sagen, dass es für einen durchschnittlichen Data Scientist auf Junior- bis Mid-Level in Russland vergleichbar ist, an Hackathons teilzunehmen, wie an einem normalen Arbeitstag Geld zu verdienen, aber es gibt auch Nuancen (Teamgröße, Art des Hackathons, Preisgelder usw.). Insgesamt sind Hackathons derzeit kein Goldgruben, aber sie können eine angenehme Aufstockung des persönlichen Budgets bieten.
Einstellung in Unternehmen und Networking
Für Unternehmen ist ein Hackathon eine Möglichkeit, neue Mitarbeiter zu rekrutieren. Es wird Ihnen viel leichter fallen, zu zeigen, dass Sie eine fähige Person sind, die bei einem Hackathon arbeiten kann, als im Vorstellungsgespräch, während Sie einen Binärbaum an die Tafel zeichnen (was übrigens nicht immer dem entspricht, was Sie tatsächlich als Data Scientist machen werden, aber man muss den Traditionen Tribut zollen). Eine solche Überprüfung unter 'Kampf' Bedingungen kann einen Testtag ersetzen.
Ich habe meinen ersten Job dank eines Hackathons erhalten. Bei diesem Hackathon habe ich gezeigt, dass man aus Daten mehr Geld herausholen kann, und erklärt, wie ich beabsichtige, dies zu tun. Ich habe ein Projekt beim Hackathon gestartet, es gewonnen und dann das Projekt in dem Unternehmen, das gesponsert hat, fortgeführt. Es war der vierte Hackathon in meinem Leben.
Die Möglichkeit, einen einzigartigen Datensatz zu erhalten
Dies ist ein sehr wichtiger Punkt für Data Science Hackathons, dessen Bedeutung nicht allen bewusst ist. In der Regel stellen die Sponsorunternehmen während der Veranstaltung reale Datensätze zur Verfügung. Diese Daten sind privat und unterliegen einer Geheimhaltungsvereinbarung (NDA), was jedoch nicht daran hindert, Ihnen einen Proof of Concept mit einem realen Datensatz zu zeigen, anstelle eines Spielzeug-Datensatzes wie dem Titanic. Solche Ergebnisse können später bei der Jobsuche in diesem Unternehmen oder bei einem Wettbewerber von großem Nutzen sein, oder auch zur Begründung ähnlicher Projekte. Sie werden zustimmen, dass es bei gleichen Bedingungen vorteilhafter ist, abgeschlossene Projekte vorzuweisen, die positiv bewertet wurden, als keine solchen zu haben. Insgesamt spielen solche realisierten Projekte eine ähnliche Rolle wie Medaillen und Status auf Kaggle, jedoch ist ihr Wert für die Industrie offensichtlicher.
Tipps
Insgesamt ist die Arbeit an einem Hackathon eine recht vielschichtige Erfahrung und es ist schwierig, eine feste Liste von Regeln zu formulieren. Dennoch möchte ich hier eine Reihe von Beobachtungen anführen, die einem Neuling helfen können:
- Zögern Sie nicht, an Hackathons teilzunehmen, auch wenn Sie keine Erfahrung oder kein Team haben. Überlegen Sie, wie Sie nützlich sein könnten. Vielleicht haben Sie eine interessante Idee oder verfügen über Fachkenntnisse in einem bestimmten Bereich? Sie können Ihr Fachwissen nutzen, um Probleme zu formulieren und unkonventionelle Lösungen zu finden. Oder sind Sie vielleicht besonders gut im Recherchieren? Diese Fähigkeit kann Ihnen viel Zeit sparen, wenn Sie bereits existierende Lösungen auf GitHub finden. Oder sind Sie ein Experte in der Optimierung von LightGBM-Parametern? In diesem Fall sollten Sie nicht zu einem Hackathon gehen, sondern Ihre Fähigkeiten in Kaggle-Wettbewerben unter Beweis stellen.
- Taktik ist wichtiger als Manöver. Ihre Aufgabe beim Hackathon besteht darin, ein Problem zu lösen. Manchmal muss man das Problem zuerst identifizieren, um es zu lösen. Überprüfen Sie, ob das identifizierte Problem tatsächlich relevant für das Unternehmen ist. Prüfen Sie, ob Ihre Lösung dem Problem angemessen ist, und fragen Sie sich, ob Ihre Lösung optimal ist. Bei der Bewertung Ihrer Lösung wird in erster Linie auf die Relevanz des Problems und die Angemessenheit der vorgeschlagenen Lösung geachtet. Die Architektur Ihres neuronalen Netzwerks oder wie viele Budgets Sie erhalten haben, interessiert die meisten wenig.
- Nehmen Sie an möglichst vielen Hackathons teil, scheuen Sie sich aber nicht, von schlecht organisierten Veranstaltungen zu gehen.
- Fügen Sie die Ergebnisse Ihrer Arbeit beim Hackathon Ihrem Lebenslauf hinzu und zögern Sie nicht, öffentlich darüber zu schreiben.

Die Essenz von Hackathons. Kurz zusammengefasst
Quelle: habr.com
