Как программист из России помог чешскому правительству сэкономить 16 млн евро

Андрей Фидельман – в центре с табличкой "Too hot to hack"

Министерство транспорта Чехии в начале января заключило контракт на создание сайта и приложений для продажи разрешений на проезд по скоростным автомагистралям. Разработкой должна была заниматься одна из чешских IT-компаний (конкурса не проводилось). Сумма контракта составила 401 млн чешских крон (почти €16 млн).

Местный IT-предприниматель Томаш Вондрачек счел сумму заказа завышенной в четыре раза и заявил, что при желании ту же работу можно сделать "хоть за пару дней". После этого он объявил о проведении хакатона и через соцсети пригласил программистов, чтобы они разработали сайт. Из 300 разработчиков, откликнувшихся на приглашение в соцсетях, собрали команду из нескольких десятков человек. За выходные 25-26 января они написали сайт, который соответствовал большинству требований министерства, и подарили его правительству Чехии.

Одним из разработчиков был российский программист Андрей Фидельман, который сейчас живет и работает в Чехии. Настоящее Время поговорило с ним о том, как организовывали хакатон, как проходила работа и что заставило лично его поучаствовать в этой истории.

– Кто был автором идеи собраться и сделать сайт для Министерства транспорта?

– Организатором был местный IT-предприниматель, у него есть свое агентство, которое создает сайты. И он, собственно, все организовал: опубликовал посты на чешском и английском языке. Я узнал [о готовящемся хакатоне] из постов, и второй момент, я бывший сотрудник компании, которой он руководит, и, соответственно, я, можно сказать, из первых уст об этом начал слышать.

– Если я правильно понял, вы из Стерлитамака? То есть вы россиянин, который живет в Праге. Почему вы решили участвовать в такой внутричешской истории?

– Очень хороший вопрос. Вообще, несколько причин. Во-первых, просто я люблю то, чем я занимаюсь, я люблю программировать. Если у меня есть возможность попрограммировать, познакомиться с людьми, сделать какой-то интересный продукт – я всегда за. Это, наверное, основная причина. Вторая причина: как мне кажется, такого я вообще нигде не видел, чтобы такая поднялась атмосфера, чтобы запустили такое движение. Я просто понимал, что реально творится история на моих глазах и у меня есть возможность не просто поучаствовать в этом, а своими умениями быть частью этого и как-то законтрибьютить в этом проекте. И я посчитал, что это прекрасная идея.

– Знаете ли вы о других подобных случаях в чешском IT или в других странах?

– Возможно, я ошибаюсь, но я не слышал, чтобы было что-то похожее.

– Расскажите, как происходила коммуникация и организация процесса? Как удалось договориться всем вместе, выбрать дату, найти помещение, как вы распределяли работу между собой?

– Организаторы предоставили свой офис, он большой, может спокойно вместить 600 человек. То есть они предоставили место, разослали во всех социальных сетях приглашения, кто хочет хоть как-то помочь. Приглашены были не только программисты, а люди всех профессий, кто чем может помочь. Нужно было подать анкету, рассказать о себе, был звонок – мини-интервью, когда спрашивали, чем мы занимаемся, какие у нас способности, особенно программистские.

Потом мы пришли туда. Когда ты приходил, регистрировался, тебе сразу говорили, куда ты идешь, чем ты будешь заниматься, кто твой менеджер, который будет контролировать твою работу, и что конкретно ты будешь делать в те дни, на которые ты согласился прийти. То есть хакатон не был настроен только на электронный магазин, это было около семи-восьми раздельных модулей, которые между собой все это соединяли. Один из них был как раз e-shop.

– В чем конкретно заключалась ваша роль? Над чем вы работали?

– Я был частью команды, которая занималась непосредственно магазином, именно сайтом. Я был ответственным за фронтендовую часть, техлидом команды, которая должна была разработать фронтенд для этого электронного магазина. То есть половина моей работы – я переводил техническое задание в язык для программистов, то есть я создавал задания, гранулировал задачи, искал людей, которые способны их решать, потому что очень много людей я видел впервые, и нужно было найти правильного человека, который может сделать именно эту задачу. Приоритизировал задания – заданий было куча, какие-то были релевантные, какие-то нет, и моя задача была также и отсортировать, что нужно сделать сейчас, что вообще не важно и можно вообще опустить. А вторая половина работы – это, естественно, программирование. То есть я сам эти же задания и программировал.

– Можете рассказать, какие задачи поручались не программистам?

– Знаете, люди приходили – просто приносили мороженое. Писали в соцсетях, говорили: слушайте, я приготовлю мороженое, я принесу пончики, чтобы хоть как-то помочь. Были ребята просто на подай-принеси, им не было работы, и они просто приходили: ребят, кому кофе, кому какие напитки, еду. Потому что просто не было времени ходить за этим. Говорили: принеси на команду десять энергетических напитков. Всё – кто-то шел, приносил.

Было очень много фотографов, которые просто фотографировали. Представители разных компаний – было очень много разных компаний, которые предоставляли свою продукцию бесплатно. Различные кейтеринги, напитки, алкогольные напитки, кофейные компании, естественно, своих представителей тоже туда отправляли: они одновременно и рекламировали их продукт, и давали участникам им пользоваться, чтобы мы не думали, где нам поесть, где поспать, что поделать, чтобы мы были просто сфокусированы на работе.

– Чешские СМИ писали, что одних только программистов было 60 человек, а всего сколько людей примерно было задействовано?

– Мне кажется, даже больше 60 программистов было, я предположу – до 100, но, мне кажется, больше 60. В сумме, я думаю, человек 300 – так, по крайней мере, писали в СМИ. Я с ними соглашусь, правда, было очень много народу, и даже гостей: политики приезжали, представители различных компаний, не на все два с половиной дня, а просто посмотреть и хоть как-то внести вклад в это общее дело. Я думаю, где-то 300 было.

– Сколько времени занял весь процесс, если считать с момента, когда первая команда начала делать первое задание, до финальной сдачи?

– Мы встретились вечером в пятницу. Где-то до ночи мы обсуждали, что будем делать, обсуждали список задач, список фич сайта, что мы хотим в конце иметь. На второй день ночью мы начали все это разрабатывать, и закончили разработку, наверное, за десять, за пять минут до презентации, которая состоялась в шесть часов по местному времени. Сколько это получается часов? Ну не 48, чуть-чуть меньше. Думаю, порядка 40 часов от начала до конца.

– Это была работа на износ? Насколько было интенсивно? Сравнимо с обычным темпом работы или нет?

– Это несравнимо вообще с работой – просто потому, что у тебя есть дедлайн, который ты никак не можешь перенести, СМИ за тобой следят, все ожидают, что это будет готово. Это очень сильно на тебя влияет. Да, ты знаешь, что у тебя впереди несколько ночей, 40 часов, у тебя большая команда, но были моменты, когда мы думали, что мы просто не успеем. Это было физически тяжело, я спал, наверное, за все это время часов пять на полу. Там выдавали такой ночной пакет, где был коврик для йоги, какое-то одеяло из "Икеи", беруши, масочка, зубная щетка – выдавали тем, кто хотел остаться.

Это было физически очень тяжело. Чем больше ты работаешь, тем меньше работает твой мозг. Мы выпили очень много кофе, энергетических напитков, это очень сильно чувствовалось. Я до сих пор не могу отойти, если честно, до сих пор засыпаю, у меня до сих пор голова не работает, хотя прошло уже почти три дня. Это очень сильно отличается [от обычной работы], и это морально, и физически тяжело. Но все знали, куда они идут, и все знали, что это будет, поэтому никто не ломался, все понимали, на что подписались.

С другой стороны, все это было необязательно – то есть люди пришли получить удовольствие. Не было такого, что ты должен сделать так, ты должен использовать это. Приходил человек, ему говорили: как ты себя чувствуешь? Может, сходишь домой, поспишь пару часиков, придешь – доделаешь? Хочешь – вообще иди домой, приходи на презентацию, посмотришь. То есть все было на полном согласии с собой.

– Насколько, по-вашему, сумма тендера изначальная была завышена? И сколько примерно все это – сайт и два приложения – должно было стоить, чтобы это не вызвало такого возмущения?

– Очень хороший вопрос. Если я не ошибаюсь, заявочная стоимость была 401 миллион крон. Не могу сказать, сколько точно, потому что я не знаю, что в итоге должны были сделать. Потому что это не только интернет-магазин и не только мобильные приложения. Там было распознавание номерных знаков, искусственный интеллект, поддержка сайта на четыре-пять лет. Трудно об этом судить, но, насколько я знаю, мы общались с коллегами, все это едва ли стоит дороже 100 миллионов.

Но еще есть большой нюанс – то, что в часть этого приложения входят секретные модули, о которых никто, кроме заказчика, не знает, потому что это предназначено для каких-то служб. Но они почему-то внесли это в общий контракт, и это немножко мешает оценить полностью проект, потому что это секретная информация, никто не знает вообще, что там должно быть. Но насколько я слышал, больше ста миллионов за то, что известно, – люди думают, что это уже перебор, и я, наверное, с ними соглашусь.

– Когда вы сделали всю работу, чиновники из правительства Чехии предлагали вам ее оплатить, уже постфактум. Вы не слышали об этом ничего?

– Я об этом не слышал!

– Томаш Вондрачек говорил, что участники отказались от денег, но, возможно, получат премии из пожертвований, которые вам начисляли, пока вы работали. Я, собственно, хотел спросить, почему вы отказались от помощи правительства?

– Возможно, это и так, я плохо владею чешским, и я не смотрю телевидение, не читаю местные новости; возможно, так и было. На самом хакатоне я знал, что есть фирмы, которые готовы предоставить свою продукцию, допустим, на год, какая-то компания готова свою продукцию дать в количестве на год всем участникам. Это я слышал, и я слышал, что, возможно, так и случится. По поводу премий, если честно, о денежных премиях я ничего не слышал, и это нигде не было оговорено.

– Последний вопрос – от штатного программиста из нашей редакции: не было ли планов открыть код созданного сервиса или сервисов в будущем?

– Очень хороший вопрос! Вообще, никакого плана на код не было, как его держать – открыто или закрыто. По крайней мере, команда, в которой я был, – наш репозиторий был закрыт. Мне кажется, просто потому, что об этом не подумали, просто автоматом коммерческий репозиторий создали и туда все это засунули, чтобы не тратить время. Я не думаю, что есть какой-то код, который можно закрывать, по крайней мере, моей командой все может быть открыто, мы не использовали никаких коммерческих библиотек, на которые нужна лицензия, все использовалось открыто, бесплатно. Но если честно, я не знаю, я не в курсе их планов.