Kontrola jakości: Hackatony

Kontrola jakości: Hackatony

Ostatnia część trylogii hackathonowej. W część pierwsza Mówiłam o motywacji do udziału w takich wydarzeniach. Część druga poświęcony był błędom organizatorów i ich wynikom. W ostatniej części odpowiemy na pytania, które nie zmieściły się w dwóch pierwszych częściach.

Opowiedz nam, jak zacząłeś brać udział w hackatonach.
Studiowałem, aby uzyskać tytuł magistra na Uniwersytecie w Lappeenranta, rozwiązując konkursy z analizy danych. Mój typowy dzień wyglądał tak: pobudka o 8, kilka par na uczelni, potem konkursy i kursy do północy (w czasie naliczania zgłoszeń oglądam wykłady lub czytam artykuły). Tak napięty harmonogram zaowocował wygraną w konkursie na analizę danych MERC-2017 (o którym nawet dyskutowano). opublikuj na hubie). Zwycięstwo dodało mi pewności siebie, a kiedy przypadkowo natknąłem się na informację o hackatonie SkinHack 2 w Moskwie, postanowiłem odwiedzić rodziców i jednocześnie dowiedzieć się, czym jest hackaton.

Sam hackaton okazał się całkiem zabawny. Analiza danych obejmowała dwie ścieżki z jasnymi metrykami oraz zbiór danych z nagrodą pieniężną w wysokości 100 tys. rubli. Trzecia ścieżka dotyczyła tworzenia aplikacji i nagroda wynosiła 50 tys., a nie było uczestników. W pewnym momencie organizator powiedział, że okienko z przyciskiem bez funkcjonalności może wygrać 50 tys., bo nagrody nie będzie można wypłacić. Nie zaczynałem nauki programowania aplikacji (nie startuję tam, gdzie łatwo mnie „przewrócić”), ale dla mnie był to jasny przekaz, że pola w hackatonach nie są zatłoczone.

Następnie rozwiązałem samodzielnie obie ścieżki analizy danych. Znalazłem wyciek w danych, który pozwolił mi uzyskać idealną prędkość, ale kolumny z wyciekiem nie było w danych testowych, które otrzymałem na dwie godziny przed zakończeniem imprezy (swoją drogą, wtedy zrozumiałem, że obecność „docelowej” kolumny w pociągu nie liczy się jako wyciek). W tym samym czasie otworzyła się tabela liderów, moje poddanie bez twarzy zajęło trzecie miejsce z pięciu, do pierwszego była duża przewaga, więc postanowiłem nie tracić czasu i wyszedłem.

Po tym, jak na świeżo przeanalizowałem co się stało, znalazłem masę błędów (jednym z moich nawyków jest przewijanie w myślach tego, co stało się z notatnikiem i analizowanie błędów, ich przyczyny i tego, co można było zmienić – takie przyjemne dziedzictwo półprofesjonalnej gry w pokera). Ale jedno było pewne – hackatony mają ogromną wartość i po prostu musiałem to wdrożyć. Po tym wydarzeniu zacząłem monitorować wydarzenia i grupy, a na kolejny hackaton nie trzeba było długo czekać. Potem kolejny i kolejny...

Dlaczego robisz hackathony, a nie Kaglo?
W tej chwili nie lubię Kagle'a. Od pewnego poziomu umiejętności, bez konkretnych powodów uczestnictwa, kagle staje się mniej przydatne niż inne zajęcia. Brałem już wcześniej sporo udziału, najwyraźniej udało mi się jakoś „wypaść”.

Dlaczego hackatony, a nie praca nad własnym projektem?
Podoba mi się pomysł zrobienia czegoś fajnego własnymi rękami w wolnym tempie. Organizowali chłopaki z ODS Projekty zwierząt domowych ODS dla wszystkich, którzy chcą spędzić weekend pracując nad swoim projektem z ludźmi o podobnych poglądach. Myślę, że już niedługo i ja do nich dołączę.

Jak znaleźć wydarzenia?
Główne źródło - hackathon.com (świat) i czat telegramowy Rosyjscy hakerzy (Rosja). Ponadto ogłoszenia o wydarzeniach pojawiają się w reklamach w sieciach społecznościowych i na LinkedIn. Jeśli nic nie znalazłeś, możesz zajrzeć tutaj: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Czy przygotowujesz plan rozwiązania przed uczestnictwem w projekcie, czy też wszystko jest ustalane na bieżąco? Czy na przykład na tydzień przed hackatonem myślisz: „Będziemy potrzebowali tu takiego a takiego specjalisty, będziemy musieli go poszukać”?
Jeśli hackaton ma na celu jedzenie, to tak, przygotowuję się. Kilka tygodni wcześniej obmyślam, co będę robić, kto może się przydać, i zbieram zespół znajomych lub uczestników poprzednich hackatonów.

Czy naprawdę da się zhakować hackaton w pojedynkę? Co zrobić, jeśli nie ma drużyny?
Hakatony data science są realne (jestem tego żywym przykładem), hackatonów spożywczych nie widziałem, choć też tak uważam. Niestety czasami organizatorzy nakładają ograniczenie na minimalną liczbę uczestników w drużynie. Myślę, że wynika to z faktu, że nie wszyscy „samotnicy” docierają do finału (to znaczy po prostu wychodzą z pierwszymi trudnościami), a udział w drużynie wciąż jest ograniczony. Nawet po zakończeniu wydarzenia oczekuje się od Ciebie kontynuowania pracy nad projektem. Z zespołem łatwiej będzie zrealizować projekt.

Ogólnie rzecz biorąc, radzę zawsze brać udział w zawodach z zespołem. Jeśli nie masz własnego zespołu, organizatorzy zawsze pomogą Ci go znaleźć lub stworzyć.

Jak radzisz sobie ze zmęczeniem podczas hackatonu?
Podczas hackatonu masz 2 dni na pracę, czyli 48 godzin (30-48 godzin, dla ułatwienia liczenia weźmy 48). Usuwamy czas na sen (16-20 godzin), pozostawiając nie więcej niż 30. Z tego 8 godzin (średnio) zostanie faktycznie poświęconych na produktywną pracę. Jeśli odpowiednio zorganizujesz swoją pracę (sen, odżywianie, wyjście na świeże powietrze, ćwiczenia, minuty uważności, właściwa komunikacja z zespołem i przełączanie zajęć), wówczas godziny głębokiej pracy można wydłużyć do 12-14. Po takiej pracy poczujesz zmęczenie, ale będzie to przyjemne zmęczenie. Kodowanie bez snu i przerw, przerywane napojami energetycznymi, to przepis na porażkę.

Czy masz własne gotowe rurociągi na hackatony? Jak je zdobyłeś, jak są zorganizowane (są w folderach z plikami .py, każdy do innego zadania itp.) i jak zacząć je tworzyć samodzielnie?
W nowych nie wykorzystuję całkowicie gotowych rozwiązań z poprzednich hackatonów, ale mam własne zoo modeli i rurociągów z poprzednich konkursów. Nie muszę przepisywać standardowych elementów od zera (na przykład poprawnego kodowania docelowego lub prostej siatki do wydobywania intencji z tekstu), co oszczędza mi mnóstwo czasu.

Na chwilę obecną wygląda to tak: dla każdego konkursu czy hackatonu istnieje własne repozytorium na GitHubie, przechowuje notatniki, skrypty i małą dokumentację dotyczącą tego, co się dzieje. Dodatkowo istnieje osobne repozytorium dla wszelkiego rodzaju „sztuczek” pudełkowych (takich jak prawidłowe kodowanie docelowe z weryfikacją krzyżową). Nie sądzę, że jest to najbardziej eleganckie rozwiązanie, ale na razie mi odpowiada.

Zacząłbym od zapisania całego kodu w folderach i napisania krótkiej dokumentacji (dlaczego, co, jak to zrobiłem i wynik).

Czy realne jest przygotowanie MVP od podstaw w tak krótkim czasie, czy też wszyscy uczestnicy przychodzą z gotowymi rozwiązaniami?
O projektach związanych z data science mogę powiedzieć tylko tyle – tak, to możliwe. Dla mnie MVP to połączenie dwóch czynników:

  • Realny pomysł przedstawiony jako produkt (tj. namalowany na płótnie biznesowym). Zawsze powinno być jasne, dlaczego i dla kogo tworzymy produkt. Czasami projekty z ugruntowanym projektem, ale bez prototypu, zdobywają nagrody i nie jest to zaskakujące. Niestety wielu uczestników nie może zignorować goryczy porażki i swoje niepowodzenia przypisywać krótkowzroczności organizatorów, którzy na kolejnych hackatonach nadal wycinają modele dla kogoś nieznanego.
  • Jakiś wskaźnik, że można zrobić ten produkt (aplikacja, kod, opis rurociągów).

Zdarza się, że zespół przychodzi na hackaton z gotowym rozwiązaniem i próbuje je „dostosować” do wskazówek organizatorów. Takie zespoły są odcinane podczas przeglądu technicznego lub „liczona jest tylko ta część, którą wykonały na stronie”. Nie widziałem takich drużyn jako zwycięzców, ale myślę, że nadal opłaca się im grać ze względu na przyszłą wartość (kontakty, zbiory danych itp.).

Czy są jakieś przykłady przeniesienia rzemiosła realizowanego na hackatonach do produkcji/startupu?
Tak. Miałem trzy przypadki, kiedy wprowadzili go do produkcji. Raz sam, drugi raz - cudzymi rękami, w oparciu o moje pomysły i kod, który napisałem na hackatonie. Znam też kilka zespołów, które kontynuowały współpracę z firmą jako konsultanci. Nie znam ostatecznych wyników, ale najprawdopodobniej coś zostało już zrobione. Sam nie organizowałem startupów i nie wiem, czy ktoś to robił, chociaż na pewno są przykłady.

Jakiej rady udzieliłbyś sobie, gdybyś mógł cofnąć się w czasie, po wzięciu udziału w wielu hackatonach?

  1. Taktyka jest ważniejsza niż manewry. Pomyśl o każdym rozwiązaniu jak o gotowym produkcie. Pomysł, laptop Jupiter, algorytm nie są nic warte, jeśli nie jest jasne, kto za to zapłaci.
  2. Zanim cokolwiek zaprojektujesz, odpowiedz sobie na pytanie nie „co?”, ale „dlaczego?” I jak?". Przykład: projektując dowolne rozwiązanie ML, najpierw pomyśl o idealnym algorytmie: co otrzymuje na wejściu, jak jego przewidywania zostaną wykorzystane w przyszłości?
  3. Bądź częścią zespołu.

Czym najczęściej karmią się podczas hackatonów?
Zwykle jedzenie na hackatonach jest kiepskie: pizza, napoje energetyczne, napoje gazowane. Prawie zawsze jedzenie organizowane jest w formie bufetu (lub stołu do serwowania), do którego ustawia się ogromna kolejka. Zwykle nie zapewniają jedzenia na noc, choć zdarzył się przypadek na jednym z zawodów w Paryżu, gdzie pozostawiono na noc jedzenie – frytki, pączki i colę. Wyobrażam sobie tok myślenia organizatorów: „No to co tam jedzą programiści? O, dokładnie! Chipsy, pączki - to wszystko. Dajmy im te śmieci.” Następnego dnia zapytałem organizatorów: „Chłopaki, czy można zrobić na ten wieczór coś innego? No cóż, może owsianka?” Potem spojrzeli na mnie jak na idiotę. Słynna francuska gościnność.

Na dobrych hackatonach jedzenie zamawia się w pudełkach, istnieje podział na posiłki zwykłe, wegetariańskie i koszerne. Dodatkowo postawili lodówkę z jogurtami i musli - dla tych, którzy chcą coś przekąsić. Kawa, herbata, woda - standard. Pamiętam hackaton Hack Moskwa 2 - serdecznie nakarmili mnie barszczem i kotletami z puree ziemniaczanym w stołówce biura 1C.

Rozsądek hackatonów zależy, że tak powiem, od sfery zawodowej organizatorów (np. najlepsze hackatony prowadzą konsultanci)?
Najlepsze hackatony były organizowane przez organizatorów, którzy albo organizowali już wcześniej hackatony, albo już w nich uczestniczyli. Być może jest to jedyny czynnik, od którego zależy jakość wydarzenia.

Jak zrozumieć, że nie jesteś noobem i czas na hackaton?
Najlepszy czas na hackaton jest rok temu. Drugi najlepszy czas jest teraz. Więc idź dalej, popełniaj błędy, ucz się - nie ma w tym nic złego. Nawet sieć neuronowa – największy wynalazek człowieka od czasu wznoszenia się koła i wzniesienia nad drzewami – w pierwszej epoce szkolenia nie jest w stanie odróżnić kota od psa.

Jakie „czerwone flagi” od razu wskazują, że impreza nie będzie zbyt udana i nie ma co tracić czasu?

  • Jasny opis tego, co należy zrobić (dotyczy hackatonów produktowych). Jeśli podczas rejestracji otrzymasz jasne zadanie, lepiej zostać w domu. W mojej pamięci nie było ani jednego dobrego hackathonu ze specyfikacjami technicznymi. Dla porównania: OK - zróbmy coś związanego z analizą rozmów audio. Źle - zrób nam aplikację, która będzie w stanie podzielić rozmowę na dwie osobne ścieżki audio dla każdej osoby.
  • Mały fundusz nagród. Jeśli zostaniesz poproszony o zrobienie „Tindera dla sklepu internetowego z AI”, a nagroda za pierwsze miejsce to 500 euro i minimalna wielkość zespołu to 5 osób, to prawdopodobnie nie warto tracić czasu (tak, to prawdziwy hackaton, który odbył się odbyło się w Monachium).
  • Brak danych (istotne w przypadku hackatonów data science). Organizatorzy zazwyczaj przekazują podstawowe informacje o wydarzeniu, a czasem także przykładowy zbiór danych. Jeśli tego nie zapewnili, zapytaj, to nic Cię nie będzie kosztować. Jeżeli w ciągu 2-3 nie jest jasne, jakie dane zostaną przekazane i czy w ogóle zostaną przekazane, jest to sygnał ostrzegawczy.
  • Nowi organizatorzy. Nie bądź leniwy i wygoogluj informacje o organizatorach hackatonu. Jeśli organizują tego typu wydarzenie po raz pierwszy, istnieje duże prawdopodobieństwo, że coś pójdzie nie tak. Z drugiej strony, jeśli organizator i członkowie jury organizowali już hackatony lub aktywnie uczestniczyli w przeszłości, jest to zielona flaga.

Na jednym hackatonie powiedzieli mi: „W krótkim czasie znalazłeś najlepsze rozwiązanie, ale przepraszam, oceniamy pracę zespołową, a ty pracowałeś sam. A teraz, gdybyś wziął do swojego zespołu ucznia lub dziewczynę...”? Czy spotkałeś się kiedyś z taką niesprawiedliwością? Jak sobie poradziłeś?
Tak, spotkałem się z tym nie raz. Podchodzę ze stoickim spokojem do wszystkiego, co się dzieje: zrobiłem wszystko, co w mojej mocy, jeśli nie wyszło, niech tak będzie.

Dlaczego to wszystko robisz?
Wszystko to po prostu z nudów.

Źródło: www.habr.com

Dodaj komentarz