Waarom je moet deelnemen aan hackathons

Waarom je moet deelnemen aan hackathons

Ongeveer anderhalf jaar geleden begon ik deel te nemen aan hackathons. In deze periode heb ik deelgenomen aan meer dan 20 evenementen van verschillende groottes en thema's in Moskou, Helsinki, Berlijn, München, Amsterdam, Zürich en Parijs. Bij al deze evenementen hield ik me bezig met data-analyse in welke vorm dan ook. Ik vind het leuk om naar nieuwe steden te reizen, nieuwe contacten te leggen, frisse ideeën te bedenken, oude plannen in korte tijd te realiseren en de adrenaline tijdens presentaties en het bekendmaken van resultaten.

Deze post is de eerste van drie posten over hackathons. Hierin zal ik uitleggen wat hackathons zijn en waarom je zou moeten beginnen met deelnemen. De tweede post zal gaan over de schaduwkant van deze evenementen - hoe organisatoren fouten maakten tijdens het evenement en wat de gevolgen daarvan waren. De derde post zal gewijd zijn aan het beantwoorden van vragen over hackathon-gerelateerde onderwerpen.

Wat is een hackathon?

Een hackathon is een evenement dat enkele dagen duurt, met als doel het oplossen van een probleem. Gewoonlijk zijn er meerdere problemen tijdens een hackathon, elk gepresenteerd als een afzonderlijke track. Het sponsoringbedrijf biedt een beschrijving van de opdracht, succescriteria (de criteria kunnen subjectief zijn zoals 'nieuwheid en creativiteit', of objectief - zoals de nauwkeurigheid van classificatie op een testdataset) en middelen om succes te behalen (API van het bedrijf, datasets, 'hardware'). De deelnemers moeten binnen de gegeven tijd het probleem formuleren, een oplossing voorstellen en een prototype van hun product tonen. De beste oplossingen ontvangen prijzen van het bedrijf en de mogelijkheid tot verdere samenwerking.

Fasen van de hackathon

Na afloop van het bekendmaken van de taken vormen de deelnemers aan de hackathon teams: elke ‘individu’ krijgt een microfoon en spreekt over de gekozen taak, zijn ervaring, het idee en welke specialisten van welk kaliber hij nodig heeft voor de uitvoering. Soms kan een team uit één persoon bestaan die in staat is om het hele project zelfstandig op een vrij hoog niveau uit te voeren. Dit is relevant voor hackathons over data-analyse, maar vaak verboden of ongewenst voor productevenementen — de organisatoren zijn gericht op verdere voortzetting van het werk aan het project, maar al binnen een bedrijf; een gevormd team heeft verschillende voordelen ten opzicht van de deelnemers die alleen een product willen creëren. Een optimaal team bestaat meestal uit 4 personen en omvat: frontend, backend, data scientist en een businesspersoon. Terzijde, de indeling in data science/product hackathons is vrij eenvoudig — als er een dataset is met een duidelijke metric en leaderboard of als je kunt winnen met code in een jupyter notebook — is het een data science hackathon; alles daarbuiten — waar een applicatie, website of iets verslavends gemaakt moet worden — is productgericht.

Gewoonlijk begint het werk aan het project om 21.00 uur op vrijdag, en de deadline is om 10.00 uur op zondag. Een deel van deze tijd moet worden gereserveerd voor slaap (niet slapen en coderen is een zekere weg naar falen, dat heb ik getest), en dat betekent dat de deelnemers niet veel tijd hebben om iets van kwaliteit te maken. Om de deelnemers te helpen, zijn er vertegenwoordigers van het bedrijf en mentoren aanwezig op de locatie.

Het werk aan het project begint met communicatie met vertegenwoordigers van het bedrijf, aangezien zij de specificiteit van de taak, de metrics beter begrijpen en waarschijnlijk uw werk aan het einde zullen beoordelen. Het doel van deze communicatie is om te begrijpen welke richtingen het meest relevant zijn en waarop men zich moet concentreren met zijn aandacht en tijd.

Tijdens een hackathon werd de taak van regressie vastgesteld op een dataset met tabelgegevens en afbeeldingen, met een duidelijke metric — RMSE. Nadat ik had gesproken met de data scientist van het bedrijf, begreep ik dat ze geen regressie nodig hadden, maar classificatie. Iemand uit het management had besloten dat deze taak het beste op deze manier kon worden aangepakt. De classificatie was niet nodig om een toename van financiële metrics te behalen, maar om te begrijpen welke parameters het meest belangrijk zijn bij het nemen van beslissingen, en deze vervolgens handmatig te verwerken. Dus de oorspronkelijke taak (regressie met RMSE) verandert in classificatie; de prioriteit van de beoordeling verschuift van de verkregen nauwkeurigheid naar de mogelijkheid om het resultaat uit te leggen. Dit sluit op zijn beurt het gebruik van stacking en black box-algoritmen uit. Deze dialoog heeft me enorm veel tijd bespaard en mijn kansen op de overwinning vergroot.

Nadat je hebt begrepen wat je moet doen, begint het daadwerkelijke werk aan het project. Je moet checkpunten instellen — tijden waarop de gestelde taken moeten worden uitgevoerd; het is ook nuttig om het contact met mentoren — vertegenwoordigers van het bedrijf en technische specialisten — voort te zetten, zodat je je projectroute kunt bijstellen. Een frisse blik op het probleem kan interessante oplossingen aandragen.

Aangezien er veel nieuwkomers deelnemen aan hackathons, is het vanuit de organisatie goed gebruik om lezingen en masterclasses te houden. Meestal zijn er drie lezingen — over hoe je je idee als product presenteert, een technische lezing (bijvoorbeeld over het gebruik van open API's in machine learning, zodat je niet je eigen speech2text in twee dagen hoeft te schrijven, maar een kant-en-klare oplossing kunt gebruiken), en een lezing over pitchen (hoe je je product presenteert, hoe je je handen op de juiste manier kunt bewegen op het podium zodat het publiek niet verveeld is). Er zijn verschillende activiteiten om de deelnemers op te vrolijken — een yogasessie, tafelvoetbal en tennis, of een videogame.

Op zondagmorgen moet u de resultaten van uw werk aan de jury overhandigen. Bij goede hackathons begint alles met technische expertise — werkt wat u beweert daadwerkelijk? Het doel van deze beoordeling is om teams met een mooie presentatie en buzzwords te filteren, maar zonder product, van de jongens die echt iets hebben gedaan. Helaas is technische expertise niet op alle hackathons aanwezig en zijn er gevallen waarin een team met 12 dia's en een mindset van ‘... blockchain, quantum computing, en hier zal AI het afmaken…’ de eerste plaats wint. Dergelijke precedentgevallen komen niet vaak voor, maar omdat ze het beste worden onthouden, denken velen dat een goede presentatie 99% van de overwinning op een hackathon is. De presentatie is, terzijde, echt belangrijk, maar de bijdrage ervan is niet meer dan 30%.

Na de presentatie neemt de jury een beslissing over de prijsuitreiking. Hiermee eindigt het officiële gedeelte van de hackathon.

Motivatie om deel te nemen aan hackathons

Ervaring

Qua opgedane ervaring is een hackathon een uniek evenement. Er zijn niet veel plaatsen waar je een idee in 2 dagen uit het niets kunt realiseren en directe feedback op je werk kunt krijgen. Tijdens de hackathon ontwikkel je kritisch denken, teamwerkvaardigheden, tijdmanagement, het omgaan met stressvolle situaties, het presenteren van je resultaten op een begrijpelijke manier, presentatietechnieken en vele andere vaardigheden. Daarom zijn hackathons een uitstekende plek voor mensen met theoretische kennis die echt ervaring willen opdoen.

Prizes

Gewoonlijk ligt de prijzenpot van een hackathon tussen de 1.5k en 10k euro voor de eerste plaats (in Rusland tussen de 100-300 duizend roebel). De verwachte waarde (expected value, EV) van deelname kan worden berekend met de eenvoudige formule:

EV = Prize * WinRate + Future_Value - Costs

waar Prijs — de hoogte van de prijs (voor de eenvoud nemen we aan dat er één prijs is);
WinRate — de kans om te winnen (voor een beginnend team zal deze waarde boven de 10% beperkt zijn, voor een meer ervaren team 50% of hoger; ik heb mensen ontmoet die met een prijs van elke hackathon kwamen, maar dat is eerder een uitzondering en op lange termijn zal hun winrate onder de 100% blijven);
Future_Value — een maatstaf die de toekomstige winst van deelname aan een hackathon aangeeft: dit kan winst zijn uit opgedane ervaring, opgebouwde connecties, ontvangen informatie, enzovoort. Het is praktisch onmogelijk om deze maatstaf precies te bepalen, maar het is belangrijk om er rekening mee te houden;
Kosten — uitgaven voor vervoer, accommodatie, enzovoort.

De beslissing om deel te nemen wordt genomen op basis van de vergelijking van de EV van de hackathon met de EV van de activiteit die je zou hebben ondernomen als de hackathon er niet was: als je van plan was om in het weekend op de bank te liggen en in je neus te peuteren, dan is deelname aan de hackathon waarschijnlijk een goed idee; als je tijd met je ouders of vriendin wilt doorbrengen — neem ze dan mee in je hackathonteam (grapje, beslis zelf), als je freelance werk zou willen doen — vergelijk dan dollar per uur.

Uit mijn berekeningen kan ik zeggen dat in Rusland voor een middelgrote data scientist op junior - mid niveau deelnemen aan hackathons vergelijkbaar is met de financiële winst van een gewone werkdag, maar er zijn nuances (teamgrootte, type hackathon, prijzenpot, enzovoort). Over het algemeen zijn hackathons op dit moment geen goudmijn, maar ze kunnen een leuke aanvulling op je persoonlijke budget geven.

Werving in het bedrijf en netwerken

Voor bedrijven is een hackathon een van de manieren om nieuwe medewerkers aan te nemen. Het is veel gemakkelijker om te laten zien dat je een competente persoon bent en goed kunt samenwerken tijdens de hackathon dan tijdens een sollicitatiegesprek, waar je een binaire boom op een bord moet tekenen (wat trouwens niet altijd overeenkomt met wat je op een echte werkplek als data scientist zult doen, maar tradities moeten worden gerespecteerd). Zo'n test in 'echte' omstandigheden kan een proefdag vervangen.

Mijn eerste baan kreeg ik dankzij een hackathon. Tijdens de hackathon liet ik zien dat je meer geld uit data kunt halen en legde ik uit hoe ik van plan was dit te doen. Ik begon een project tijdens de hackathon, won het, en ging daarna door met het project bij het sponsorbedrijf. Dit was de vierde hackathon in mijn leven.

De mogelijkheid om een unieke dataset te verkrijgen

Dit is een zeer relevant punt voor data science hackathons, waarvan niet iedereen het belang inziet. Gewoonlijk bieden sponsorende bedrijven echte datasets aan tijdens het evenement. Deze gegevens zijn privé en vallen onder een NDA, wat het niet belemmert om je een proof of concept te tonen met een echte dataset in plaats van een speelgoed-Titanic. In de toekomst kunnen dergelijke resultaten zeer nuttig zijn voor werk in dat bedrijf of een concurrerend bedrijf, of voor het onderbouwen van vergelijkbare projecten. Het is duidelijk dat, alles gelijkblijvend, het hebben van voltooide projecten die positief zijn beoordeeld, beter is dan geen te hebben. Over het algemeen spelen dergelijke voltooide projecten een vergelijkbare rol als medailles en statussen op Kaggle, maar hun waarde is voor de industrie duidelijker.

Tips

Over het algemeen is werken op een hackathon een vrij veelzijdige ervaring en is het moeilijk om een lijst met regels op te stellen. Ik zou echter een lijst van observaties willen geven die nieuwkomers kunnen helpen:

  1. Wees niet bang om naar hackathons te gaan, zelfs als je geen ervaring of team hebt. Denk na over wat je nuttig zou kunnen zijn. Heb je bijvoorbeeld een interessant idee of begrijp je een bepaald gebied goed? Je kunt je domeinkennis gebruiken bij het formuleren van het probleem en onconventionele oplossingen vinden. Of misschien kun je beter googelen dan anderen? Jouw vaardigheid kan een hoop tijd besparen als je bestaande implementaties op GitHub kunt vinden. Of ben je erg goed in het tuning van parameters van LightGBM? In dat geval is het beter om niet naar een hackathon te gaan, maar dat te bewijzen in Kaggle-competities.
  2. Tactiek is belangrijker dan maneuveren. Je taak op de hackathon is om een probleem op te lossen. Soms moet je een probleem identificeren om het op te lossen. Controleer of het probleem dat je hebt geïdentificeerd daadwerkelijk relevant is voor het bedrijf. Controleer of jouw oplossing aansluit bij het probleem en stel jezelf de vraag over de optimaliteit van jouw oplossing. Bij de beoordeling van jouw oplossing zal er in de eerste plaats gekeken worden naar de relevantie van het probleem en de geschiktheid van de voorgestelde oplossing. De architectuur van jouw neurale netwerk of hoeveel hand-aanbiedingen je hebt ontvangen, boeit de meeste mensen weinig.
  3. Bezoek zoveel mogelijk hackathons, maar aarzel niet om weg te gaan van slecht georganiseerde evenementen.
  4. Voeg de resultaten van je werk op hackathons toe aan je cv en wees niet bang om er publiekelijk over te schrijven.

Waarom je moet deelnemen aan hackathons
De essentie van hackathons. Kort

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster