我們如何在火車上舉辦黑客馬拉松以及結果如何

大家好! 我是 Misha Klyuev,Avito 的 DevRel。 在這篇文章中,我們將向您介紹我們組織和舉辦一次不尋常的黑客馬拉鬆的經驗。 裡面:一個關於在火車上 56 小時編碼的故事,需要做什麼才能實現它,最終發生了哪些項目,以及十月大海的一點點。

當心交通。

我們如何在火車上舉辦黑客馬拉松以及結果如何

想法

一年多前,我自然地萌生了在火車上舉辦黑客鬆的想法。 起初,我和我的團隊並沒有太認真地對待它。 那時,我們已經舉辦了幾場內部黑客馬拉松(文章中有介紹: 1, 2)。 我馬上就會說,對我們來說,黑客馬拉鬆的過程比結果更重要:輸出預計不會是投入生產的新業務功能。 對我們來說最重要的是所有參與者都享受參與(但是,一定數量的項目實際上是稍後投入生產的)。 為靈魂編碼是我們所有黑客馬拉鬆的主要口號,每個參與者都以自己的方式解決這個問題。 我受到了 wth.by 粉絲黑客馬拉鬆的啟發,我有幸參加了 2015 年的其中一場活動。

我們一直希望將黑客馬拉松帶出辦公室,這樣的氛圍將增添更多的動力和樂趣。 但對於 XNUMX 名將大部分時間花在筆記型電腦上的開發人員來說,僅僅改變環境對我們來說似乎還不夠。 就在那時我們意識到,如果我們將黑客馬拉松與旅行結合起來,我們可以為黑客馬拉松增添動感,而火車是最明顯的交通工具。 快速搜尋發現世界各地都有火車黑客馬拉松。 已經在進行中,包括在後蘇聯空間,但我們沒有找到任何國內類似的情況。 這個想法似乎很輕率,而且很難實施:去哪里以便沿途有可靠的溝通,如何在一節車廂裡提前買票直到收集到參與者的護照詳細信息,如何在現場進行項目演示。火車……但今年夏天我們決定嘗試一下,一切都很順利。

您可以從俄羅斯鐵路公司租用不同等級的車廂,並將它們掛在所需方向的火車上。 我們決定,缺乏穩定的網路不是一個錯誤,而是一個功能,一個影響技術選擇的額外挑戰,需要更徹底的準備。 目的地城市的選擇只是根據火車的行程時間,一日一程。 第一個選擇是葉卡捷琳堡,但後來他們決定最好離開秋天的莫斯科,前往南部的某個地方。

在某個時候,我們不得不改變黑客馬拉鬆的日期,為了去參加,我必須在最後一刻拒絕在兩次會議上發言。 我自己很喜歡坐火車旅行,火車上的黑客馬拉鬆成了我的夢想,所以我錯過了非常遺憾。 但現在我只能把發言權交給我的同事們,他們成功地組織和舉辦了這場已經具有傳奇色彩的(至少在Avito)黑客馬拉松,並咬緊牙關,查看照片並閱讀參與者的評論。 當然,想想下次給什麼驚喜吧!

訓練

我們如何在火車上舉辦黑客馬拉松以及結果如何 瓦利亞·米赫諾,活動經理
我立刻喜歡上了在火車上舉辦黑客鬆的想法。 讓你的同事走出辦公室,和他們一起去旅行,甚至沿途工作,這真是太酷了。 此外,我總是對承擔以前沒有人做過的非標準任務和專案感興趣。
雖然在火車上組織黑客馬拉松是一項有趣的任務,但它卻極其困難:很難與鐵路壟斷機構合作,很難獲得程式設計師的註冊確認,尚不清楚如何在「盲點」組織互聯網並為XNUMX名不熟悉的同事預留了兩天的菜單。

但也許最困難的事情是選擇我們旅程的方向。 起初我們計劃沿著著名的西伯利亞鐵路前往葉卡捷琳堡。 但十月份的葉卡捷琳堡相當寒冷,對於我來說,在火車上度過一天后,如何為五十個疲憊的程式設計師有效地消磨時間的選擇對我來說似乎相當平庸——所有這一切都可以在莫斯科安排。 然後就產生了向南去、去海邊的想法。 然後我的注意力集中在阿納帕這個度假小鎮上。 一切都很順利:週五早上出發,旅行時間不到一天,海上航行七個小時(非常適合海灘季節結束),週日晚上抵達莫斯科。 總的來說,賓果遊戲 - 我們要去阿納帕。

我們和俄羅斯鐵路公司的經理一起選擇了需要的往返列車,預訂了預留座車(更有氣氛,更有利於團隊團結),討論了行程的所有細節,並與我們的律師簽訂了協議審批。 一切都進行得很順利、平靜,但在旅行前一個月,我需要有關車廂狀況的資訊(插座的數量和功率、床單和杯架的可用性以及其他小東西)。 然後事情就開始了…

我去車站與俄羅斯鐵路經理開會,為我們的車廂拍照。 原來,我們在網站上的照片上新舒適的預留座位變成了2018年舊格式的車廂。 此外,就連俄羅斯鐵路後勤人員也不允許其掛接到原計劃的莫斯科-阿納帕列車上。 這個條件是最後通牒。 我不得不同意所有條件並乘坐另一趟火車。 我們無法完全拒絕:黑客馬拉鬆的報名正在緊鑼密鼓地進行中。 新火車到達阿納帕的時間更長,因此我們在火車上的時間增加了六個小時,而在海上的時間減少到四個小時。 我們有點沮喪,但並沒有絕望——我們自己想做硬核。 事情就這樣發生了。

而我們如何與俄羅斯鐵路員工一起乘坐公司汽車帶著所有物資前往車站,並在光天化日之下打開車廂,將留在我的記憶中很長一段時間......

公告及主題

我們如何在火車上舉辦黑客馬拉松以及結果如何 瓦利亞·米赫諾,活動經理
我們如何宣布黑客馬拉松並提出這個主題值得一個單獨的故事。 我在這裡只簡單地談談這一點。 我們幾乎立即決定製作一個《瘋狂麥斯》的主題,並這樣描述它:「想像一下,我們正乘坐未來蒸汽機車趕往另一個未來的阿納帕。 人們發明了強大的蒸汽計算機、強大的蒸汽 Lisp、Fortran 和其他帶有 Pascal 的 BASIC,但他們忘記了互聯網的發明。” 總的來說,我們決定給我們的同事一個真正的挑戰——在火車上的硬核條件下編碼,沒有正常的互聯網、淋浴和通常的舒適度,此外,與你已經見過整整一周的同事一起度過週末,並肩。 前景一般。 一句話,冒險!

我們開發了一個標誌,設計了所有商品和海報,製作了一個登陸頁面並開放了註冊。 必須立即登記,因為我們為每個人發放了一張個人化的門票。 如果參賽者在最後一刻拒絕,他的席位將被取消。 當然,我們這麼說,但我們擔心沒有人願意登記:沒有人願意在最後一刻突然出現一些重要的事情來暴露自己的同事。 但我相信我們公司裡有冒險家。 第一波報名時,車廂只坐了一半。 一段時間以來,登記櫃檯都沒有動過。 然後我們就必須發揮我們的智慧。

每五天我們都會發布有關黑客馬拉松準備階段的新訊息,這可以吸引新的參與者。 我報告了購買高速路由器的情況(畢竟會有互聯網),從酒店老闆 Akop 那裡談論了阿納帕的燒烤計劃,並發布了樂觀的天氣預報 - 十月游泳的機會很高(並且天氣預報沒有讓我失望)。 我用銅鑼燒的照片和製作這道理想火車菜餚的故事吸引了火車浪漫愛好者。 隨後公佈了週年紀念黑客馬拉鬆的提名。 其中包括我們的傳統項目,例如“黑客馬拉松杯”和“最史詩般的失敗”,以及我們為這次不尋常的黑客馬拉松想出的項目:“最古老的編程風格”和“最佳主唱” 。 我們的工程師受到提名的啟發而參與其中。 好吧,最後,我們甚至允許邀請經驗豐富的黑客馬拉松工作人員,前 Avito 員工。 總的來說,一切順利! 就在出發前一個月,我們的馬車裝備齊全,所有的名字都寫在合約裡了。

因特網

我們如何在火車上舉辦黑客馬拉松以及結果如何 瓦利亞·米赫諾,活動經理
儘管黑客馬拉鬆的主題很硬核,但我真的希望網路存在。 充分利用行動互聯網並讓所有參與者都能上網——這對我來說是一個挑戰。 我花了幾天時間與阿維託的網路專家溝通,為我們的案例選擇合適的路由器,制定了它們在車廂中的放置計劃,選擇莫斯科-阿納帕路線上最好的提供商,研究覆蓋地圖和路由器手冊。 有趣的經驗! 由此產生了什麼?

我們購買了四台具有高速無線連接的4G路由器,這使我們可以同時使用兩張SIM卡並切換到更強大訊號的供應商。 我們從俄羅斯三大電信業者購買了八張SIM卡、十六張Wi-Fi和GSM天線。 我們測試了所有內容,並在我們的測試飛行員和編寫了可以創建該地圖的應用程式的開發人員的幫助下創建了一個網路地圖。 我們付出了很多努力,但這是值得的。 當然,一路上也有田野和森林的死區,但結果比我們預想的還要好。 速度和覆蓋範圍甚至足以讓我們的攝影師將數百張照片上傳到雲端,並在途中與黑客馬拉松參與者分享。

我們如何在火車上舉辦黑客馬拉松以及結果如何
Seryozha Vertepov,資深 QA 工程師、網路測試飛行員
一個晴朗的早晨,我讀到消息稱 Avito 計劃舉辦另一場黑客馬拉松。 我以前沒有參加過黑客馬拉松,但我已經計劃了很長時間,當我得知黑客馬拉松也將在前往阿納帕的火車上時,我立即意識到這個機會不容錯過。 黑客馬拉松網站上有消息稱,需要一名志願者,提前沿著「莫斯科-阿納帕-莫斯科」路線行駛,繪製網路覆蓋圖,大致摸清情況。
「嗯,還不錯,」我想,並立即寫下了我想成為先驅的願望。 令我感到非常驚訝的是,即使在非假日期間,也沒有人表示願意免費去阿納帕。 顯然,並不是每個人都跟我一樣喜歡克拉斯諾達爾邊疆區的度假村。

28月4日,我發現自己在火車上。 我有兩部 iPhone、一個用於追蹤覆蓋範圍和座標以建立進一步地圖的應用程式(由我們的首席 iOS 工程師 Vlad Alekseev 編寫),以及帶有兩張 SIM 卡的 Wi-Fi 調製解調器。 這次旅行很棒。 特別令人高興的是,整個過程中我幾乎沒有旅伴。 令人驚訝的是,我對資訊沒有任何渴望:至少有某種網路。 對於通訊工具和社交網路來說已經足夠了。 當然,並非總是如此,但大多數時候都是如此。 至少對我來說是這樣,我們的應用程式建立的地圖說,無論是加還是減,都是同樣的事情。 順便說一句,我注意到在旅程的前半段,一個運營商的連接更穩定,但靠近克拉斯諾達爾邊疆區的另一個運營商的連接更穩定。 一般來說,當我乘坐火車時,一部 iPhone 跟踪一張 SIM 卡上的信息,另一部則通過帶有其他運營商 SIM 卡的調製解調器跟踪信息,在阿納帕住了一晚然後返回。 整個「旅程」歷時XNUMX天。

我們如何在火車上舉辦黑客馬拉松以及結果如何


火車上的工作條件

我們如何在火車上舉辦黑客馬拉松以及結果如何 瓦利亞·米赫諾,活動經理
硬核就是硬核,但我真的不想毀了五十個工程師的胃,或是讓他們感染病毒。 因此,組織黑客馬拉鬆的一個重點是為預留座位創造舒適的工作條件,這樣就不會分散開發人員創建和編寫程式碼的注意力。 我們準備了迎賓禮包,其中包含您所需的一切:T 卹、拖鞋、睡眠套裝(面罩和耳塞)、旅行牙科套裝、一包活性碳、消毒劑、一瓶水、一塊棒棒糖和一些速食麥片。 此外,我們還帶了很多不同的食物(佔據了車廂的兩個側架)。 食物包括許多不同的小吃,但這次旅行的主菜當然是doshirak。 75人份的50包很快就賣完了。 人民選擇獎頒給了牛肉多希拉克——這些人甚至用他們的收藏換了牛肉多希拉克。 那真是太棒了! 還有更健康的食物:我們在餐車用餐,食物是我們提前訂購的,甚至在合約中單獨指定。 我再說一遍,我們不想破壞同事們的胃口。 午餐已經準備好了,正如預期的那樣:「第一道菜」、「第二道菜」和沙拉。 而不是蜜餞 - 果汁。 有趣的是,我們的馬車是額外附上的,而且是第十六輛。 餐車是第十一輛。 每個黑客馬拉松參與者在去吃午餐的路上都會經過二十多扇門;負責他們車輛的售票員要求他們關上身後的門。 週五和週日的兩頓飯,我們總共打開和關閉了一百二十多扇門。 他們放入消毒劑並沒有白費。

結果,在有力的公告的幫助下,我們成功關閉了報名,將所有重要信息傳達給了參與者,車上每個人都吃飽了,沒有人中毒,沒有一個工程師迷路,我們全員安全抵達強行返回莫斯科。 “挑戰完成!” 旅行結束後,這些傢伙在我們的電報聊天“Riden on AvitoHack RailRoad”中寫下了他們對這次旅行很長一段時間的印象和照片。 每個人都很高興,評價也很好,一位同事說這是他在 Avito 工作期間最輝煌的時刻。 我想這就是成功吧!

統計

火車上的黑客馬拉松是一個大型專案。 這就是我們為實現這一目標所擁有的一切。

  • 25 盒,內含壽司捲、牛奶、薯條和餅乾、麥片、水果和蔬菜、飲料、急救箱和黑客馬拉松商品。
  • 144瓶水。
  • 各種碳酸飲料134罐。

我們使用了近 42 GB 的行動互聯網。

圖片報導

氣氛很難寫,就看照片吧。

查看照片

.
我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

我們如何在火車上舉辦黑客馬拉松以及結果如何

工程

我們帶來了19個項目。 當然,我們不能在這裡告訴你一切,但這裡有一些細節。

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

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

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

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

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

我們還做了一個項目 Go 上的免費雲端運算,用於監控СlickHouse 中資料的快取(以減少頻繁相同請求對資料庫的負載),一個持續分析Go 應用程式的項目,一個Prolog 程式語言的解釋器,加速我們Avito iOS 項目的程式碼生成,編寫了一個應用程式用於選擇真實內容中開源字體的組合,而不是 Lorem Ipsum 等等。

參與者的回饋

  • 內向的聚會很棒! 我很內向,害怕自己會格格不入。 但車廂裡的每個人我都認識了,甚至還記得很多人的名字! 這是我第一次遇到這種情況:)
  • 我在工作中休息了一下,在海裡游泳,和同事一起出去玩,並在自由主題上編寫程式碼。 12/10 GOTY觸手可及。 一般來說,只是炸彈、超酷的格式和實現。
  • 乘坐火車的想法乍一看似乎很奇怪,但一旦我參加了,旅行的時間就過得很快,我什至在旅行結束時都不想離開。 彈著吉他的歌曲、搭乘巴士聆聽 GTA 的配樂、照片…
  • 這太棒了! 在非正式的環境中結識優秀的男士。 互相回應、互相幫助──這輩子還有什麼比這更有價值的呢?! 對於其他一切 - 萬事達卡...很多笑話,有趣,至少在我們出色的團隊中,當然還有 Rust 的核心開發! 人生第一次下海,終於在沙灘上拍了瑜珈照! 我會在這樣溫暖的氣氛中永遠彈吉他!
  • 只有在火車上待了兩天之後,變得更強大,理清思緒,扔掉互聯網和無休止的谷歌搜索、噁心的印度手冊和stackoverflow 形式的所有外殼,使用被遺忘的古老冥想代碼和閱讀源代碼的做法,特殊的飲食和酒精,你明白最重要的是 - 這些是與你一起工作的人,只有他們才能在困難時期支持你並分享勝利的喜悅或從最便宜的威士忌中購買的酸味。阿納帕的季節!
  • 最生動的印像是晚上火車停在荒野中某處車站的時候。 馬車沒有到達月台。 我們在黑暗中的星空下跳了出來,在馬車附近閒逛。 我們爬上了堤防。 四周——黑暗、星星和馬車發出的昏暗燈光……簡單得令人難以置信。
  • 非常積極的超現實主義。 晚上,一群程式設計師在火車前的山上,十月的大海,這本身就是一種情況:來阿納帕幾個小時,游泳然後返回。 長笛吉他二重奏的精彩音樂,我們預留座位鄰居的西伯利亞故事。 那種美好的味道,沒有人能夠抗拒。 一望無際的田野、城鎮、浪漫的旅行、在鐵軌上跳來跳去、嘖嘖嘖…

黑客鬆的備忘錄 皮克4ez

如果你或你的朋友突然想重複這樣的經歷,分享我們的經歷也無妨。 我們請團隊中最有經驗的黑客馬拉松選手 pik4ez 為決定在火車上編碼的人創建一份指南。 他有發言權。

我們如何在火車上舉辦黑客馬拉松以及結果如何 Dmitry Belov,資深工程師,經驗豐富的黑客馬拉松運動員

  • 在火車上,很難找到一個完全無人居住的角落,除了你的團隊之外沒有人。 做個好鄰居。 在我們的例子中,車廂裡有一把烏克麗麗琴、一把吉他和一支長笛。 但這些傢伙打得很好,並沒有撐多久。 音樂並不令人惱火,相反,它提供了一個聚集在音樂角、唱幾首歌並從節目中休息一下的機會。

  • 酒精會降低生產力。 你不應該把它放在菜單上。

  • 充電設備的問題應該提前解決。 在我們的例子中,有一輛現代化的車廂和足夠的插座。 但為了以防萬一,許多人隨身攜帶了行動電源。

  • 你必須注意時間安排。 火車不能遲到;您需要提前做好換乘準備並收拾好必要的物品。 保存的時間表提醒和組織者(幸運的是,他們乘坐同一節車廂)會有所幫助。

  • 除了第一頓零食外,我們不吃快餐。 你可以用不易腐爛的食物來製作相當不錯的食物。

  • 但無論你給程式設計師多少食物,他仍然喜歡它。 泡麵和三合一咖啡小份量就很棒了。 早上喝速溶粥很好。 但一頓豐盛的午餐是非常必要的。 餐車可以幫忙。

  • 需要拖鞋。

  • 躺在架子上編碼並不是特別容易。 我們盡量不要把桌子填滿,以便在上面放置幾台筆記型電腦。

  • 晚上建議不要發出任何噪音。 沒有睡眠的話,車輪上的黑客馬拉松會更難以忍受,因此到了夜幕降臨時,許多人就上床休息。

  • 出去車站熱身非常有用。

  • 在火車上,聽到一些新故事的可能性會增加,即使是與您共事多年的人。

  • 如果你看到大海,就去游泳。

影片講述了事情是如何發生的

我們想盡可能地傳達黑客馬拉鬆的情感,所以我們也在火車上拍攝了一段影片。 我們詢問了這些人對這次旅行和沒有網路的編碼的印象、他們編寫了哪些程式、還有哪裡可以舉辦黑客馬拉松,以及程式設計師的夢想是什麼。 Dima Belov 談到了他的第一次黑客馬拉松以及此類活動的好處。

這些是我們的印象和項目。 我們希望我們能激勵您去做一些新的、有趣的事。 如果您對詳細資訊感興趣,請在評論中詢問。 我們一定會回答。

來源: www.habr.com

添加評論