我们如何在火车上举办黑客马拉松以及结果如何

大家好! 我是 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包很快就用完了。 人民选择奖颁给了牛肉多希拉克——这些人甚至用他们的藏品换了牛肉多希拉克。 那真是太棒了! 还有更健康的食物:我们在餐车用餐,食物是我们提前订购的,甚至在合同中单独指定。 我再说一遍,我们不想破坏同事们的胃口。 午餐已经准备好了,正如预期的那样:“第一道菜”、“第二道菜”和沙拉。 而不是蜜饯 - 果汁。 有趣的是,我们的马车是额外附上的,而且是第十六辆。 餐车是第十一辆。 每个黑客马拉松参与者在去吃午饭的路上都会经过二十多扇门;负责他们车辆的售票员要求他们关上身后的门。 周五和周日的两顿饭,我们总共打开和关闭了一百二十多扇门。 他们放入消毒剂并没有白费。

结果,在有力的公告的帮助下,我们成功关闭了报名,将所有重要信息传达给了参与者,车上每个人都吃饱了,没有人中毒,没有一个工程师迷路,我们全员安全抵达强行返回莫斯科。 “挑战完成!” 旅行结束后,这些家伙在我们的电报聊天“Ridden 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 谈到了他的第一次黑客马拉松以及此类活动的好处。

这些是我们的印象和项目。 我们希望我们能够激励您去做一些新的、有趣的事情。 如果您对详细信息感兴趣,请在评论中询问。 我们一定会回答。

来源: habr.com

添加评论