Olá pessoal! Eu sou Misha Klyuyev, DevRel em Avito. Neste artigo, falaremos sobre nossa experiência na organização e condução de um hackathon incomum. Dentro: uma história sobre 56 horas de codificação em um trem, sobre o que precisa ser feito para que elas aconteçam, sobre que tipo de projetos acabaram e um pouco do mar de outubro.
Cuidado tráfego.

Idéia
A idéia de fazer um hackathon em um trem me ocorreu espontaneamente há mais de um ano. No começo, a equipe e eu não levamos isso muito a sério. Naquela época, já tínhamos conduzido vários hackathons internos (que foram descritos em artigos: 1 , 2 ). Eu direi imediatamente que para nós o processo hackathon é mais importante que o resultado: novos recursos de negócios que entrarão em produção não são esperados na produção Para nós, o principal é que todos os participantes desfrutem da participação (no entanto, um certo número de projetos realmente vai às vendas). A roupa para a alma é o principal slogan de todos os nossos hackathons, e cada participante resolve esse problema à sua maneira. Fui inspirado no exemplo do wth.by hackathons de fãs, um dos quais tive a sorte de visitar em 2015.
Há muito tempo, queríamos tirar o hackathon do escritório para que a atmosfera acrescente ainda mais força e diversão. Mas apenas mudando o cenário para cinquenta desenvolvedores que passam a maior parte do tempo em laptops, pareceu-nos um pouco. Então percebemos que você pode adicionar movimento ao hackathon, se combiná-lo com viagens, e o trem é a forma mais óbvia de transporte para isso. Uma rápida pesquisa mostrou que hackathons no trem do mundo já estão sendo realizados , inclusive no espaço pós-soviético, mas não encontramos análogos domésticos. A ideia parecia frívola e muito difícil de implementar: para onde ir, para que houvesse uma comunicação confiável ao longo do caminho, como resgatar bilhetes em um carro com antecedência, até que os dados do passaporte dos participantes fossem coletados, como realizar apresentações do projeto no trem ... Mas neste verão decidimos tentar e tudo deu certo.
É possível alugar carros de diferentes classes da Russian Railways e anexá-los a trens nas direções corretas. A falta de uma Internet estável não é um bug, mas um recurso, um desafio adicional que influenciou a escolha de tecnologias e exigiu uma preparação mais completa, decidimos. A cidade de chegada foi escolhida simplesmente na hora do movimento do trem, um dia só de ida. A primeira opção era Ecaterimburgo, mas depois foi decidido que era melhor sair de Moscou no sul em algum lugar.
Em algum momento, tivemos que mudar as datas do hackathon e, para ir, eu teria que desistir de falar em duas conferências no último momento. Eu realmente amo viajar de trem, o hackathon no trem foi um sonho para mim, por isso foi extremamente decepcionante perdê-lo. Mas agora só tenho que passar a palavra aos meus colegas que organizaram e conduziram com sucesso esse já lendário hackathon (pelo menos em Avito) e mordem os cotovelos, olhando as fotos e lendo as resenhas dos participantes. E, claro, pense no que surpreender da próxima vez!
Preparação
Valya Mikhno, gerente de eventos
Eu imediatamente gostei da ideia de uma hackathon em um trem. É legal puxar colegas para fora do escritório, viajar com eles e até trabalhar ao longo do caminho. Além disso, é sempre interessante para mim lidar com tarefas e projetos fora do padrão que ninguém fez antes de você.
Embora organizar um hackathon em um trem seja uma tarefa interessante e extremamente difícil: é difícil trabalhar com o monopólio ferroviário, obter confirmação garantida de registro dos programadores, não está claro como organizar a Internet em zonas "cegas" e criar um menu de dois dias em um assento reservado para cinquenta colegas desconhecidos.
Mas talvez a coisa mais difícil tenha sido escolher a direção da nossa viagem. Primeiro, planejamos uma viagem a Ecaterimburgo ao longo da famosa Ferrovia Transiberiana. Mas em outubro fazia bastante frio em Ecaterimburgo, e as opções para passar um tempo para cinquenta programadores cansados depois de um dia no trem me pareciam úteis - tudo isso podia ser arranjado em Moscou. Então a idéia veio para o sul, para o mar. E então minha atenção parou na pequena cidade turística de Anapa. Tudo funcionou perfeitamente: partida na sexta-feira de manhã, tempo de viagem um pouco menos de um dia, sete horas no mar (ideal para fechar a temporada de praia) e chegada a Moscou na noite de domingo. Em geral, o bingo está indo para Anapa.
Com o gerente da Russian Railways, selecionamos os trens de ida e volta que precisávamos, reservamos um vagão reservado (é atmosférico e ajuda a reunir melhor as equipes), discutimos todos os detalhes do design da viagem e lançamos um acordo com nossos advogados para aprovação. Tudo correu sem problemas e com calma, mas um mês antes da viagem eu precisava de informações sobre as condições do carro (número e potência das tomadas, disponibilidade de roupas de cama e copos e outras coisinhas). E então começou ...
Fui me encontrar com o gerente da Russian Railways no depósito para tirar fotos do nosso carro. Aconteceu que nosso novo assento confortável e reservado com fotos no site se transformou em um carro de 2018 no formato antigo. Além disso, nem mesmo seus logísticos da Russian Railways tinham permissão para conectar o trem Moscou-Anapa ao trem originalmente planejado. A condição era ultimato. Eu tive que concordar com todas as condições e pegar outro trem. Não podíamos recusar: a inscrição para o hackathon estava a todo vapor. Como o novo trem leva mais tempo para Anapa, nosso tempo no trem aumentou seis horas e o tempo no mar foi reduzido para quatro. Ficamos um pouco chateados, mas não nos desesperamos - nós mesmos queríamos organizar o hardcore. E assim aconteceu.
E como fomos ao depósito com os funcionários da Russian Railways em um carro da empresa com todos os suprimentos, abrimos nossa carruagem em plena luz do dia, ela permanecerá na minha memória por um longo tempo ...
Anúncio e tópicos
Valya Mikhno, gerente de eventos
Como anunciamos o hackathon, criamos um tema digno de uma história separada. Vou falar sobre isso apenas brevemente. Quase imediatamente, decidimos fazer o tema “Mad Max” e o descrevemos da seguinte maneira: “Imagine que estamos correndo para Anapa em busca de um futuro alternativo em uma locomotiva a vapor futurista. As pessoas criaram computadores a vapor poderosos, um poderoso cochilo a vapor, fortran e outros básicos com pascais, mas esqueceram de criar a Internet. ” Em geral, decidimos dar a nossos colegas um desafio real - codificar em condições precárias em um trem, sem Internet normal, alma e conforto habitual, e além disso, passar os dias de folga com colegas que você vê há uma semana, ombro a ombro. Perspectiva mais ou menos. Em uma palavra, aventura!
Desenvolvemos um logotipo, criamos o design de toda a mercadoria e pôsteres, fizemos uma landing page e abrimos o registro. Era necessário se registrar imediatamente e com certeza, porque um ticket registrado foi emitido para todos. Se o participante recusar no último momento, seu lugar será perdido. É claro que conversamos sobre isso, mas estávamos preocupados com o fato de ninguém querer se registrar: ninguém quer formar colegas se algo importante acontecer no último momento. Mas eu acreditava que os aventureiros existem em nossa empresa. Na primeira vaga de matrícula, o carro estava meio cheio. E por algum tempo o contador de registro não se mexeu. Então tivemos que usar a engenhosidade.
A cada cinco dias, publicamos novas informações no estágio de preparação do hackathon, o que poderia atrair novos participantes. Anunciei a compra de roteadores de alta velocidade (a Internet, no entanto, será), falei sobre o programa em Anapa com churrasco do proprietário do hotel Akop e publiquei uma previsão do tempo otimista - as chances de nadar em outubro eram altas (e a previsão do tempo não me decepcionou). Atraí amantes do romance de trem com fotos de doshiraki e histórias de como criar esse prato ideal para o trem. Em seguida, eles publicaram indicações para o hackathon de aniversário. Entre eles estavam os tradicionais, por exemplo, o Hackathon Cup e o The Most Epic Fail, e aqueles que criamos sob esse hackathon incomum: o estilo de programação mais antigo e a melhor fronteira. Nossos engenheiros foram indicados para participar da indicação. Bem, no final, até permitimos convidar hackers experientes, ex-funcionários da Avito. Em suma, tudo funcionou! Exatamente um mês antes da viagem, nosso carro estava totalmente equipado e todos os nomes foram registrados no contrato.
A internet
Valya Mikhno, gerente de eventos
Apesar de o tema do hackathon ser incondicional, eu realmente queria que a Internet fosse. Aperte a Internet o máximo possível em movimento e torne-a acessível a todos os participantes o tempo todo - isso se tornou um desafio para mim. Conversei com os membros da rede no Avito por vários dias, selecionei os roteadores apropriados para o nosso caso, desenhei um plano para a colocação deles no carro, selecionei o melhor fornecedor na rota Moscou-Anapa, estudei os mapas de cobertura e os manuais do roteador. Uma experiência interessante! O que aconteceu com isso?
Adquirimos quatro roteadores 4G com conexão sem fio de alta velocidade, o que nos permitiu usar dois cartões SIM ao mesmo tempo e mudar para o provedor cujo sinal era mais forte. Compramos oito cartões SIM de três grandes operadoras de telecomunicações russas, dezesseis antenas Wi-Fi e GSM. Todos testaram e criaram um mapa de rede com a ajuda de nosso piloto e desenvolvedor de teste, que escreveu um aplicativo no qual esse mapa poderia ser criado. Gastou muito esforço, mas valeu a pena. É claro que havia zonas mortas nos campos e florestas, mas acabou melhor do que esperávamos. Havia velocidade e cobertura suficientes, para que nosso fotógrafo pudesse carregar centenas de fotos na nuvem e compartilhá-las com hackers no caminho.

Seryozha Vertepov, engenheiro sênior de controle de qualidade, piloto de testes da Internet
Uma bela manhã, li as notícias de que Avito estava planejando outra hackatona. Antes disso, eu não participava de hackathons, mas planejava há muito tempo, e depois de ler que a hackathon também estaria no trem a caminho de Anapa, percebi imediatamente que essa oportunidade não deveria ser desperdiçada. Havia uma mensagem no site do hackathon dizendo que precisávamos de um voluntário que viajasse pela rota Moscou-Anapa-Moscou com antecedência para elaborar um mapa da cobertura da rede e, em geral, para investigar a situação.
"Hum, nada mal", pensei, e imediatamente escrevi sobre meu desejo de me tornar um pioneiro. Fiquei muito surpreso que ninguém expressasse o desejo de ir a Anapa de graça, mesmo nas férias. Aparentemente, nem todo mundo adora os resorts do Território de Krasnodar tanto quanto eu.
28 de setembro, acabei no trem. Eu tinha dois iPhones, um aplicativo que rastreia a cobertura e as coordenadas para a construção de um mapa adicional (escrito por nosso engenheiro líder do iOS, Vlad Alekseev), além de um modem Wi-Fi com dois cartões SIM. A viagem foi maravilhosa. Foi especialmente agradável que durante todo o tempo eu praticamente não tivesse companheiros. Foi surpreendente que eu não tivesse nenhum tipo de fome informacional: a Internet era pelo menos uma parte. Havia redes sociais suficientes para mensageiros instantâneos. Nem sempre, é claro, mas na maioria das vezes. Pelo menos eu pensava assim, e o mapa que nosso aplicativo construiu dizia mais ou menos o mesmo. A propósito, notei que na primeira metade do caminho uma conexão mais estável era para um operador, mas mais próxima do Território de Krasnodar para o outro. Em geral, eu andava de trem enquanto um iPhone rastreava informações de um cartão SIM e outro de um modem com cartões SIM de outras operadoras, passava uma noite em Anapa e voltava. Toda a "jornada" levou 4 dias.

Condições do comboio
Valya Mikhno, gerente de eventos
Hardcore hardcore, mas cinquenta engenheiros não queriam realmente matar o estômago de cinquenta engenheiros ou infectá-los. Portanto, um ponto importante na organização do hackathon foi criar condições confortáveis para trabalhar no assento reservado, para que os desenvolvedores não se distraíssem criando e escrevendo código. Preparamos um pacote de boas-vindas com tudo o que você precisa: uma camiseta, chinelos, um conjunto para dormir (uma máscara e tampões para os ouvidos), um kit de dente para viagem, um pacote de carvão ativado, um desinfetante, uma garrafa de água, um bar e alguns cereais instantâneos. Além disso, levamos muita comida diferente (que levou duas prateleiras laterais inteiras do carro). Havia muitos lanches diferentes da comida, mas o prato principal dessa viagem foi, é claro, um doshirak. 75 pacotes para 50 pessoas terminaram rapidamente. O prêmio do público foi ganho por um doshirak de carne bovina - os caras até trocaram seu ovo por um doshik de carne bovina. Foi brilhante! Havia comida mais saudável também: almoçamos em um vagão-restaurante, no qual pedimos comida com antecedência e até pedimos individualmente no contrato. Repito, não queríamos arruinar o estômago dos colegas. O jantar foi complexo e como deveria ser: "primeiro", "segundo" e salada. Em vez de compota - suco. Era divertido que nossa carruagem estivesse atrelada adicionalmente, e era décima sexta em ordem. E o vagão-restaurante era o décimo primeiro. Cada participante do hackathon a caminho do jantar passou por mais de vinte portas - os guias responsáveis por seus vagões pediram para fechar as portas atrás deles. No total, para duas refeições na sexta e no domingo, abrimos e fechamos mais de cento e vinte portas. O desinfetante não foi em vão.
Como resultado, graças a anúncios competentes, fechamos o registro com sucesso, transmitimos todas as informações importantes aos participantes, todos estavam no trem, ninguém foi envenenado, nenhum engenheiro se perdeu e voltamos com segurança a Moscou com toda a equipe. Desafio compatível! Depois de uma viagem ao nosso bate-papo por telegrama “Viajou para o AvitoHack RailRoad”, os caras escreveram suas impressões e fotos da viagem por um longo tempo. Todos ficaram satisfeitos, as críticas foram excelentes e um colega disse que este foi o momento mais brilhante de todos os tempos trabalhando em Avito. Eu acredito que isso é sucesso!
Estatísticas
Hackathon no trem - um projeto em larga escala. É o que tínhamos conosco para perceber isso.
- 25 caixas com macarrão, leite, salgadinhos e bolachas, cereais, frutas e legumes, bebidas, kit de primeiros socorros e hackatommerch.
- 144 garrafas de água.
- 134 latas de várias bebidas carbonatadas.
E eles gastaram quase 42 GB de Internet móvel.
Reportagem fotográfica
É difícil escrever sobre a atmosfera, então veja a foto.
Projetos
Trouxemos 19 projetos conosco. Claro, não podemos falar de tudo aqui, mas aqui estão alguns detalhes.
« » . , . .
«4 » . , . , , . , .
, , . «» Hlamingo, .
Super Blur — . , , .
Fratbots — c ASCII- . ! , .
Também fizemos um projeto com computação em nuvem gratuita no Go , cache para monitorar dados no ClickHouse (para reduzir a carga no banco de dados com solicitações idênticas frequentes), um projeto com perfil contínuo de aplicativos Go, intérprete da linguagem de programação Prolog, geração acelerada de código para o Avito iOS do projeto, eles escreveram um aplicativo para selecionar combinações de fontes de código aberto em conteúdo real, não no Lorem Ipsum e muito, muito mais.
Revisões dos participantes
- Festas introvertidas são ótimas! Fiquei bastante retraído e temia estar fora de lugar. Mas eu conheci todo mundo no carro e até me lembrei dos nomes de muitos! Esta é a primeira vez comigo :-)
- E ele descansou do trabalho, nadou no mar, saiu com colegas e escreveu um código sobre um tópico livre. 12/10 GOTY NA DICA. Em geral, é apenas uma bomba, formato megakeep e implementação.
- A idéia do trem à primeira vista parecia estranha, mas quando participei, o tempo passou despercebido e nem sequer queria sair no final da viagem. Músicas com um violão, uma viagem de ônibus para uma trilha sonora do GTA, fotos ...
- Isso foi maravilhoso! Conheça grandes caras em um ambiente informal. Responder e ajudar um ao outro - o que poderia ser mais valioso nesta vida ?! E para todo o resto - MasterCard ... Muitas piadas, diversão, pelo menos em nossa equipe maravilhosa e, claro, o desenvolvimento incondicional do Rust !!! Pela primeira vez na minha vida, visitei o mar e finalmente tirei fotos de ioga na praia! E ele sempre tocava violão em uma atmosfera tão quente!
- Somente depois de passar dois dias no trem, fortalecendo-se, limpando a mente e descartando todas as cascas na forma da Internet e pesquisando sem fim, manuais hindus sem Deus e fluxos de pilha, usando as antigas práticas esquecidas da meditação sobre leitura de códigos, dieta especial e álcool, você entende que o principal é estas são as pessoas com quem você trabalha, que somente elas podem apoiá-lo em tempos difíceis e compartilhar a alegria da vitória ou o gosto azedo dos viskar mais baratos comprados em Anapa!
- A impressão mais vívida é quando, à noite, o trem para em algum lugar selvagem da estação. O carro não chegou à plataforma. E pulamos sob as estrelas no escuro e ficamos perto da carruagem. Subiu o aterro. E ao redor - escuridão, estrelas e pouca luz da carruagem ... Incrivelmente simples.
- Sur muito positivo. Um monte de programadores nas noites na colina em frente ao trem, o mar em outubro, a situação em si: venha a Anapa por algumas horas, nade e volte. Música excelente de um violão de flauta dueto, contos siberianos de nossos vizinhos reservados. O cheiro de um doshik que ninguém poderia resistir. Campos ilimitados, cidades, o romance das viagens, dap-hop através dos trilhos, tutu-tutuh, tutuh-tutuh ...
Memorando do hacker Pik4ez
Se você ou seus amigos repentinamente quiserem repetir essa experiência, não será supérfluo compartilhar nossa experiência. Pedimos ao hacker mais experiente da nossa equipe, o pik4ez, que escrevesse um memorando para aqueles que decidissem pegar o trem. Palavra dele.
Dmitry Belov, engenheiro sênior, hacker experiente
É mais difícil encontrar uma esquina absolutamente desabitada em um trem em que não haverá ninguém além de sua equipe. Sejam bons vizinhos. No nosso caso, a carruagem continha ukulele, um violão e uma flauta. Mas os caras jogaram muito bem e não por muito tempo. A música não era irritante, mas, pelo contrário, tornou possível reunir-se em um canto musical, cantar algumas músicas e fazer uma pausa na programação.
O álcool reduz a produtividade. Não o inclua no menu.
O problema com a cobrança de dispositivos deve ser decidido com antecedência. No nosso caso, havia uma carruagem moderna e pontos de venda suficientes. Mas, por precaução, muitos levaram consigo bancos de potência.
Temos que seguir os horários. Você não pode se atrasar para o trem, precisa estar preparado para transferências e coletar as coisas necessárias com antecedência. Os memorandos salvos com a programação e os organizadores, por um acaso, viajam na mesma carruagem, ajudam.
Não vamos perecer, a menos que seja para o primeiro lanche. De um não-perecível pode-se construir comida bastante decente.
Mas não importa o quanto o codificador seja alimentado, ele ainda ama o doshik. Em pequenas quantidades, macarrão instantâneo e café três em um são ótimos. De manhã, o mingau instantâneo é bom. Mas um jantar completo é muito necessário. Um vagão-restaurante pode ajudar.
Chinelos são necessários.
A codificação em uma prateleira é especialmente impossível. Tentamos não encher a mesa para colocar alguns laptops nela.
À noite, é aconselhável não fazer barulho. O hackathon sobre rodas é mais difícil de transferir sem dormir, então à noite muitos vão para a cama.
É muito útil sair nas estações para se aquecer.
É mais provável que o trem ouça algumas histórias novas, mesmo daqueles com quem você trabalha há muitos anos.
Se você vê o mar - nade.
Vídeo como foi
Queremos transmitir nossas emoções do hackathon da melhor maneira possível, portanto, também gravamos um vídeo no trem. Perguntamos aos caras sobre suas impressões sobre a viagem e a codificação sem a Internet, em quais programas eles escrevem, onde mais você pode manter hackathons e com o que os programadores sonham. E Dima Belov falou sobre seus primeiros hackathons e quais são os benefícios de tais eventos.
Essas foram as nossas impressões e designs. Esperamos que você esteja inspirado a algo novo e interessante. Se os detalhes forem interessantes - pergunte sobre eles nos comentários. Certifique-se de responder.