hackathon-prepare

PiastCode zbliża się wielkimi krokami. Postanowiłem w związku z tym podzielić się doświadczeniem (o ile tak to można nazwać) z tego typu eventów. Mam nadzieję, że zarówno weterani jak i nowicjusze znajdą w tym wpisie przydatne wskazówki 😉

Nim wyruszysz w podróż…

…musisz zebrać drużynę 🙂 Ale samo zebranie ekipy nie wystarczy. Podziel się obowiązkami ze swoimi współtowarzyszami. Przykładowo, jeśli robicie aplikację webową – niech jedna osoba zajmie się front-endem. I tylko tym, chyba że  skończy szybciej i nie będzie mieć co robić. Druga osoba może zająć się back-endem od strony serwisów, a kolejny współtowarzysz może tworzyć bazę i repozytorium. Podział projektu na warstwy w tym przypadku da naprawdę dużo. Jeśli tworzysz aplikację mobilną, również wyznacz kogoś do widoków. Warto mieć w zespole grafika, albo chociaż osobę odpowiedzialną za design, która zna się na rzeczy. Trzeba pamiętać, że ludzie oceniają oczami. Jednak jeszcze ważniejsze jest to, aby aplikacja działała.

Nie przekombinowywuj

Niezależnie czy jesteś początkującym lub doświadczonym developerem, na pewno zdarza ci się natrafić na ścianę. W przypadku hackathonów jest to szczególnie bolesne, gdyż czas ucieka nieubłaganie. W takich momentach warto zastosować najprostsze rozwiązanie – nawet jeżeli nie jest ono optymalne. Tak, brzmi to strasznie, ale do dema nie potrzebujesz mega-rozbudowanego rozwiązania, które posiada tysiące opcji. Ważne jest to, aby pokazać ideę, żeby osoby oceniające załapały o co chodzi w twoim pomyśle. Nie ma też sensu skupiać się na drobnostkach, tylko na głównych funkcjonalnościach. Jeśli masz w sobie zadatki perfekcjonisty, to może to być szczególnie problematyczne – trzeba jednak się przełamać. Nie komplikuj też zbytnio samej struktury projektu – nikt nie będzie oceniał kodu, sprawdzał czy masz testy, czy używasz dependency injection itp. Oczywiście nie można też przegiąć w druga stronę – pamiętaj że współtworzysz projekt z innymi osobami, więc staraj się pisać czysty kod 🙂

Narzędzia

construction-work-carpenter-tools

Przygotuj sprzęt. Zainstaluj wszystkie potrzebne narzędzia. Zainstaluj aktualizacje systemu – szkoda by było tracić na to czas podczas hackathonu. Spakuj zasilacz i zapasowe baterie do myszki. Przygotuj zdalne repozytorium – możesz skorzystać np. z GitHuba, Bitbucketa lub Visual Studio Team Services. Upewnij się, że wszyscy członkowie twojej drużyny potrafią korzystać z narzędzi do pracy zespołowej – git, tfs. Jest to szczególnie ważne, gdyż jeden niepoprawny commit może się skończyć katastrofą całego projektu. Systemy kontroli wersji posiadają historię zmian, jednak szkoda by było tracić czas na recovery projektu.

Ubranie

Przygotuj kapcie i wygodne dresy. To nie żart – 24 godziny w jeansach i adidasach to nic fajnego. Wiem to z doświadczenia 😉 Nikt nie będzie cię wytykał palcem, najwyżej niektórzy ci pozazdroszczą, że nie wpadli na ten sam pomysł. Oczywiście nie chodzi o to żeby na wydarzenie przyjść w piżamie – po prostu warto mieć ciuchy na zmianę. No bo jeśli wygrasz, to chyba wolałbyś wypaść elegancko na zdjęciu przedstawiającym jak odbierasz nagrodę 🙂

Jedzenie

vegetables-italian-pizza-restaurant

Nie samym kodem żyje programista, tym bardziej na 24-godzinnym hackathonie. O ile o dostępność jedzenia na PiastCode nie musisz się martwić (gwarantuję, że będzie tego sporo), to musisz pamiętać, że jest czas na pisanie kodu, ale jest też czas na jedzenie. No i przede wszystkim powinieneś dużo pić – nie tylko kawy i energetyków. Kofeina się przyda, jak najbardziej, ale wszystko z głową. Nie należy przesadzać z napojami energetycznymi, bo nad ranem efekt może być odwrotny od zamierzonego. Zamiast tego warto czasami napić się soku owocowego, albo zwykłej wody.

Strategia

24 godziny myślenia i rozwiązywania problemów to spory wysiłek, zarówno psychiczny jak i fizyczny. Czasami warto odpuścić sobie te 3-4 godziny i odrobinę się przespać. Zwłaszcza nad ranem, gdy organizm najbardziej odmawia posłuszeństwa. Takie podładowanie baterii na pewno nie zaszkodzi 🙂 Nie ma też sensu cały czas siedzieć nad kodem. Trzeba robić sobie przerwy – takie podejście poprawia produktywność. Nie bez powodu w każdym „korpo” jest stół do piłkarzyków i konsola do gier. Czasem oderwanie się na chwilę od problemu może przynieść nieoczekiwanie pozytywny rezultat.

Podsumowanie

Hackathon programistyczny to nie lada wyzwanie. Jest to test umiejętności planowania czasem, pracy pod presją czasu oraz współpracy w zespole. Dlatego ważne jest, żeby się do tego odpowiednio przygotować – spakować sprzęt, zainstalować wszystko co potrzebne, ustalić role w zespole. Natomiast najważniejszym jest, żeby pamiętać o co w tym wszystkim chodzi – nie o wygraną (mimo, że nagrody na PiastCode są naprawdę fajne), ale o dobra zabawę 😉

Share