КА: Хакатони

КА: Хакатони

Завршни део трилогије хакатона. ИН први део Говорио сам о мотивацији за учешће на оваквим догађајима. Други део била посвећена грешкама организатора и њиховим резултатима. Завршни део ће одговорити на питања која се нису уклапала у прва два дела.

Реците нам како сте почели да учествујете на хакатонима.
Магистрирао сам на Универзитету Лапенранта док сам решавао такмичења у анализи података. Мој типичан дан је изгледао овако: устајање у 8, неколико парова на факултету, па такмичења и курсеви до поноћи (док се број пријава, гледам предавања или читам чланке). Овако строг распоред је уродио плодом и победио сам на такмичењу за анализу података МЕРЦ-2017 (о чему се чак разговарало објавити на чворишту). Победа ми је дала самопоуздање, а када сам случајно наишао на информацију о хакатону СкинХацк 2 у Москви, одлучио сам да посетим родитеље и уједно сазнам шта је хакатон.

Сам хакатон се показао прилично смешним. Постојале су две траке о анализи података са јасним метрикама и скупом података са новчаном наградом од 100 хиљада рубаља. Трећа нумера је била на развоју апликације са наградом од 50 хиљада, а није било учесника. Организатор је у једном тренутку рекао да прозор са дугметом без функционалности може да освоји 50 хиљада, јер се награда не може исплатити. Нисам почео да учим како да програмирам апликације (не такмичим се тамо где се лако могу „преврнути“), али за мене је то била јасна порука да поља на хакатонима нису претрпана.

Онда сам решио оба пута анализе података сам. Пронашао сам цурење у подацима који ми је омогућио да добијем идеалну брзину, али колона са цурењем није била у подацима теста које сам добио два сата пре краја догађаја (успут, тада сам схватио да присуство колоне „мета“ у возу се не рачуна као цурење). У исто време, отворила се листа лидера, моја пријава без лица је заузела треће место од пет, био је велики заостатак за првим и одлучио сам да не губим време и отишао.

Након што сам свежим умом анализирао шта се догодило, пронашао сам гомилу грешака (једна од мојих навика је да ментално скролујем кроз бележницу и анализирам грешке, њихов узрок и шта је могло да се промени - тако пријатно наслеђе полупрофесионалне игре покера). Али једно је сигурно било јасно – хакатони имају велику вредност и једноставно сам то морао да применим. Након овог догађаја почео сам да пратим догађаје и групе, а каснији хакатон није дуго чекао. Онда још један, и још један...

Зашто радиш хакатоне, а не Кагло?
Кагле ми се тренутно не свиђа. Са одређеног нивоа вештине, без посебних разлога за учешће, кагле постаје мање користан од других активности. Раније сам доста учествовао, изгледа да сам некако успео да се „скинем“.

Зашто хакатони, а не рад на сопственом пројекту?
Свиђа ми се идеја да направим нешто кул сопственим рукама у спором темпу. Момци из ОДС су организовали ОДС пројекти кућних љубимаца за све који желе да проведу викенд радећи на свом пројекту са истомишљеницима. Мислим да ћу им се ускоро придружити.

Како проналазите догађаје?
Главни извор - хацкатхон.цом (свет) и телеграм ћаскање руски хакери (Русија). Плус, најаве догађаја се појављују у оглашавању на друштвеним мрежама и на линкедину. Ако ништа не пронађете, можете погледати овде: млх.ио, девпост.цом, хацкевентс.цо, хацкалист.орг, ХацкатхонсНеар.ме, хацкатхон.ио.

Да ли припремате план решења пре учешћа или се све одлучује у ходу? На пример, недељу дана пре хакатона, да ли мислите: „Требаће нам тај и такав специјалиста овде, мораћемо да га потражимо“?
Ако је хакатон за храну, да, спремам се. Неколико недеља пре тога, схватим шта ћу да радим, схватим ко би могао да буде од користи и окупим тим пријатеља или учесника са прошлих хакатона.

Да ли је заиста могуће сами хаковати хакатон? Шта учинити ако нема тима?
Хакатони за науку о подацима су стварни (ја сам живи пример овога), нисам видео хакатоне за намирнице, мада и ја тако мислим. Нажалост, понекад организатори намећу ограничење минималног броја учесника у тиму. Мислим да је то због чињенице да сви „усамљеници“ не дођу до финала (односно, једноставно оду са првим потешкоћама); учешће у тиму још увек кочи. Чак и након догађаја, од вас се очекује да наставите са радом на пројекту. Биће лакше реализовати пројекат са тимом.

Генерално, мој савет је да увек учествујете са тимом. Ако немате свој тим, организатори ће вам увек помоћи да га пронађете или направите.

Како се носите са умором током хакатона?
На хакатону имате 2 дана за рад, то је 48 сати (30-48 сати, узмимо 48 ради лакшег бројања). Уклањамо време за спавање (16-20 сати), остављајући не више од 30. Од тога, 8 сати (у просеку) ће заправо бити потрошено на продуктиван рад. Ако правилно организујете свој посао (сан, исхрана, излазак на свеж ваздух, вежбе, минуте пажње, правилна комуникација са тимом и замена активности), онда се дубинско радно време може повећати на 12-14. После таквог рада осећаћете се исцрпљено, али ће бити пријатан умор. Кодирање без сна и пауза, прекинуто енергетским пићима, рецепт је за неуспех.

Да ли имате своје готове канале за хакатоне? Како сте их набавили, како су организовани (налазе се у фасциклама са .пи датотекама, свака за свој задатак, итд.) и како да почнете да их правите сами?
Не користим потпуно готова решења са прошлих хакатона у новим, али имам свој зоолошки врт модела и цевовода са прошлих такмичења. Не морам да преписујем стандардне делове од нуле (на пример, исправно кодирање циља или једноставну мрежу за издвајање намере из текста), што ми штеди много времена.

У овом тренутку то изгледа овако: за свако такмичење или хакатон постоји сопствени репо на ГитХуб-у, он чува свеске, скрипте и малу документацију о томе шта се дешава. Поред тога, постоји посебан репо за све врсте уоквирених „трикова“ (као што је исправно кодирање циља са унакрсном провером). Мислим да ово није најелегантније решење, али ми за сада одговара.

Почео бих тако што бих сачувао сав свој код у фасциклама и написао кратку документацију (зашто, шта, како сам то урадио и резултат).

Да ли је реално припремити МВП од нуле за тако кратко време или сви учесници долазе са готовим решењима?
Могу само да кажем о пројектима који се односе на науку о подацима - да, могуће је. МВП за мене је комбинација два фактора:

  • Изводљива идеја представљена као производ (тј. насликана на пословном платну). Увек треба да постоји јасно разумевање зашто и за кога правимо производ. Понекад пројекти са добро утемељеним дизајном, али без прототипа, добијају награде, и то није изненађујуће. Нажалост, многи учесници не могу да игноришу горчину пораза и да своје неуспехе припишу кратковидости организатора, настављајући да на следећим хакатонима кроје моделе за непознатог.
  • Неки показатељ да можете направити овај производ (апликација, шифра, опис цевовода).

Дешава се да екипа на хакатон дође са готовим решењем и покуша да га „скроји” по упутствима организатора. Такви тимови су искључени током техничког прегледа или се „броји“ само део који су урадили на сајту. Нисам видео такве тимове као победнике, али мислим да им је ипак исплативо да играју због будуће вредности (контакти, скупови података итд.).

Да ли постоје примери довођења заната имплементираних на хакатонима у производњу/стартуп?
Да. Имао сам три случаја када су га довели у производњу. Једном сам, двапут - туђим рукама, на основу мојих идеја и кода који сам написао на хакатону. Познајем и пар тимова који су наставили да сарађују са компанијом као консултанти. Не знам коначне резултате, али највероватније је нешто завршено. Сам нисам организовао стартапове и не знам да ли неко јесте, мада сам сигуран да има примера.

Након учешћа на многим хакатонима, који бисте савет дали себи када бисте могли да се вратите у прошлост?

  1. Тактика је важнија од маневара. Замислите свако решење као готов производ. Идеја, Јупитер лаптоп, алгоритам ништа не вреде ако није јасно ко ће то да плати.
  2. Пре него што дизајнирате било шта, одговорите на питање не „шта?”, већ „зашто?” И како?". Пример: када дизајнирате било које МЛ решење, прво размислите о идеалном алгоритму: шта добија као улаз, како се његова предвиђања користе у будућности?
  3. Будите део тима.

Чиме се обично хране на хакатонима?
Обично је храна на хакатонима лоша: пица, енергетска пића, газирана пића. Готово увек храна је организована у облику шведског стола (или стола за сервирање) за који се чека велики ред. Обично не дају храну ноћу, мада је на једном такмичењу у Паризу био случај где је храна остављена преко ноћи - чипс, крофне и кола. Замислићу процес размишљања организатора: „Па шта тамо једу програмери? Ох, тачно! Чипс, крофне - то је све. Хајде да им дамо ово смеће." Сутрадан сам питао организаторе: „Момци, да ли је могуће направити нешто другачије за ноћ? Па, можда кашу?” После су ме гледали као да сам идиот. Чувено француско гостопримство.

На добрим хакатонима храна се наручује у кутијама, постоји подела на обичне, вегетаријанске и кошер оброке. Поред тога, ставили су фрижидер са јогуртима и муслијима - за оне који желе да ужину. Чај, кафа, вода - стандардно. Сећам се хакатона Хацк Мосцов 2 - здушно су ме хранили боршчом и котлетима са пире кромпиром у кантини канцеларије 1Ц.

Разумност хакатона зависи, да тако кажем, од професионалне сфере организатора (на пример, најбоље хакатоне спроводе консултанти)?
Најбољи хакатони су били организатори који су или раније организовали хакатоне или су учествовали у њима. Можда је то једини фактор од кога зависи квалитет догађаја.

Како разумети да нисте нооб и да је време за хакатон?
Најбоље време за одлазак на хакатон је пре годину дана. Друго најбоље време је сада. Зато напредујте, правите грешке, учите - у реду је. Чак ни неуронска мрежа - највећи човеков изум још од точка и нагиба над дрвећем - не може да разликује мачку од пса у првој епохи обуке.

Које „црвене заставице“ одмах указују да догађај неће бити баш добар и да нема потребе за губљењем времена?

  • Јасан опис шта треба да се уради (релевантно за хакатоне производа). Ако током регистрације добијете јасан задатак, онда је боље остати код куће. У мом сећању није било ни једног доброг хакатона са техничким спецификацијама. За поређење: Добро – урадите нам нешто везано за анализу аудио разговора. Лоше - направите нам апликацију која би могла да подели разговор на два одвојена аудио записа за сваку особу.
  • Мали наградни фонд. Ако се од вас тражи да направите „Тиндер за онлајн продавницу са вештачком интелигенцијом“, а награда за прво место је 500 евра и минимална величина тима од 5 људи, вероватно не вреди губити време (да, ово је прави хакатон који је одржано у Минхену).
  • Недостатак података (релевантно за хакатоне науке о подацима). Организатори обично пружају основне информације о догађају, а понекад и узорке скупа података. Ако то нису дали, питајте, неће вас ништа коштати. Ако у року од 2-3 није јасно који ће подаци бити дати и да ли ће уопште бити достављени, ово је црвена заставица.
  • Нови организатори. Не будите лењи и Гуглајте информације о организаторима хакатона. Ако први пут одржавају догађај ове врсте, велика је вероватноћа да ће нешто поћи по злу. С друге стране, ако су организатор и чланови жирија већ одржавали хакатоне или активно учествовали у прошлости, ово је зелена застава.

На једном хакатону су ми рекли: „Имао си најбоље решење за кратко време, али извини, ми оцењујемо тимски рад, а ти си радио сам. Е сад, ако узмеш студента или девојку у свој тим...”? Да ли сте се икада сусрели са таквом неправдом? Како сте се снашли?
Да, срео сам га више пута. Стоичан сам према свему што се дешава: урадио сам све што је било у мојој моћи, ако није успело, нека буде.

Зашто све ово радиш?
Све ово је само из досаде.

Извор: ввв.хабр.цом

Додај коментар