大家好! 我是Avito的DevRel Misha Klyuyev。 在本文中,我们将向您介绍我们在组织和进行不寻常的黑客马拉松中的经验。 内部:一个故事,讲述火车上56个小时的编码,要实现这些目标需要做些什么,什么样的项目最终完成以及十月的大海。
注意交通。

主意
一年多前,我很自然地想到了在火车上进行黑客马拉松的想法。 起初,我和团队并没有太重视它。 到那时,我们已经进行了几次内部黑客马拉松(在文章1、2中进行了介绍)。 我马上要说,对我们而言,黑客马拉松过程比结果更为重要:预计输出不会带来新的业务功能 对于我们来说,最主要的是所有参与者都喜欢参与(尽管如此,确实有一定数量的项目才能进行销售)。 灵魂服装是我们所有黑客马拉松的主要口号,每个参与者都以自己的方式解决了这个问题。 wth.by粉丝黑客马拉松的例子启发了我,我很幸运在2015年参观了其中之一。
我们长期以来一直希望将黑客马拉松带出办公室,以便营造出更加愉悦的氛围。 但是,只是改变了将大部分时间都花在笔记本电脑上的五十个开发人员的面貌,对我们来说似乎有点。 然后我们意识到,如果将旅行与马拉松结合起来,便可以增加运动,而火车是最明显的交通工具。 快速搜索显示,全世界火车上的黑客马拉松已经在举行 ,包括在后苏联时代,但我们找不到国内类似物。 这个想法似乎很琐碎并且很难实施:去哪里,以便沿途建立可靠的联系,如何提前赎回一辆车的票,直到收集参与者的护照数据,如何在火车上进行项目介绍...但是今年夏天我们决定尝试,并且一切顺利。
可以从俄罗斯铁路公司租用不同等级的汽车,然后按正确的方向将它们连接到火车上。 我们认为,缺乏稳定的互联网不是一个问题,而是一个功能,这是影响技术选择并需要进行更彻底准备的另一个挑战。 到达的城市只是通过火车移动的时间来选择的,一种方式是一天。 第一个选择是叶卡捷琳堡,但后来决定最好离开南部某个地方的莫斯科。
在某个时候,我们不得不移动黑客马拉松的日期,为了参加,我不得不在最后一刻放弃在两次会议上的发言。 我本人真的很喜欢乘火车旅行,火车上的黑客马拉松对我来说是一个梦想,所以错过它实在令人失望。 但是,现在我只需要把我的发言权交给已经成功组织并进行了这项传奇活动(至少在Avito中进行)的黑客马拉松并咬肘,查看图片并阅读参与者评论的同事。 当然,请考虑下一次要惊喜的事情!
准备工作
Valya Mikhno,活动经理
我立即喜欢在火车上进行黑客马拉松的想法。 很酷地将同事带出办公室,与他们一起旅行,甚至沿途工作。 另外,对于我来说,处理没有人做过的非标准任务和项目总是很有趣的。
尽管在火车上组织黑客马拉松是一项有趣且极其困难的任务:难以与铁路垄断者合作,难以获得程序员的注册确认,还不清楚如何在“盲区”组织互联网并在预留的席位上为五十名陌生的同事创建两天菜单。
但是也许最困难的事情是选择我们旅行的方向。 首先,我们计划沿着著名的西伯利亚大铁路前往叶卡捷琳堡。 但是在十月份,叶卡捷琳堡的天气相当寒冷,在火车上度过一天后花50名疲倦的程序员的时间的选择对我来说似乎很有用-所有这些都可以在莫斯科安排。 然后这个主意就向南走了。 然后我的注意力停在了阿纳帕这个度假小镇。 一切顺利:周五早上出发,旅行时间不到一天,海上七个小时(理想的海滩休假季节),周日晚上抵达莫斯科。 一般来说,宾果游戏要去阿纳帕。
在俄罗斯铁路公司的经理的陪同下,我们选择了需要的火车来回,预订了预订的座位车(这是大气的,可以帮助团队更好地集会),讨论了行程设计的所有细节,并与我们的律师达成了协议以供批准。 一切都进行得平稳而平静,但是在出行前一个月,我需要有关汽车状况的信息(插座的数量和功率,床上用品和杯架的可用性以及其他一些小东西)。 然后开始...
我去了仓库与俄罗斯铁路公司的经理见面,为我们的汽车拍照。 原来,我们在现场配备图片的新型舒适预留座位变成了2018年旧格式的汽车。 此外,甚至他的俄罗斯铁路物流公司也不允许将莫斯科-阿纳帕火车附加到最初计划的火车上。 条件是最后通.。 我必须同意所有条件,然后乘另一列火车去。 我们根本无法拒绝:黑客马拉松的报名正在进行中。 新火车到阿纳帕的时间更长,因此我们在火车上的时间增加了六个小时,海上时间减少到了四个小时。 我们有些沮丧,但并没有感到绝望-我们自己想安排顽固的人。 事情就这样发生了。
以及我们如何与俄罗斯铁路公司员工一起乘坐载有所有物资的公司车前往仓库,在光天化日之下打开了我们的车厢,它将在我的记忆中保存很长的时间...
公告和主题
Valya Mikhno,活动经理
正如我们宣布的黑客马拉松,并提出了一个值得单独讲述的主题。 我只会简要地告诉您。 几乎立即,我们决定以“ Mad Max”为主题,并这样描述:“想像一下,我们正奔赴阿纳帕,寻求未来蒸汽机车的替代未来。 人们想出了功能强大的蒸汽计算机,功能强大的Steam Lisp,fortran和其他带有Pascal的基本设备,但是却忘记了使用Internet。” 总的来说,我们决定给我们的同事一个真正的挑战-在火车上在硬核条件下进行编码,而没有正常的互联网,灵魂和通常的舒适感,此外,与同事们度过周末,你们已经整整一周地见面了。 马马虎虎的观点。 总之,冒险!
我们开发了徽标,提出了整个商品和海报的设计,制作了登陆页面并开始注册。 必须立即进行确定的注册,因为已为每个人发行了注册票。 如果参与者在最后一刻拒绝,他的位置将丢失。 当然,我们谈论过这一点,但是我们担心没有人愿意注册:如果最后一刻发生了重要的事情,没人愿意成立同事。 但是我相信冒险家存在于我们公司。 在第一轮登记中,汽车只有一半满载。 有一段时间,注册柜台没有动。 然后,我们不得不运用独创性。
我们每五天发布一次有关黑客马拉松准备阶段的新信息,这可能会吸引新的参与者。 我宣布购买高速路由器(尽管如此,它将购买互联网),从Akop酒店老板那里谈起了在阿纳帕(Anapa)进行烧烤的计划,并发布了乐观的天气预报-10月游泳的机会很高(天气预报并没有让我失望)。 我用多希尔基(Doshiraki)图片和为火车创造理想菜肴的故事吸引了火车浪漫爱好者。 然后,他们发布了周年黑客马拉松的提名。 其中包括我们的传统游戏,例如Hackathon Cup和The Most Epic Fail,以及我们在这次不寻常的hackathon比赛中想到的游戏:The Ancient Ancient Programming Style and The Best Frontier。 我们的工程师因参与提名而被提名。 好吧,最后,我们甚至允许邀请了经验丰富的黑客,即前Avito员工。 总之,一切正常! 大约在旅行前一个月,我们的汽车已配备齐全,所有名称都已输入到合同中。
互联网
Valya Mikhno,活动经理
尽管hackathon的主题是硬性的,但我确实希望拥有Internet。 随时随地充分利用Internet压缩并使其一直可供所有参与者使用-这对我来说已经成为挑战。 我与阿维托(Avito)的网络人员交谈了几天,选择了适合我们情况的路由器,制定了在汽车中放置路由器的计划,选择了莫斯科-阿纳帕路线上的最佳提供商,研究了覆盖图和路由器手册。 一个有趣的经历! 这是怎么回事?
我们购买了四个具有高速无线连接的4G路由器,这使我们可以同时使用两个SIM卡,并切换到信号更强的提供商。 我们购买了三家俄罗斯主要电信运营商的八张SIM卡,十六个Wi-Fi和GSM天线。 在我们的测试飞行员和开发人员的帮助下,每个人都测试并创建了网络地图,他们编写了可以创建此地图的应用程序。 花了很多精力,但是值得。 当然,田野和森林中有死区,但事实证明比我们预期的要好。 甚至有足够的速度和覆盖范围,因此我们的摄影师可以将数百张照片上传到云中,并在途中与黑客共享。

Seryozha Vertepov,高级质量检查工程师,Internet测试飞行员
一个好早晨,我读到了新闻,说Avito正在计划另一场黑客马拉松。 在那之前,我没有参加黑客马拉松,但是已经计划了很长的时间,并且在得知黑客马拉松也将在前往阿纳帕的火车上时,我立即意识到不应该错过这个机会。 骇客马拉松的网站上有一条消息说,我们需要一名志愿者,他们必须事先沿着莫斯科-阿纳帕-莫斯科路线行驶,以绘制网络覆盖范围地图,并总体上调查情况。
我想:“嗯,还不错。”并立即写了关于我想成为先锋的愿望。 令我感到惊讶的是,即使在休假日,也没有人愿意免费去阿纳帕。 显然,并不是每个人都像我一样喜欢克拉斯诺达尔地区的度假胜地。
9月28日,我上了火车。 我有两部iPhone,一个用于跟踪覆盖范围和坐标以生成更多地图的应用程序(由我们的主要iOS工程师Vlad Alekseev编写),以及一个带有两个SIM卡的Wi-Fi调制解调器。 这次旅行很棒。 特别令人高兴的是,我一直以来几乎没有同伴。 令人惊讶的是,我没有任何信息方面的饥渴:互联网至少是其中的一部分。 有足够的社交网络可用于即时通讯。 当然,并非总是如此,但是大多数时候。 至少我是这么认为的,并且我们的应用程序构建的地图说的差不多。 顺便说一句,我注意到上半路是为一个运营商建立更稳定的连接,而另一运营商则更靠近克拉斯诺达尔地区。 通常,我乘坐火车时,一部iPhone正在跟踪一张SIM卡中的信息,而另一部iPhone从装有其他运营商的SIM卡的调制解调器中跟踪信息,在阿纳帕(Anapa)住了一晚,然后返回。 整个“旅程”花了4天。

火车条件
Valya Mikhno,活动经理
顽固的顽固分子,但五十名工程师并不想杀害五十名工程师或感染他们。 因此,黑客马拉松的组织工作中的一个重点是为在预留座位上工作创造舒适的条件,从而使开发人员不会因创建和编写代码而分心。 我们准备了一个迎宾礼包,其中包含您需要的所有物品:T恤,拖鞋,一套睡具(口罩和耳塞),旅行牙具,一包活性炭,消毒剂,一瓶水,一瓶咖啡和一些即食谷物。 此外,我们还带走了很多不同的食物(占据了整个汽车的两个侧架)。 食物中有很多不同的小吃,但是这次旅行的主要过程当然是doshirak。 75包(可容纳50人)很快就卖完了。 观众的奖品是由牛肉doshirak赢得的-伙计们甚至将自己的储备金换成牛肉doshik。 太棒了! 还有更健康的食物:我们在餐车里吃午餐,我们在那儿提前点菜,甚至在合同中单独点菜。 我再说一遍,我们不想破坏同事的胃。 晚餐很复杂,应该是:“第一”,“第二”和沙拉。 而不是蜜饯-果汁。 可笑的是,我们的马车又被拴住了,排在第16位。 餐车是第十一辆。 黑客马拉松比赛的每位参与者在去吃饭的路上都经过了二十多个门-负责货车的向导要求关闭它们后面的门。 总共在星期五和星期日吃了两顿饭,我们打开和关闭了一百二十扇门。 消毒剂没有白费。
结果,由于主管部门的公告,我们成功地关闭了注册,将所有重要信息传达给了参与者,每个人都坐满了火车,没有人被毒死,没有工程师失踪,我们安全地与全体船员一起开车回了莫斯科。 符合挑战! 在经过我们的电报聊天“旅行到AvitoHack RailRoad”旅行之后,这些家伙很长时间以来写下了自己的印象和照片。 每个人都很满意,评论非常好,一位同事说,这是有史以来在Avito工作最美好的时刻。 我相信这是成功的!
统计资料
Hackathon在火车上-一个大型项目。 这就是我们要实现的目标。
- 25盒,包括面条,牛奶,薯条和饼干,谷物,水果和蔬菜,饮料,急救箱和hackatommerch。
- 144瓶水。
- 134罐各种碳酸饮料。
他们花了将近42 GB的移动互联网。
相片报告
关于气氛很难写,所以只看照片。
专案
我们带来了19个项目。 当然,我们不能在这里谈论所有事情,但是这里有一些细节。
« » . , . .
«4 » . , . , , . , .
, , . «» Hlamingo, .
Super Blur — . , , .
Fratbots — c ASCII- . ! , .
我们还创建了一个项目,该项目在Go上具有免费的云计算功能 ,用于监视ClickHouse中的数据的缓存(以减少频繁相同请求的数据库负载),一个对Go应用程序进行连续分析的项目,一个编程语言Prolog的解释器,为我们的Avito iOS加速了代码生成在该项目的过程中,他们编写了一个应用程序,用于选择真实内容上的开源字体组合,而不是Lorem Ipsum等上的字体。
参加者评论
- 内向的聚会很棒! 我当时很孤单,担心自己会不适应。 但是我遇到了车上的每个人,甚至还记得很多人的名字! 这是我第一次:-)
- 然后他下班休息,到海里游泳,和同事们出去玩,写了一个关于免费话题的代码。 手指提示12/10 GOTY。 一般来说,它只是炸弹,大型维护格式和实施方式。
- 乍一看火车的想法似乎很奇怪,但是当我参加时,时间流逝却没有引起注意,甚至不想在旅途结束时离开。 带吉他的歌曲,从GTA到电影配乐的公共汽车,照片...
- 太好了! 在非正式的场合认识好人。 互相回应和互相帮助-这辈子还有什么更有价值的? 对于其他一切-万事达卡...至少在我们出色的团队中有很多笑话,很有趣,当然,还有Rust的核心开发! 我一生中第一次去海边,最后在沙滩上拍了瑜伽照片! 而且他总是会在如此温暖的氛围中弹吉他!
- 在火车上待了两天之后,变得更强壮,变得头脑清醒,以互联网,无止境的谷歌搜索,无神的印度教手册和大量的堆积物的形式抛弃了所有果壳,并使用了古老的冥想方法来阅读密码,特殊饮食和饮酒,您才明白最主要的是这些都是您与之共事的人,只有他们才能在困难时期为您提供支持,并分享胜利的喜悦或在阿纳帕淡季购买的最便宜的维卡(Viskar)的酸味!
- 最生动的印象是晚上的火车停在车站荒野的某个地方。 汽车没有到达平台。 我们跳入黑暗中的星空下,在马车附近闲逛。 爬上路堤。 周围-马车上的黑暗,星星和昏暗的光线...简直太简单了。
- 非常积极的sur。 晚上,一群编码员在火车前的小山上,十月的大海,情况本身:来阿纳帕几个小时,游泳然后回去。 用二重奏长笛吉他演奏出色的音乐,我们预留座位的邻居演奏西伯利亚的故事。 没有人能抵挡的轻柔的气味。 无边无际的田野,城镇,旅行的浪漫,跨栏的小跳,tutu-tutuh,tutuh-tutuh ...
如果您或您的朋友突然想要重复这种经历,那么分享我们的经验将不是多余的。 我们要求团队中最有经验的黑客pik4ez为决定乘坐火车的人撰写备忘录。 他的话。
Dmitry Belov,高级工程师,经验丰富的黑客
在火车上找不到一个绝对无人居住的角落比较困难,在这个角落里除了您的团队之外没有其他人。 做个好邻居。 在我们的案例中,马车上装有四弦琴,一把吉他和一支长笛。 但是这些家伙打得很好,而且时间不长。 音乐并不烦人,但相反,它使人们有可能聚集在音乐角上,唱歌,唱几首歌,并在编程时稍事休息。
酒精会降低生产率。 不要将其包含在菜单中。
设备充电问题应事先确定。 在我们的案例中,有一辆现代化的马车和足够的出口。 但以防万一,许多人随身携带了移动电源。
我们必须遵循时机。 您上火车不能迟到,您需要为接送做好准备,并提前收集必要的东西。 所保存的备忘录与日程表和组织者一起,有幸乘搭同一个马车旅行。
除非是第一份零食,否则我们不会灭亡。 从一个不易腐烂的人可以构造出相当体面的食物。
但是,无论编码器提供了多少反馈,他仍然喜欢打杂。 少量的方便面和三合一咖啡很棒。 早晨,速食粥很好。 但是完整的晚餐是非常必要的。 餐车可以帮助您。
需要拖鞋。
躺在架子上的编码尤其不可能。 我们尽量不要填满桌子,以便在上面放几台笔记本电脑。
在晚上,建议完全不发出声音。 车轮上的骇客马拉松更难在没有睡眠的情况下进行转移,因此到了晚上许多人上床睡觉。
在车站外热身非常有用。
火车更可能听到一些新的故事,即使是与您一起工作多年的人也是如此。
如果看到大海,那就游泳。
视频怎么样
我们希望尽可能地传达黑客马拉松的情感,因此我们还在火车上拍摄了一段视频。 我们询问了他们对没有互联网的旅行和编码的印象,他们编写了什么程序,还有什么地方可以举办黑客马拉松以及程序员的梦想。 迪玛·贝洛夫(Dima Belov)谈到了他的第一次黑客马拉松以及此类事件的好处。
这些是我们的印象和设计。 希望您能从中获得启发并获得新的乐趣。 如果细节有趣,请在评论中询问。 一定要回答。