De ce ar trebui să participi la hackathoane

De ce ar trebui să participi la hackathoane

Aproape un an și jumătate în urmă, am început să particip la hackathoane. În această perioadă, am reușit să iau parte la mai mult de 20 de evenimente de diferite dimensiuni și teme în Moscova, Helsinki, Berlin, Munchen, Amsterdam, Zurich și Paris. La toate aceste evenimente, m-am ocupat de analiza datelor într-o formă sau alta. Îmi place să vizitez orașe noi, să stabilesc contacte, să îmi vină idei proaspete, să pun în aplicare proiecte mai vechi într-un timp scurt și adrenalina pe care o simt în timpul prezentărilor și anunțării rezultatelor.

Acest post este primul din trei posturi pe tema hackathoanelor, în care voi vorbi despre ce sunt hackathoanele și de ce ar trebui să începeți să participați la ele. Al doilea post va aborda latura întunecată a acestor evenimente — cum organizatorii au comis greșeli în desfășurarea lor și la ce au dus acestea. Al treilea post va fi dedicat răspunsurilor la întrebările legate de tematica hackathon-ului.

Ce este un hackathon?

Un hackathon este un eveniment desfășurat pe parcursul a câteva zile, cu scopul de a rezolva o anumită problemă. De obicei, există mai multe probleme la un hackathon, fiecare prezentată sub formă de traseu separat. Compania sponsorizatoare oferă o descriere a sarcinii, metricile de succes (metricile pot fi subiective, precum „noutatea și creativitatea”, sau obiective — precizia clasificării pe un set de date de testare) și resursele necesare pentru atingerea succesului (API-ul companiei, seturi de date, „echipamente”). Participanții trebuie să formuleze problema, să propună o soluție și să prezinte un prototip al produsului lor în timpul alocat. Cele mai bune soluții primesc premii din partea companiei și oportunitatea de colaborare ulterioară.

Etapele hackathon-ului

După anunțarea sarcinilor, participanții hackathonului se împart în echipe: fiecare „solitar” primește un microfon și vorbește despre sarcina aleasă, experiența sa, ideea și tipurile de specialiști de care are nevoie pentru realizare. Uneori, echipa poate consta dintr-o singură persoană, capabilă să îndeplinească tot lucrul asupra proiectului singură, la un nivel suficient de ridicat. Acest lucru este relevant pentru hackathoanele de analiză a datelor, dar este adesea interzis sau nedorit în cadrul evenimentelor de produs - organizatorii își propun să continuie munca asupra proiectului, dar deja în cadrul unei companii; o echipă formată are o serie de avantaje față de participanții care doresc să creeze produsul singuri. O echipă optimă constă de obicei din 4 persoane și include: frontend, backend, data scientist și un om de afaceri. De altfel, separarea hackathoanelor de date / produse este destul de simplă - dacă există un set de date cu o metrică clară și un podium de premii sau se poate câștiga cu codul din jupyter notebook - este un hackathon de date; tot restul - unde este necesar să se facă o aplicație, un site sau ceva captivant - este un hackathon de produs.

De obicei, începuirea lucrului la proiect are loc la ora 9 seara de vineri, iar termenul limită este la ora 10 dimineața duminica. O parte din acest timp trebuie alocată pentru somn (să nu dormi și să codezi - acesta este un drum sigur către eșec, am verificat), ceea ce înseamnă că participanții nu au atât de mult timp pentru a realiza ceva de calitate. Pentru a ajuta participanții, pe loc sunt prezenți reprezentanți ai companiei și mentori.

Munca la proiect începe cu o comunicare cu reprezentanții companiei, deoarece aceștia înțeleg mai bine specificul sarcinii, metricile și cu siguranță vor judeca lucrările dvs. la final. Scopul acestei comunicări este de a înțelege care direcții sunt cele mai relevante și pe ce ar trebui să concentreze atenția și timpul.

La un hackathon, a fost stabilită o sarcină de regresie pe un set de date cu informații tabelare și imagini, având o metrică clară — RMSE. După ce am discutat cu un data scientist al companiei, am realizat că le trebuie nu regresie, ci clasificare, dar cineva din management a decis că sarcina este mai bine să fie abordată într-un anumit mod. Clasificarea este necesară nu pentru a obține un câștig financiar, ci pentru a înțelege care sunt parametrii cei mai importanți în procesul de decizie și apoi să îi prelucreze manual. Astfel, sarcina inițială (regresia cu RMSE) se transformă în clasificare; prioritatea evaluării se schimbă de la precizia obținută la capacitatea de a explica rezultatul. Acest lucru, la rândul său, elimină posibilitatea utilizării algoritmilor de stacking și ai black box-urilor. Un astfel de dialog mi-a economisit mult timp și mi-a crescut șansele de succes.

După ce ați înțeles ce aveți de făcut, începe munca efectivă la proiect. Trebuie să stabiliți checkpoint-uri — momentele la care trebuie să finalizați sarcinile stabilite; de asemenea, este bine să continuați comunicarea cu mentorii — reprezentanții companiei și specialiștii tehnici — acest lucru este util pentru ajustarea parcursului proiectului dumneavoastră. O perspectivă proaspătă asupra problemei poate sugera o soluție interesantă.

Cum în hackathoane participă mulți începători, organizatorii ar trebui să ofere lecții și workshop-uri, ceea ce reprezintă un bun ton. De obicei, sunt organizate trei lecții — despre cum să îți prezinți ideea ca produs, o lecție pe o temă tehnică (de exemplu, despre utilizarea API-urilor deschise în învățarea automată, pentru a nu fi nevoie să scrieți propriul speech2text în două zile, ci să folosiți unul existent), o lecție despre pitching (cum să îți prezinți produsul, cum să gesticulezi corect pe scenă pentru a nu plictisi audiența). Există diverse activități pentru a energiza participanții — sesiuni de yoga, fotbal de masă și tenis sau jocuri pe consolă.

În dimineața zilei de duminică, trebuie să prezentați rezultatele muncii voastre în fața juriului. La hackathoanele de calitate, totul începe cu expertiza tehnică — funcționează cu adevărat ceea ce susțineți? Scopul acestei verificări este de a diferenția echipele cu prezentări frumoase și buzzwords, dar fără un produs, de cei care au realizat cu adevărat ceva. Din păcate, expertiza tehnică nu este prezentă la toate hackathoanele, și există cazuri când o echipă cu 12 slide-uri și o mentalitate de „... blockchain, computație cuantică, iar acum AI va termina...” câștigă locul întâi. Astfel de cazuri nu sunt foarte frecvente, dar fiindcă sunt cel mai bine memorate, mulți cred că o prezentare bună reprezintă 99% din succesul la hackathon. Prezentarea, de altfel, este cu adevărat importantă, dar contribuția ei nu depășește 30%.

După prezentarea participanților, juriul ia decizia de premiere a câștigătorilor. Aici se încheie partea oficială a hackathonului.

Motivația de a participa la hackathoane

Experiența

Din punct de vedere al experienței obținute, hackathonul este un eveniment unic. Există foarte puține locuri unde poți transpune o idee din nimic în două zile și să primești feedback imediat cu privire la munca ta. În timpul hackathonului, se dezvoltă gândirea critică, abilitatea de a lucra în echipă, gestionarea timpului, capacitatea de a lucra sub stres, abilitatea de a prezenta rezultatele muncii tale într-o formă clară, abilități de prezentare și multe altele. De aceea hackathoanele sunt un loc excelent pentru persoanele cu cunoștințe teoretice, care doresc să obțină experiență reală.

Premiile

În general, fondul de premii al hackathonului este de aproximativ 1.5k – 10k euro pentru locul întâi (în Rusia – 100-300 de mii de ruble). Beneficiul așteptat (expected value, EV) din participare poate fi calculat folosind o formulă simplă:

EV = Prize * WinRate + Future_Value - Costs

unde Premiul — mărimea premiului (pentru simplificare, vom considera că există un singur premiu);
WinRate — probabilitatea de câștig (pentru o echipă nouă, această valoare va fi limitată la maximum 10%, pentru o echipă mai experimentată — 50% și mai mult; am întâlnit persoane care se întorceau cu premiul de la fiecare hackathon, dar aceasta este mai degrabă o excepție de la regulă, iar pe termen lung rata lor de câștig va fi sub 100%);
Future_Value — un parametru care arată profitul viitor din participarea la hackathon: acesta poate fi profitul din experiența acumulată, conexiunile stabilite, informațiile obținute etc. Această mărime este practic imposibil de determinat cu exactitate, dar trebuie ținută minte;
Costuri — cheltuieli pentru transport, cazare, altele.

Decizia de a participa se ia pe baza comparării EV-ului hackathon-ului cu EV-ul activității pe care ai fi vrut să o faci dacă hackathon-ul nu ar fi existat: dacă ai fi vrut să te relaxezi pe canapea și să te uiți pe telefon, probabil ar trebui să participi la hackathon; dacă vrei să petreci timp cu părinții sau cu prietena — adu-i în echipa de hackathon (glumesc, decideți singuri), iar dacă vrei să freelancing, compară dolar pe oră.

După calculele mele, pot spune că în Rusia pentru un data scientist de nivel junior — mediu, participarea la hackathonuri este echivalentă cu câștigurile financiare dintr-o zi obișnuită de lucru, dar există și nuanțe (dimensiunea echipei, tipul hackathon-ului, fondul de premii etc.). În general, hackathon-urile în prezent nu sunt o mină de aur, dar pot oferi un venit suplimentar plăcut la bugetul personal.

Angajare în companie și networking

Pentru companie, hackathon-ul este una dintre modalitățile de a angaja noi angajați. Îți va fi mult mai ușor să arăți că ești o persoană competentă și poți lucra eficient la hackathon decât la un interviu, explicând un arbore binar pe tablă (ceea ce, de altfel, nu corespunde întotdeauna cu ceea ce vei face cu adevărat ca data scientist, dar trebuie respectate tradițiile). Această verificare în condiții 'de luptă' poate înlocui o zi de teste.

Primul meu loc de muncă l-am obținut datorită hackathon-ului. La hackathon am demonstrat că din date se poate obține mai mult profit, am explicat cum intentionez să fac asta. Am început un proiect la hackathon, l-am câștigat, apoi am continuat proiectul în cadrul companiei sponsorizatoare. A fost al patrulea hackathon la care am participat în viața mea.

Posibilitatea de a obține un set de date unic

Acesta este un punct foarte relevant pentru hackathoanele de știință a datelor, a cărui importanță nu este înțeleasă de toată lumea. De obicei, companiile sponsori oferă seturi reale de date în timpul evenimentului. Aceste date sunt private, fiind protejate prin NDA, ceea ce nu împiedică să vă arătăm un proof of concept bazat pe un set real de date, nu pe un titanic fictiv. În continuare, astfel de rezultate vă vor ajuta semnificativ la angajarea în acea companie sau în compania competitor sau justifica proiecte similare. Să fiți de acord că, în condiții egale, a avea proiecte realizate, apreciate pozitiv este mai bine decât a nu avea deloc. În totalitate, astfel de proiecte realizate joacă un rol similar cu medaliile și statusurile pe Kaggle, dar pentru industrie valoarea lor este mult mai evidentă.

Sfaturi

În general, a lucra la un hackathon este o experiență destul de variată și este greu de formulat un set de reguli. Cu toate acestea, aici aș dori să prezint o listă de observații care ar putea ajuta un începător:

  1. Nu vă temeți să participați la hackathoane chiar dacă nu aveți experiență sau echipă. Gândiți-vă la ce ați putea fi util. De exemplu, poate aveți o idee interesantă sau vă pricepeți bine într-un anumit domeniu? Puteți folosi cunoștințele dvs. de specialitate pentru a formula problema și a găsi soluții neobișnuite. Sau poate că sunteți cel mai bun la căutări pe Google? Această abilitate vă va economisi mult timp dacă reușiți să găsiți implementări gata făcute pe GitHub. Sau poate că aveți expertiză în ajustarea parametrilor lightgbm? În acest caz, nu mergeți la hackathon, ci demonstrați acest lucru în competițiile Kaggle.
  2. Tactica este mai importantă decât manevrele. Sarcina dvs. într-un hackathon este să rezolvați o problemă. Uneori, pentru a rezolva o problemă, trebuie să o identificați mai întâi. Verificați dacă problema identificată este cu adevărat relevantă pentru companie. Evaluați soluția dvs. în raport cu problema, puneți-vă întrebarea despre optimizarea soluției dvs. Când se va evalua soluția dvs., se va acorda o importanță deosebită relevanței problemei și adecvării soluției propuse. Arhitectura rețelei neuronale sau câte hands-on-uri ați obținut interesează foarte puțini.
  3. Participați la cât mai multe hackathoane, dar nu ezitați să părăsiți evenimentele prost organizate.
  4. Include the results of your hackathon work in your resume and don't hesitate to share about it publicly.

De ce ar trebui să participi la hackathoane
The essence of hackathons. Briefly

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster