QA: Хакатони

QA: Хакатони

Последната част от трилогията на хакатона. IN първата част Говорих за мотивацията да участвам в подобни събития. Втората част беше посветен на грешките на организаторите и техните резултати. Последната част ще отговори на въпроси, които не се вписват в първите две части.

Разкажете ни как започнахте да участвате в хакатони.
Учих за магистърска степен в университета в Лапеенранта, докато решавах състезания по анализ на данни. Типичният ми ден изглеждаше така: ставане в 8, няколко двойки в университета, след това състезания и курсове до полунощ (докато се брои кандидатстването, гледам лекции или чета статии). Такъв строг график даде плодове и спечелих състезанието за анализ на данни MERC-2017 (което дори беше обсъдено публикувайте в хъб). Победата ми даде увереност и когато случайно попаднах на информация за хакатона SkinHack 2 в Москва, реших да посетя родителите си и в същото време да разбера какво е хакатон.

Самият хакатон се оказа доста забавен. Имаше две писти за анализ на данни с ясни показатели и набор от данни с награден фонд от 100 50 рубли. Третата песен беше за разработка на приложения с награда от 50 хиляди и нямаше участници. В един момент организаторът каза, че прозорец с бутон без функционалност може да спечели XNUMX хиляди, защото наградата не може да бъде изплатена. Не започнах да се уча как да програмирам приложения (не се състезавам там, където лесно мога да бъда „преобърнат“), но за мен беше ясно послание, че полетата в хакатоните не са претъпкани.

След това реших сам и двете песни за анализ на данни. Открих изтичане на данни, което ми позволи да получа идеалната скорост, но колоната с изтичане не беше в тестовите данни, които получих два часа преди края на събитието (между другото, тогава разбрах, че присъствието на колона „мишена“ във влака не се брои за теч). В същото време се отвори класирането, моето събмишън без лице зае трето място от пет, имаше голяма разлика с първия и реших да не губя време и си тръгнах.

След като анализирах със свеж ум случилото се, открих куп грешки (един от навиците ми е да превъртам наум случилото се с бележника и да анализирам грешките, причината за тях и какво можеше да бъде променено - толкова приятно наследство на полупрофесионална игра на покер). Но едно нещо беше ясно със сигурност – хакатоните имат голяма стойност и аз просто трябваше да ги внедря. След това събитие започнах да наблюдавам събития и групи и последващият хакатон не закъсня. После още един, и още един...

Защо правите хакатони, а не Kaglo?
Kagle не ми харесва в момента. От определено ниво на умения, без конкретни причини за участие, kagle става по-малко полезен от други дейности. Участвах много преди, явно съм успял някак да се „откача“.

Защо хакатони, а не работа по собствен проект?
Харесва ми идеята да направя нещо готино със собствените си ръце на бавно темпо. Организираха се момчетата от ODS ODS проекти за домашни любимци за всички, които искат да прекарат уикенда в работа по своя проект със съмишленици. Мисля, че скоро и аз ще се присъединя към тях.

Как намирате събития?
Основен източник - hackathon.com (свят) и телеграм чат Руски хакери (Русия). Освен това съобщенията за събития се появяват в рекламите в социалните мрежи и в Linkedin. Ако не намерите нищо, можете да погледнете тук: mlh.io, devpost.com, hackevents.co, hackalist.org, HackathonsNear.me, hackathon.io.

Подготвяте ли план за решение преди участие или всичко се решава в движение? Например седмица преди хакатона мислите ли си: „Ще имаме нужда от такъв и такъв специалист тук, ще трябва да го потърсим“?
Ако хакатонът е за храна, да, подготвям се. Няколко седмици преди това измислям какво ще правя, измислям кой може да е полезен и събирам екип от приятели или участници от минали хакатони.

Наистина ли е възможно да хакнете хакатон сам? Какво да правите, ако няма екип?
Хакатоните за наука за данни са реални (аз съм жив пример за това), не съм виждал хакатони за хранителни стоки, въпреки че също мисля така. За съжаление, понякога организаторите налагат ограничение за минималния брой участници в един отбор. Мисля, че това се дължи на факта, че не всички „самотници“ достигат до финала (тоест те просто си тръгват с първите трудности), участието в отбор все още се задържа. Дори след събитието се очаква да продължите да работите по проекта. Ще бъде по-лесно да осъществите проекта с екип.

Като цяло моят съвет е винаги да участвате с екип. Ако нямате собствен екип, организаторите винаги ще ви помогнат да намерите или създадете такъв.

Как се справяте с умората по време на хакатон?
На хакатона ви се дават 2 дни за работа, това са 48 часа (30-48 часа, да приемем 48 за по-лесно броене). Премахваме времето за сън (16-20 часа), оставяйки не повече от 30. От тях 8 часа (средно) всъщност ще бъдат изразходвани за продуктивна работа. Ако организирате правилно работата си (сън, хранене, излизане на чист въздух, упражнения, минути на внимание, правилна комуникация с екипа и превключване на дейности), тогава дълбоките работни часове могат да бъдат увеличени до 12-14. След такава работа ще се почувствате изтощени, но ще бъде приятна умора. Кодирането без сън и почивки, прекъсвано от енергийни напитки, е рецепта за провал.

Имате ли собствени готови тръбопроводи за хакатони? Как ги взехте, как са организирани (те са в папки с .py файлове, всеки за своя задача и т.н.) и как да започнете да ги създавате сами?
Не използвам напълно готови решения от минали хакатони в нови, но имам собствена зоологическа градина от модели и конвейери от минали състезания. Не се налага да пренаписвам стандартни части от нулата (например правилно целево кодиране или проста мрежа за извличане на намерение от текст), което ми спестява много време.

В момента изглежда така: за всяко състезание или хакатон има собствено репо в GitHub, съхранява тетрадки, скриптове и малка документация за това, което се случва. Освен това има отделно репо за всички видове „трикове“ в кутия (като правилно целево кодиране с кръстосано валидиране). Не мисля, че това е най-елегантното решение, но за сега ме устройва.

Бих започнал, като запазя целия си код в папки и напиша кратка документация (защо, какво, как го направих и резултата).

Реалистично ли е да подготвите MVP от нулата за толкова кратко време или всички участници идват с готови решения?
Мога да кажа само за проекти, свързани с data science - да, възможно е. MVP за мен е комбинация от два фактора:

  • Жизнеспособна идея, представена като продукт (т.е. нарисувана върху бизнес платно). Винаги трябва да има ясно разбиране защо и за кого правим продукт. Понякога проекти с добре обоснован дизайн, но без прототип, печелят награди и това не е изненадващо. За съжаление, много участници не могат да пренебрегнат горчивината на поражението и приписват неуспехите си на късогледството на организаторите, продължавайки да кроят модели за неизвестен човек на следващите хакатони.
  • Някакъв индикатор, че можете да направите този продукт (приложение, код, описание на тръбопроводи).

Случва се екип да дойде на хакатон с готово решение и да се опита да го „приспособи“ към инструкциите на организаторите. Такива екипи се отрязват по време на технически преглед или се „отчита“ само частта, която са направили на сайта. Не съм виждал такива отбори като победители, но мисля, че все пак е изгодно да играят заради бъдещата стойност (контакти, масиви от данни и др.).

Има ли примери за пренасяне на занаяти, внедрени на хакатони, в производство/стартиране?
да Имах три случая, когато го донесоха в производство. Веднъж аз, два пъти - с ръцете на някой друг, въз основа на моите идеи и код, който написах на хакатона. Познавам и няколко екипа, които продължиха да си сътрудничат с компанията като консултанти. Не знам крайните резултати, но най-вероятно нещо е завършено. Самият аз не съм организирал стартъпи и не знам някой да е правил, въпреки че съм сигурен, че има примери.

След участие в много хакатони, какъв съвет бихте си дали, ако можехте да се върнете назад във времето?

  1. Тактиката е по-важна от маневрите. Гледайте на всяко решение като на завършен продукт. Идея, лаптоп Юпитер, алгоритъм не струват нищо, ако не е ясно кой ще го плати.
  2. Преди да проектирате нещо, отговорете на въпроса не „какво?“, а „защо?“ И как?". Пример: когато проектирате каквото и да е ML решение, първо помислете за идеалния алгоритъм: какво получава като входни данни, как неговите прогнози се използват в бъдеще?
  3. Бъдете част от екип.

С какво обикновено се хранят на хакатоните?
Обикновено храната на хакатоните е бедна: пица, енергийни напитки, сода. Почти винаги храната е организирана под формата на бюфет (или маса за сервиране), пред който има огромна опашка. Обикновено не осигуряват храна през нощта, въпреки че имаше случай на едно състезание в Париж, където храна беше оставена през нощта - чипс, понички и кола. Ще си представя мисловния процес на организаторите: „И какво ядат програмистите там? О, точно така! Чипс, понички - това е всичко. Нека им дадем този боклук. На следващия ден попитах организаторите: „Момчета, възможно ли е да направим нещо различно за вечерта? Е, може би малко каша?“ След това ме гледаха като идиот. Известно френско гостоприемство.

На добрите хакатони храната се поръчва в кутии, има разделение на обикновени, вегетариански и кашерни ястия. Плюс това сложиха хладилник с кисели млека и мюсли - за тези, които искат да хапнат. Чай, кафе, вода - стандартно. Спомням си хакатона Hack Moscow 2 - сърдечно ме нахраниха с борш и котлети с картофено пюре в столовата на офиса на 1C.

Разсъдъкът на хакатоните зависи, така да се каже, от професионалната сфера на организаторите (например най-добрите хакатони се провеждат от консултанти)?
Най-добрите хакатони бяха от организатори, които са организирали хакатони преди или са участвали в тях преди. Може би това е единственият фактор, от който зависи качеството на събитието.

Как да разберете, че не сте нуб и е време за хакатон?
Най-доброто време да отидете на хакатон е преди година. Второто най-добро време е сега. Така че действайте, правете грешки, учете се - всичко е наред. Дори една невронна мрежа - най-великото изобретение на човека след колелото и градиентното усилване над дърветата - не може да различи котка от куче в първата епоха на обучение.

Какви „червени знамена“ веднага показват, че събитието няма да е много добро и няма нужда да губите време?

  • Ясно описание на това, което трябва да се направи (от значение за хакатони на продукти). Ако по време на регистрацията ви бъде поставена ясна задача, тогава е по-добре да останете вкъщи. В моята памет нямаше нито един добър хакатон с технически спецификации. За сравнение: Добре – направете ни нещо свързано с анализиране на аудио разговори. Лошо – направете ни приложение, което ще може да разделя разговор на два отделни аудиозаписа за всеки човек.
  • Малък награден фонд. Ако ви помолят да направите „Tinder за онлайн магазин с AI“ и наградата за първо място е 500 евро и минимален размер на екипа от 5 души, вероятно не си струва да си губите времето (да, това е истински хакатон, който беше проведено в Мюнхен).
  • Липса на данни (от значение за хакатони за наука за данни). Организаторите обикновено предоставят основна информация за събитието и понякога примерен набор от данни. Ако не са го предоставили, попитайте, няма да ви струва нищо. Ако в рамките на 2-3 не е ясно какви данни ще бъдат предоставени и дали изобщо ще бъдат предоставени, това е червен флаг.
  • Нови организатори. Не бъдете мързеливи и Google информация за организаторите на хакатона. Ако провеждат подобно събитие за първи път, има голяма вероятност нещо да се обърка. От друга страна, ако организаторът и членовете на журито вече са провеждали хакатони или са участвали активно в миналото, това е зелен флаг.

На един хакатон ми казаха: „Имахте най-доброто решение за кратко време, но съжалявам, ние оценяваме работата в екип, а вие работихте сами. Сега, ако вземете студент или момиче в отбора си...”? Сблъсквали ли сте се с такава несправедливост? как се справихте
Да, срещал съм го повече от веднъж. Стоически съм за всичко, което се случва: направих всичко по силите си, ако не се получи, така да бъде.

Защо правиш всичко това?
Всичко това е просто от скука.

Източник: www.habr.com

Добавяне на нов коментар