Hackathon – Lessons Learnt z perspektywy uczestnika

Podsumowanie udziału w hackathonach programistycznych.

Razem ze znajomymi mieliśmy okazję uczestniczyć w nie jednym hackathonie – większym, mniejszym, polskim, europejskim. Zazwyczaj polegały one na wymyśleniu innowacyjnego rozwiązania w zadanej dziedzinie – m.in. „przyszłość bankowości”, „usprawnianie sektora publicznego”. Hackathon to świetny moment na zrealizowanie pomysłu tkwiącego w głowie oraz zaprezentowanie go szerszemu gronu. Po kilku takich maratonach, trwających nie raz ponad 24 godziny, wyklarowało mi się kilka aspektów o których warto pamiętać z perspektywy uczestnika.

W tym artykule chciałbym przedstawić najważniejsze punkty z mojej perspektywy. Elementy nad którymi warto się zastanowić ale także tipy na przyszłość.

Koncepcja

Przed wyjazdem na hackathon warto przemyśleć swój pomysł – spotkać się całym zespołem i omówić rozwiązanie które chce się stworzyć. Nam pomógł formularz rejestracyjny (w przypadku tegorocznego 24H-CodING) gdzie musieliśmy opisać swój pomysł. Pytania na które warto sobie odpowiedzieć to między innymi:

  • Jaki problem ma rozwiązywać aplikacja?
  • Dlaczego jest ona innowacyjna?
  • Co zostanie zaimplementowane podczas hackathonu?
  • Jaka jest wizja rozwoju?
  • W jaki sposób aplikacja ma na siebie zarabiać (bardzo wstępny model biznesowy)?
  • Jaki rodzaj aplikacji chcesz stworzyć? Może to być m.in:

    • dedykowana aplikacja na urządzenia mobilne,
    • strona internetowa z wsparciem dla RWD (Responsive Web Design),
    • PWA (Progressive Web App),
    • aplikacja desktopowa.

Rozpisanie funkcji w postaci zadań, które realizowane będą przez zespół podczas hackathonu też jest dobrym pomysłem. Nie musisz wykorzystywać systemów do zarządzania zadaniami. Rozpisz wszystko na samoprzylepnych kartkach, nadaj im priorytet, a na flipcharcie rozrysuj Kanban Board. To w zupełności wystarcza.

Nam okazały się pomocne mock-ups – czyli wstępnie zaprojektowane ekrany aplikacji. Stworzyliśmy je za pomocą moqups. Istnieje również bliźniacze rozwiązanie Gliffy, dzięki któremu stworzysz m.in. mapy myśli, diagramy UML (Unified Modeling Language) oraz BPMN (Business Process Model and Notation).

Gdy w zespole brakuje osoby z zacięciem graficznym warto rozejrzeć się za narzędziem wspomagającym projektowanie grafiki. Moim osobistym faworytem jest Canva, dająca tysiące przygotowanych projektów, które wymagają jedynie podmienia tekstu oraz zdjęcia. W ten sposób stworzysz logo, prezentację, infografikę i wiele innych elementów „identyfikacji wizualnej„.

Powyższa grafika jest slajdem z prezentacji którą przygotowaliśmy w oparciu o narzędzie Canva.

Oczywiście możesz przyjąć, że o wszystkim zaczniesz myśleć dopiero podczas hackathonu. Za pierwszym razem mieliśmy konkretny plan – co robimy, kto jest za co odpowiedzialny, jakie funkcje aplikacji realizujemy – wszystko dopięte na ostatni guzik. Za drugim razem, gdy pomysł nie do końca był wyklarowany – nie przygotowywaliśmy się. Byliśmy świadomi co chcemy osiągnąć, jednak założenia projektu wyklarowały się mniej więcej w połowie wydarzenia.

Technologia

Wcześniejsze doświadczenia nauczyły nas, że nie możemy jako cały zespół porywać się na technologie których nie znamy. Świetnym rozwiązaniem jest aby w zespole znajdowała się przynajmniej jedna doświadczona osoba w technologii, która została wybrana. Ułatwia to rozwiązywanie problemów ale także szybkość zdobywania nowej wiedzy jest niesamowita! Istne F-16 🙂 Warto także:

  • Przygotować się technologicznie. Jeżeli nie znasz wybranych technologi to zapoznaj się z nimi w sposób minimalny. Prezentacja na YouTube oraz dokumentacja na pewno będzie wtedy przydatna. Hackathon to na prawdę świetny czas na naukę i eksperymenty.
  • Zminimalizować czas na realizację warstwy prezentacji. Unikalny wygląd rozwiązania w późniejszym stadium rozwoju jest kluczowy. Jednak podczas maratonu lepiej skupić się na dopracowywaniu pomysłu, a warstwę UI „załatwić” za pomocą frameworków typu: Bootstrap, Semantic UI czy Foundation.
  • Uruchomić publicznie aplikację. Jeżeli nie posiadasz serwera na którym możesz uruchomić swoją aplikację, wykorzystaj np. ngrok aby udostępnić lokalną kopię w internecie. Wtedy każdy po wpisaniu odpowiedniego adresu będzie mógł zobaczyć Twoje dzieło życia 🙂

Pitch

Często samo stworzenie koncepcji lub też w jakimś stopniu działającej aplikacji nie wystarcza. Pod koniec trwającego hackathonu, organizatorzy dają możliwość zaprezentowania rozwiązania przed jury. W dosłownie parę minut należy w sposób jasny i zrozumiały przedstawić realizowaną idee. Może to być prezentacja, video, live demo – zazwyczaj forma jest dowolna. Po prezentacji, w przypadku 24h-CodING jury zadawało nam pytania. Dotyczyły one między innymi:

  • Modelu biznesowego,
  • Konkurencji oraz w jaki sposób pomysł będzie wyróżniał się na jej tle,
  • Sposobów docierania do klientów i ich pozyskiwania,
  • Kolejnych etapów rozwoju.

Warto także zapoznać się z pojęciem Value Proposition Canvas.

4 sprawy

Cztery dobre rady które warto zapamiętać i wdrożyć podczas udziału w hackathonie.

Pierwsza – Korzystaj z networkingu

Hackathon to świetny moment nie tylko na pokazanie się z własnym pomysłem ale także na rozmowę. Rozmowę z innymi specjalistami, wymianę doświadczeń ale także dyskusje o własnych rozwiązaniach. Kilka wizytówek pod ręką także się przyda. Czasem dzięki kontaktom pojawiają się nowe możliwości – pracy, rozwoju (o tym kiedyś, przy okazji wspomnę :)).

Przy okazji rozmawiaj o pomysłach. Nie bój się również przedstawiać swojego, a wręcz zainteresuj nim jak najwięcej osób. Może po hackathonie będzie ktoś chętny kontynuować pracę nad projektem razem z wami.

Druga – Zrób show na prezentacji

Samo zaprezentowanie rozwiązania, nawet z najlepiej przygotowaną prezentacją multimedialną to nie wszystko. Prezentacja aplikacji musi być pewnego rodzaju przedstawieniem. Czymś co przykuje uwagę jury. Wszystko po to aby zapamiętano wasz zespół i pomysł. Najlepiej aby osoba prezentująca była postacią pewną siebie, o silnym charakterze, potrafiącą zapanować nad emocjami (szczególnie stresem) z odrobiną doświadczenia w wystąpieniach publicznych.

Ważne jest aby zainspirować samym wystąpieniem. To właśnie te 2 minuty (lub nieco więcej) które decydują o sprzedaży waszego pomysłu. Podsumowując – zrób po prostu show.

Trzecia – Elevator Pitch

Elevator Pitch to tzw. „przemowa w windzie”. Określa krótką, kilkudziesięciosekundową (np. 20 sekund) prezentację – produktu, rozwiązania, usługi. Przyda Ci się gdy jury i mentorzy przychodzą porozmawiać z zespołami. Warto przedstawiać wasz pomysł w sposób interesujący, tak aby nie zanudzić 10 minutowym wykładem na temat energii kwantów rozproszonych w efekcie Comptona.

Aby stworzyć dobry elevator pitch polecam zapoznać się z metodą 9C:

Czwarta – Prezentacja

Warto przygotować prezentację w różnych formatach – PPTX, PDF, PNG. Nam przytrafił się fail i nie można było uruchomić naszej prezentracji w formacie PDF, pomimo, że na wszystkich naszych komputerach działała wcześniej bez zarzutów. Skończyło się niestety prezentacją na sucho, a szkoda bo była ona tłem naszego wystąpienia. Tutaj nasuwa mi się też takie stwierdzenie:

Przygotuj się na prezentację bez prezentacji.

Na pewno gdy staniesz przed podobnym problemem jak my, nie doznasz identycznego paraliżu 🙂 Będziesz przecież przygotowany na taką ewentualność.

Jeżeli zamierzasz pokazać działanie swojej aplikacji live weź pod uwagę, że może się to nie udać. Nawet jeżeli scenariusz dema przećwiczony został sto razy, nigdy nic się nie zepsuło. Zawsze istnieje ryzyko utraty połączenia z internetem lub problem z serwerem na którym umieszczona została aplikacja. Podczas CodING przygotowaliśmy krótkie wideo prezentujące użycie aplikacji Tiper (służącej do dawania napiwków w sposób mobilny). Nie pokazywaliśmy aplikacji live lecz załączyliśmy poniższy film:

Podsumowanie

Pomimo świetnego, innowacyjnego pomysłu i idealnej realizacji może okazać się, że nie wygrywasz. Ba, nawet nie zostałeś wyróżniony. Jeśli nastawiłeś się na wygraną – trzeba przyjąć to na klatę – życie. Jeśli przyjechałeś dobrze się bawić – pamiętaj o tym czego nauczyłeś się podczas hackathonu. To dobre miejsce na wypróbowanie technologii którą chciałeś od dawna poznać oraz weryfikację radzenia sobie w różnych rolach i warunkach. Jeśli całe życie „kodziłeś bakendy internetów”, spróbuj dotknąć warstwy prezentacji – i na odwrót. Boisz się wystąpień publicznych? Pomóż w prezentacji pomysłu przed jury (zazwyczaj parę osób) – nie musisz od razu grać głównych skrzypiec – dopowiedz coś, przedstaw zespół, podziękuj słuchaczom 🙂

Próbuj, baw się, śledź hackathony i „hackathonuj”.

Na co dzień programujący CTO w Emphie Solutions. Projektuje, tworzy oraz wdraża rozwiązania oparte o ekosystem JavaScript. Rozwija swoje umiejętności z zakresu Cloud / DevOps / SRE. Fascynat programowania, architektury, chmury i dobrych praktyk w szerokim ujęciu. Na temat technologii publikuje materiały w ramach projektu DevEnv, którego jest założycielem.
PODZIEL SIĘ