Як ми зробили хакатон у поїзді та що з цього вийшло

Всім привіт! Я Михайло Клюєв, DevRel в Авіто. У цій статті розповімо вам про наш досвід організації та проведення незвичайного хакатону. Усередині: розповідь про 56 годин кодингу в поїзді, про те, що треба зробити, щоб вони відбулися, про те, які проекти врешті-решт вийшли, і трохи жовтневого моря.

Обережно, трафік.

Як ми зробили хакатон у поїзді та що з цього вийшло

Ідея

Ідея зробити хакатон у поїзді прийшла до мене досить спонтанно вже понад рік тому. Спочатку ми з командою не сприймали її дуже серйозно. На той час ми вже провели кілька внутрішніх хакатонів (про які писали у статтях: 1, 2). Відразу скажу, що для нас процес хакатона важливіший за результат: на виході не очікується нових бізнес-фіч, які підуть у прод. Для нас головне, щоб усі учасники отримали задоволення від участі (проте, якась кількість проектів дійсно потім іде у прод). Покодити для душі — ось головне гасло всіх хакатонів, і кожен учасник вирішує це завдання по-своєму. Надихався я прикладом фанових хакатонів wth.by, на одному з яких мені пощастило побувати у 2015 році.

Нам давно хотілося винести хакатон з офісу, щоб обстановка додавала ще більше драйву та веселощів. Але просто зміни декорацій для півсотні розробників, які більшість часу проведуть за ноутбуками, нам здалося мало. Тут ми й зрозуміли, що можна додати двигуна в хакатон, якщо поєднати його з подорожжю, а поїзд — найочевидніший для цього вид транспорту. Швидкий пошук показав, що хакатони у поїзді у світі вже проводяться, у тому числі на пострадянському просторі, але вітчизняних аналогів ми не знайшли. Ідея здавалася несерйозною і дуже складною в реалізації: куди їхати, щоб дорогою був надійний зв'язок, як заздалегідь викупити квитки в одному вагоні, поки не зібрано паспортних даних учасників, як проводити презентації проектів у поїзді... Але влітку цього року ми вирішили спробувати, і все склалося.

У РЖД можна орендувати вагони різного класу та причіпляти їх до поїздів у потрібних напрямках. Відсутність стабільного інтернету — не баг, а фіча, додатковий челендж, який впливав на вибір технологій і вимагав ретельнішої підготовки, вирішили ми. Місто прибуття обирали просто за часом руху поїзда, одну добу в один бік. Першим варіантом був Єкатеринбург, але потім вирішили, що з осінньої Москви краще вибиратися кудись на південь.

Якоїсь миті нам довелося посунути дати проведення хакатону і щоб поїхати, мені довелося б в останній момент відмовитися від виступів на двох конференціях. Сам я дуже люблю подорожувати потягами, хакатон у поїзді став для мене мрією, тому було дуже прикро його пропустити. Але тепер мені залишається лише передати слово моїм колегам, які успішно організували та провели цей уже легендарний (принаймні в Авіто) хакатон та кусати лікті, розглядаючи фотки та читаючи відгуки учасників. Ну і звісно думати про те, чим здивувати наступного разу!

Підготовка

Як ми зробили хакатон у поїзді та що з цього вийшло Валя Міхно, event-менеджер
Ідея хакатона в поїзді мені одразу сподобалася. Круто витягнути колег з офісу та разом з ними вирушити у подорож, та ще й попрацювати дорогою. До того ж мені завжди цікаво братися за нестандартні завдання та проекти, які до тебе ніхто не робив.
Хоч організовувати хакатон у поїзді завдання і цікаве, але вкрай непросте: важко працювати із залізничною монополією, отримати гарантоване підтвердження реєстрації від програмістів, незрозуміло, як організовувати інтернет у «сліпих» зонах та складати меню на два дні у плацкарті для п'ятдесяти незнайомих колег.

Але, мабуть, найважче було вибрати напрямок нашої подорожі. Спочатку ми планували поїздку до Єкатеринбурга по відомій Транссибірській магістралі. Але в жовтні в Єкатеринбурзі досить холодно, та й варіанти, як провести час п'ятдесяти втомленим програмістам після доби з користю, здалися мені досить банальними — все це можна було і в Москві влаштувати. Тоді з'явилася ідея поїхати на південь до моря. І тут моя увага зупинилася на маленькому курортному місті Анапа. Все складалося якнайкраще: відправлення в п'ятницю вранці, час у дорозі трохи менше доби, сім годин на море (ідеально, щоб закрити пляжний сезон), а прибуття до Москви в неділю ввечері. Загалом, бінго - їдемо до Анапи.

З менеджером РЖД ми вибрали потрібні нам поїзди туди і назад, забронювали вагон-плацкарт (він атмосферніший і краще допомагає згуртувати команди), обговорили всі деталі оформлення поїздки та запустили договір на погодження з нашими юристами. Все йшло як по маслу і спокійно, але за місяць до поїздки мені знадобилася інформація щодо умов вагона (кількість та потужність розеток, наявність постільної білизни та підсклянників та інші дрібниці). І тут почалося…

Я поїхала на зустріч із менеджером РЖД у депо, щоб зробити фотки нашого вагону. Виявилося, що наш новий комфортний плацкарт із фоток на сайті перетворився на вагон 2018 року старого формату. До того ж, навіть його логісти РЗ не дозволили причепити до запланованого поїзда «Москва – Анапа». Умова була ультимативна. Довелося погоджуватися на всі умови та їхати іншим потягом. Відмовитись зовсім ми не могли: йшла реєстрація на хакатон. Новий поїзд їде до Анапи довше, тому наш час у поїзді збільшився на шість годин, а час на морі скоротився до чотирьох. Ми трохи засмутилися, але не зневірилися — адже ми самі хотіли влаштувати хардкор. Так і вийшло.

А як ми їздили в депо з працівниками РЖД на службовій машині з усіма запасами, розкривали наш вагон серед білого дня, залишиться в моїй пам'яті надовго.

Анонс та тематика

Як ми зробили хакатон у поїзді та що з цього вийшло Валя Міхно, event-менеджер
Як ми анонсували хакатон і вигадували тематику гідно окремої історії. Розповім тут про це лише коротко. Ми майже відразу вирішили, що зробимо тематику «Божевільного Макса» і описали це так: «Уявіть, що ми мчимося в Анапу альтернативного майбутнього на футуристичному паровозі. Люди вигадали потужні парові комп'ютери, потужний паровий lisp, fortran та інші бейсики з паскалями, але забули придумати інтернет». Загалом вирішили влаштувати колегам справжній челендж — кодити в хардкорних умовах у поїзді, без нормального інтернету, душу та звичного комфорту, та ще й провести свої вихідні з колегами, яких і так бачиш цілий тиждень, пліч-о-пліч. Так собі перспектива. Одним словом, авантюра!

Ми розробили логотип, придумали дизайн всього мерчу та постерів, зробили лендинг та відкрили реєстрацію. Реєструватися треба було одразу й напевно, бо на кожного виписувався іменний білет. Якщо учасник в останній момент відмовиться, його місце пропаде. Звичайно, ми про це сказали, але переживали, що ніхто не захоче реєструватись: нікому не хочеться підставляти колег, якщо раптом в останній момент з'являться якісь важливі справи. Але я вірила, що авантюристи у нашій компанії існують. У першій хвилі реєстрації вагон заповнився лише наполовину. І якийсь час лічильник реєстрацій не рухався. Тоді нам довелося застосовувати кмітливість.

Щоп'ять днів ми постили нову інформацію щодо етапу підготовки хакатону, що могло залучити нових учасників. Я повідомляла про купівлю високошвидкісних роутерів (інтернет все-таки буде), розповідала про програму в Анапі з шашликами від власника готелю Акопа і постила оптимістичний прогноз погоди — шанси викупатися в жовтні були високі (і прогноз погоди мене не підвів). Любителів поїзної романтики я приваблювала фотками дошираків та історіями створення цієї ідеальної страви для поїзда. Згодом опублікували номінації ювілейного хакатону. Серед них були наші традиційні, наприклад, «Кубок хакатона» та «Найепічніший фейл», і ті, які ми вигадали під цей незвичайний хакатон: «Найдавніший стиль програмування» та «Найкращий фронтець». Наших інженерів номінації на участь надихнули. Ну і наприкінці ми навіть дозволили запрошувати матір хакатонщиків, колишніх співробітників Авіто. У сумі все спрацювало! Рівно за місяць до поїздки наш вагон був повністю укомплектований і всі імена були внесені в договір.

Інтернет

Як ми зробили хакатон у поїзді та що з цього вийшло Валя Міхно, event-менеджер
Незважаючи на те, що тематика хакатона була хардкорною, я дуже хотіла, щоб інтернет все-таки був. Витиснути на повну можливість інтернету на ходу і зробити його доступним для всіх учасників на всьому шляху — це стало для мене челенджем. Я кілька днів спілкувалася з мережевиками в Авіто, вибирала підходящі маршрутизатори для нашого випадку, малювала план їхнього розміщення у вагоні, підбирала найкращого провайдера на шляху «Москва – Анапа», вивчала карти покриття та мануали роутерів. Цікавий досвід! Що вийшло із цього?

Ми купили чотири 4G-роутери з високошвидкісним бездротовим з'єднанням, які дозволяли використовувати дві сім-карти одночасно і перемикатися на того провайдера, чий сигнал був сильнішим. Закупили вісім сім-карт трьох головних російських операторів зв'язку, шістнадцять Wi-Fi та GSM антен. Всі протестували та створили карту мережі за допомогою нашого льотчика-випробувача та розробника, який написав програму, де цю карту можна було створити. Сил витратили багато, але це варте того. Звичайно, на шляху були мертві зони в полях та лісах, але вийшло краще, ніж ми очікували. Швидкості та покриття вистачало навіть для того, щоб наш фотограф міг закачати сотні фоток на хмару та розшарити їх хакатонникам ще в дорозі.

Як ми зробили хакатон у поїзді та що з цього вийшло
Сергій Вертепов, senior QA engineer, льотчик-випробувач інтернету
Одного чудового ранку я прочитав новину про те, що Авіто планує провести ще один хакатон. До цього я в хакатонах не брав участі, але давно планував, і прочитавши, що хакатон буде ще й у поїзді на шляху до Анапи, я одразу зрозумів, що таку можливість не можна упускати. На сайті хакатона було повідомлення про те, що потрібний доброволець, який заздалегідь проїде маршрутом «Москва — Анапа — Москва», щоб скласти карту покриття мережі ну і в цілому розвідати обстановку.
«Хм, непогано», — подумав я і одразу написав про своє бажання стати першопрохідником. Мене дуже здивувало, що ніхто не виявив бажання безкоштовно з'їздити в Анапу, нехай і не курортний сезон. Очевидно, не всі так люблять курорти Краснодарського краю, як я.

28 вересня я опинився у поїзді. У мене було два айфони, додаток, який трекає покриття та координати для побудови подальшої карти (його написав наш lead iOS-engineer Влад Алексєєв), а також Wi-Fi модем із двома сімками. Поїздка пройшла чудово. Особливо тішило те, що за весь час у мене практично не було супутників. Здивувало те, що я не мав якогось інформаційного голоду: інтернет хоч якийсь, та був. На месенджери, соцмережі вистачало. Не завжди, звичайно, але більшу частину часу. Принаймні мені так здавалося, та й карта, яку побудував наш додаток, говорила плюс-мінус про те ж саме. До речі, зауважив, що першу половину шляху стійкіше з'єднання було в одного оператора, а ось ближче до Краснодарського краю в іншого. Загалом, я проїхався потягом, поки один айфон трекав інформацію з однієї сімки, а інший з модему з сімками інших операторів, провів в Анапі одну ніч і повернувся. Уся «подорож» зайняла 4 дні.

Як ми зробили хакатон у поїзді та що з цього вийшло


Умови для роботи в поїзді

Як ми зробили хакатон у поїзді та що з цього вийшло Валя Міхно, event-менеджер
Хардкор хардкор, але загробити шлунки п'ятдесяти інженерів або заразити їх інфекцією не дуже хотілося. Тому важливим пунктом в організації хакатону було створити комфортні умови для роботи в плацкарті, щоб розробників нічого не відволікало творити і писати код. Ми підготували велком пак з усім необхідним: футболка, тапки, набір для сну (маска та беруші), дорожній зубний набір, пачка активованого вугілля, санітайзер, пляшка води, батончик та пару каш швидкого приготування. Крім цього, ми взяли з собою багато різної їжі (яка зайняла цілих дві бічні полиці вагона). З їжі було багато різних закусок, але головною стравою цієї поїздки був, звичайно, доширак. 75 пачок на 50 людей закінчилися швидко. Приз глядацьких симпатій отримав доширак із яловичиною — хлопці навіть обмінювали свої заначки на яловичу дошку. Це було геніально! Більш здорова їжа теж була: ми обідали вагоні-ресторани, їжу в якому ми замовили заздалегідь і навіть поштучно прописали в договорі. Повторюся, ми не хотіли зіпсувати шлунки колег. Обід був комплексний і як належить: «перше», «друге» та салат. Замість компоту – сік. Смішно вийшло, що наш вагон причепили додатково, і він був шістнадцятий по порядку. А вагон-ресторан був одинадцятим. Кожен учасник хакатона дорогою на обід пройшов більше, ніж за двадцять дверей, — провідники, які відповідають за свої вагони, просили зачиняти за собою двері. У сумі за два їди в п'ятницю і в неділю ми відкрили і закрили більше ста двадцяти дверей. Санітайзер поклали не дарма.

У результаті завдяки грамотним анонсам ми успішно закрили реєстрацію, донесли всю важливу інформацію до учасників, у поїзді всі були ситі, ніхто не отруївся, жоден інженер не загубився і ми благополучно доїхали повним складом назад до Москви. "Челлендж комплітед!". У наш телеграм чат «Поїздені на AvitoHack RailRoad» після поїздки хлопці ще довго писали свої враження та фотки з поїздки. Всі залишилися задоволені, відгуки були чудові, а один колега сказав, що це був найяскравіший момент за весь час роботи в Авіто. Я вважаю, що це і є успіх!

Статистика

Хакатон у поїзді – проект масштабний. Ось що ми мали з собою, щоб його реалізувати.

  • 25 коробок з дошираками, молоком, чіпсами та сухариками, кашами, фруктами та овочами, напоями, аптечкою та хакатономерчем.
  • 144 пляшки води.
  • 134 банки різних газованих напоїв.

І витратили майже 42 ГБ мобільного інтернету.

Фотозвіт

Важко писати про атмосферу, тому просто перегляньте фото.

Дивитися фото

.
Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Як ми зробили хакатон у поїзді та що з цього вийшло

Проекти

Ми привезли із собою 19 проектів. Звичайно, про все розповісти тут не зможемо, але трохи подробиць.

Команда «Поездатые ребята» сделала навигатор для построения маршрута в дополненной реальности. Вдохновлялись проектом офисных карт, который был сделан на одном из предыдущих хакатонов. Сейчас навигатор может привести вас в любое место нашего плацкартного вагона.  

Команда «4 туза» сделала приложение для аренды с механикой взаимного поиска. Как Тиндер, только для аренды. Объявления размещают и владельцы квартир, и арендаторы, а поиск происходит в обоих направлениях. Если оба полайкали, то открываются контакты. 

У каждого есть ненужные вещи, от которых хочется избавиться, но даже их не получается продать на Авито. Коллеги из команды «Канапе» представили приложение Hlamingo, где можно обмениваться хламом.

Проект Super Blur — интеллектуальный блюр бэкграунда на фото автомобиля. В результате работы алгоритма сегментируется машина и её бэкграунд на фото, после этого применяется специальный градиентный блюр, для создания фото в стиле портрет.

Fratbots — игра на собственном игровом движке c ASCII-графикой и восьмибитной музыкой. Олды поймут! И графика, и музыка создавались на хакатоне.

А ще ми зробили проект з безкоштовними хмарними обчисленнями на Go, cache для даних моніторингу в СlickHouse (для зниження навантаження на базу даних при частих однакових запитах), проект з безперервним профільуванням Go-додатків, інтерпретатор мови програмування Prolog, прискорили кодогенерацію для нашого Авіто iOS проекту, написали додаток для підбору поєднань опенсорс контенті, а не на Lorem Ipsum і багато чого іншого.

Відгуки учасників

  • Вечірки інтровертів – це чудово! Я досить замкнутий і побоювався, що опиниться не у своїй тарілці. Але я познайомився з усіма у вагоні та навіть запам'ятав імена багатьох! Таке зі мною вперше 🙂
  • І відпочив від роботи, і в морі викупався, і з колегами погасив, і на вільну тему код написав. 12/10 GOTY НА КІНЧИКАХ ПАЛЬЦІВ. Загалом просто бомбично, мегакрутий формат і реалізація.
  • Ідея поїзда на перший погляд здавалася дивною, але коли я взяв участь, то час у поїздці летів непомітно і навіть не хотілося розлучатися після закінчення поїздки. Пісні під гітару, виїзд автобусом під саундтрек з GTA, фотографії…
  • Це було чудово! Познайомитись з відмінними хлопцями у неформальній обстановці. Відкликатися і допомагати один одному — що може бути ціннішим у цьому житті?! А для решти - MasterCard ... Море жартів, веселощів, принаймні, в нашій чудовій команді, і звичайно ж, хардкорної розробки на Rust !!! Вперше у житті побував на морі та зробив, нарешті, йога-фотки на пляжі! А під гітарку б завжди грав у такій теплій атмосфері!
  • Тільки провівши дві доби в поїзді, ставши сильнішими, очистивши свій розум і відкинувши всяке лушпиння у вигляді інтернету та нескінченного углеження, богомерзких індуських мануалів і стековерфлоу, використовуючи забуті стародавні практики медитації над кодоми читання вихідних, спеціальної дієти це люди з якими ти працюєш, що тільки вони можуть підтримати тебе у скрутну хвилину і розділити радість перемоги або терпкий смак найдешевшого вискаря, купленого не сезоном в Анапі!
  • Найяскравіше враження — це коли вночі поїзд зупинився десь у глушині на станції. Вагон не дотягли до перону. І ми вискакували під зірками у темряві та гасили біля вагона. Забиралися по насипу нагору. А довкола — темрява, зірки та тьмяне світло від вагона… Неймовірно просто.
  • Дуже позитивний сюр. Купа кодерів у ночі на пагорбі перед поїздом, море у жовтні, сама по собі ситуація: приїхати до Анапи на кілька годин, викупатися та поїхати назад. Найвідмінніша музика від дуету флейта-гітара, сибірські байки від наших сусідів по плацкарті. Запах дошки, перед якою ніхто не встояв. Безкраї поля, містечка, романтика подорожі, скок-скок через рейки, тутух-тутух, тутух-тутух…

Пам'ятка хакатонника від pik4ez

Якщо ви чи ваші друзі раптом захочуть повторити такий досвід, не зайвим буде поділитися нашим досвідом. Ми попросили найдосвідченішого хакатонника нашої команди, pik4ez'а, скласти пам'ятку для тих, хто вирішить покодити у поїзді. Йому слово.

Як ми зробили хакатон у поїзді та що з цього вийшло Дмитро Бєлов, senior engineer, досвідчений хакатонщик

  • У поїзді важче знайти абсолютно безлюдний куточок, в якому не буде нікого, окрім вашої команди. Будьте добрими сусідами. У нашому випадку у вагоні були і укулеле, і гітара, і флейта. Але хлопці грали дуже добре та не довго. Музика не дратувала, а, навпаки, давала можливість зібратися в музичному куточку, заспівати пару пісень та відпочити від програмування.

  • Алкоголь знижує продуктивність. Не варто вмикати його в меню.

  • Питання із зарядом пристроїв варто вирішити заздалегідь. У нашому випадку був сучасний вагон та достатньо розеток. Але про всяк випадок багато хто брав із собою пауер-банки.

  • Доводиться стежити за таймінгом. На потяг запізнюватися не можна, до пересадок потрібно бути готовим і наперед зібрати необхідні речі. Допомагають збережені пам'ятки з розкладом і організатори, які щасливо їдуть у тому ж вагоні.

  • Скоропорт не беремо, хіба що на перший перекус. З не швидкопсувного можна сконструювати цілком пристойне харчування.

  • Але скільки кодера не годуй, а він все одно дошку любить. У невеликих кількостях чудово заходять локшина швидкого приготування та кава три-в-одному. Вранці хороша каша швидкого приготування. Але повноцінний обід дуже потрібний. Вагон-ресторан може допомогти.

  • Тапочки потрібні.

  • Кодити лежачи на полиці особливо не виходить. Намагаємось не завалювати стіл, щоб розмістити на ньому пару ноутів.

  • Вночі бажано зовсім не шуміти. Хакатон на колесах складніше перенести без сну, тому до ночі багато хто лягає відпочивати.

  • Дуже корисно на станціях виходити розім'ятися.

  • У поїзді підвищується ймовірність почути кілька нових історій навіть від тих, з ким працюєш вже багато років.

  • Якщо бачите море – купайтеся.

Відео, як це було

Ми хочемо передати наші емоції від хакатона якнайкраще, тому ще зняли і відео в поїзді. Ми запитали у хлопців їхні враження від поїздки та кодингу без інтернету, які програми пишуть, де ще можна проводити хакатони та про що мріють програмісти. А Діма Бєлов розповів про свої перші хакатони та в чому користь таких заходів.

Такими були наші враження та проекти. Сподіваємося, надихнули вас на щось нове та цікаве. Якщо цікаві деталі, запитуйте про них у коментарях. Обов'язково відповімо.

Джерело: habr.com

Додати коментар або відгук