«На работу оформляюсь с аттестатом о девяти классах»: белорусский разработчик о работе в Wargaming и Juno Статьи редакции

Программист Дорофей Пролесковский рассказал о любви к картам, карьере в стартапах, причинах увольнения и отношении к картографии в Беларуси.

Всё началось со старого советского клона IBM

Начиналось всё как у многих ребят, чьё детство пришлось на 1990-е годы: у меня была приставка и компьютер, и друзья приходили в наш дом поиграть. Но в какой-то момент всё сломалось. Я решил: «Сам сделаю!» — и пошёл в комиссионку недалеко от дома: там как раз появился учебник по информатике для пятого класса. Я был ещё второклашкой.

Этот учебник я прочёл, порадовался, как много всего есть в моем компьютере — и текстовый редактор, и графический. Но починить его так и не смог. Позже кто-то подарил мне ЕС-1840 — старый советский клон IBM PC/XT, на котором были кнопки «рус» и «лат», а ещё 512 Кбайт оперативной памяти — круто. Мне так казалось. Потом я узнал, что у всех вокруг Windows 98, а у меня DOS 3.30. Но зато я читал книгу Фигурнова по MS-DOS, что-то делал — и у меня получалось.

Об увлечении Linux и картами в восьмом классе

Со временем я познакомился с FidoNet — так в моей жизни возникло первое сообщество. Тогда же я узнал об Ubuntu и Linux. И стал частью тусовки линуксоидов: оказалось, что они сидят на forum.linux.by и частенько собираются в разных местах в Минске. Основной костяк составляли студенты. Я же учился в восьмом классе, но это никого не смущало.

Несколько раз такие «линуксовки» собирал и я. Бывало и так, что приходил в парк Янки Купалы и ждал под проливным дождём: подойдёт ли хоть кто-то. Потом видел в конце аллеи ещё одного такого же энтузиаста. И мы шли с ним, прикрывая головы пакетами и бумажками, в ближайшее кафе и писали потом на форуме: «Линуксовка состоялась! Нас было двое».

Фото из личного архива автора

Примерно в это же время я заинтересовался картами. Всё началось с того, что я попытался поставить на компьютер CityInfo. Программа нормально работала на Windows, но «ложилась», если её запускали на Linux. Разработчик CityInfo — человек специфический, не веривший в Linux — специально добавил в программу проверку.

Когда CityInfo отказалась работать на моём компьютере, я решил, что нужно найти замену картам. Пошёл искать. В результате узнал о проекте OpenStreetMap. Он только стартовал, карт почти не было — чистый лист. Мы рисовали их сами. Оказалось, что тусовка линуксоидов пересекается с тусовкой OpenStreetMap: костяк состоял из тех же людей.

Некоторые из этих ребят пришли в сообщество byGIS, лидером которого меня называют сегодня. Чтобы не вариться в собственном соку, мы с коллегой Львом Драгуновым решили пригласить в сообщество и других профессионалов: позвать кого-то из кадастрового агентства, а ещё выпускников геофака. Обычно они сидят в своих застенках и сетуют, что «зарплаты маленькие, податься бы в тестировщики». В то же время много компаний говорят: «Программисты у нас есть, нам географа бы!»

Сейчас нас около 200 человек, время от времени мы собираемся в Space. Многие компании, например OneSoil, нашли у нас сотрудников, решили разные мелкие проблемы.

Аттестат об окончании девяти классов как альтернатива диплому

У меня нет высшего образования: я ушёл из БГУИР после третьего курса, так и не окончив университет. В тот момент у меня умер отец — было совсем не до сессии. К тому же один из преподавателей невзлюбил меня настолько, что не отмечал весь год на парах. А последней каплей стало услышанное от другого преподавателя: «Вы все ничтожества! На работу вас никто не возьмёт».

Я к тому времени уже работал в режиме частичной занятости. Ещё немного посидел на лекции, послушал, встал и ушёл. Документы из БГУИР до сих пор не забрал — даже аттестат об окончании школы лежит там.

У меня на руках есть только аттестат, который дают после девяти классов. С ним обычно на работу и оформляюсь.

Когда я пришёл в Wargaming, в отделе кадров сперва погрустнели. Потом полистали трудовую книжку, насчитали у меня несколько лет стажа и повеселели. С тех пор я знаю, что не обязательно учиться, чтобы стать инженером в Беларуси.

Как Дорофей меняет работу

Работать я начал ещё на первом курсе. Отец сказал: «Тебе пора работать», — и с тех пор у меня никогда не было летних каникул. О том, как я менял места работы, даже есть анекдот:

— Знаете, Дорофей меняет работу.

— В самом деле? И какой ещё компании понадобился OpenStreetMap?

В 2009 году в Беларусь пришёл Navitel и начал уничтожать открытую картографию: представители этой компании запугивали участников сообщества, натравливали на них госнадзор. Позвали на «разговор» и меня. Обещали неприятности, намекали: сотрите OpenStreetMap — и вас, может быть, простят.

Я понимал, что угроза реальная: они уже закрыли почти все проекты, кроме OpenStreetMap — остальные удаляли свои сайты. Но сдаваться не собирался. Я узнал, какие большие компании у них в партнёрах. Пришёл в «СканЭкс», чтобы попросить разрешения использовать данные от kosmosnimki.ru для OpenStreetMap — и получил предложение о работе.

Даже те проекты с моим участием, которые в своё время не были завершены, сегодня частично доступны пользователям: я выложил их код в открытый доступ. Например, карты для аналога Google в азиатской стране, которые мы делали с «Акавiта». Это было главным, чему меня научил легендарный Джон Росмэн во время работы в RovarSoft: делать всё, что возможно, open source.

С этим правилом я и пошёл дальше по жизни. Поэтому часто бывает так: я прихожу в новую компанию и понимаю, что многие здесь уже видели мой код. Мне говорят: «Мы хотим сделать, как здесь, и как здесь». А я смотрю — так это же я делал, и вот это тоже.

«Беларусь — родина всех мобильных приложений на базе OpenStreetMap»

Картографии в нашей стране долгое время не было. За существовавшие на тот момент карты (в основном бумажные) требовали большие деньги. Поэтому в Беларуси появилось сразу несколько любительских проектов, связанных с составлением карт. Мы делали это просто так, потому что это прикольно. Только потом выяснилось, что за это могут ещё и деньги платить.

Как только у нас появились первые смартфоны, многие начали делать «что-то похожее на Google Maps». Поэтому Беларусь — родина всех мобильных приложений на базе OpenStreetMap: Galileo, Maps.Me, OsmAnd и других. В каждом из них мне чего-то не хватало.

Меня иногда спрашивают, почему в Беларуси картографические компании в основном разрабатывают софт. Дело в том, что в нашей стране сложно получить лицензию на составление карт.

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

С другой стороны, частные лица не несут ответственность за свои действия, в законе она не предусмотрена. Поэтому карты OpenStreetMap заполняют энтузиасты.

И при этом карта Беларуси — одна из лучших в СНГ: истребив свободные сообщества, кроме одного, Navitel создал «тепличные условия» для развития нашего сообщества. У нас не было официальных карт и карт Google, долгое время сюда не приходили карты Yandex. Но поскольку всем было «очень надо», мы по чуть-чуть что-то сделали — вплоть до того, что даже Национальное кадастровое агентство сегодня использует OpenStreetMap.

«Yandex выкатил новый инструмент, но он уже был в Maps.Me больше пяти лет назад»

Потом была работа в MapsWithMe — я пришёл к ним в том числе потому, что у меня появился смартфон, и меня не устраивало ни одно из тогдашних приложений с картами. Хотелось улучшить.

Там я занимался стилем карт. Это итеративный процесс: карты нужно постоянно улучшать. Поскольку понятие о том, что такое хорошо и что такое плохо, у всех разное, я пилил их «под себя». К примеру, мне непонятно, с какой стороны можно спуститься в подземный переход — и я его обозначаю. Или я не понимаю, где подъезды в этом здании — и я их выношу. Также я всегда ориентируюсь на объёмные справочники и книги по картографии — а Yandex и Google принятые нормы часто игнорируют.

Часть из того, что я сделал «для себя», потом из Maps.Me выпилили, равняясь на условных лидеров — Yandex и Google. Очень жаль. Сейчас Yandex выкатил новый инструмент — он показывает, где в здании расположены какие подъезды. Но этот инструмент уже был в Maps.Me больше пяти лет назад. Причём мы показывали не только номера подъездов, но даже нумерацию квартир. Нынешняя команда, может, и не знает об этом.

Сегодня я пользуюсь этим приложением, потому что в нём часть меня. Почти всё устраивает, разве что рекламы слишком много. К сожалению, когда Maps.Me купила Mail.Ru Group, от платной версии — без рекламы — отказались.

«Ругались матом, рвали одежду на сотрудниках ОМОН»: из Петербурга в минский изолятор

Уволившись из Maps.Me, я переехал в Санкт-Петербург. Думал, что надолго, но спустя полгода пришлось вернуться по личным обстоятельствам.

По приезду в Беларусь я сразу же загремел в «кутузку». Мы с друзьями решили нарисовать звёздное небо на серой панельке на станции метро «Петровщина» — там как раз было много других несложных граффити. Закупили баллончики с краской, приехали, и только распаковались и приступили к работе, как появился ОМОН.

Нас забрали в отделение и написали, что мы «ругались матом и рвали одежду на сотрудниках ОМОН». За это мне дали пять суток.

Это было самое спокойное время в моей жизни. Я вернулся в Минск с мыслью, что жизнь не удалась, всё плохо. А потом посмотрел на людей в изоляторе, послушал их истории (вроде такой: жена не даёт бывшему мужу видеться с ребёнком, он вышел с плакатом в знак протеста), и понял: у меня всё хорошо.

Выпав на неделю из жизни, я так и не попал на назначенные в разных компаниях собеседования. Но работу нашёл очень быстро — позвали в Wargaming делать глобальную карту.

«Конфликтные регионы пришлось спрятать»: как в Wargaming стёрли с карты Северную Корею

Глобальная карта Wargaming — это fantasy-мир, она не совсем совпадает с реальной: там есть провинции, у каждой из которых от 3 до 6 соседей, границы другие, поскольку всё ограничено требованиями, которые мне приходилось вытаскивать чуть ли не клещами из коллег. Постоянно случались диалоги вроде этого:

— А здесь тебе что не нравится?

— Слишком большая!

— Ну как «слишком большая» — это же Россия, она не может быть маленькой.

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

С десяток конфликтных регионов (если не больше) нам пришлось спрятать.

Мы убрали Северную Корею: такие бизнес-требования выдвинул нам южнокорейский офис. Что делать — взяли ластик и стёрли целую страну с карты мира.

Наша карта резалась на кусочки, которые потом соединялись воедино, и иногда не так, как в реальном мире — надо было следить за границами и исправлять алгоритмические «ляпы». Так, к примеру, Брест у меня самовольно присоединился к Польше, а Люксембург вошёл в состав Бельгии.

Серьёзным вызовом стала необходимость перевести 40 тысяч игровых объектов, а также не менее 700 тысяч надписей на 16 языков (причём два из них — китайских). К счастью, я как раз нашёл paper, который написал Дмитрий Богданов, с неделю пытался всё завести, наконец сделал, обучил нейросеть делать перевод — в итоге получилось неплохо. Хотя в моём fantasy-мире по аналогии с Moscow reservoir, то есть московским водохранилищем, и появились Мадридские и прочие водохранилища, а Flag mountain превратился во Флажную гору.

Работа в Juno: «Никто не хотел выпускать эту фичу, а потом её сделал Uber»

Карта была готова, когда люди, с которыми я работал в Wargaming, стали по одному уходить в Juno. Постепенно туда сманили весь скелет нашей команды. В какой-то момент предложили и мне.

Менеджеры Juno рисовали чудесные перспективы, говорили, что скоро логистическая платформа, над которой мы работали, станет всемирной. Прошло какое-то время, и риторика начала меняться. Давайте будем хотя бы вторым номером. Не в мире, но хотя бы в США. Хорошо, хотя бы в Нью-Йорке.

Как это обычно бывает: на старте проекта ты по-быстрому делаешь карты, чтобы было хоть что-то, что потом можно улучшать. Дальше, когда всё уже работает, твоя задача как специалиста — пойти и доказать всем, что местами система не идеальна и нуждается в доработке. Это сложно, потому что главный аргумент менеджеров: «Всё и так работает!» И тебе нужно «представить аналитику, доказать».

Спустя полгода работы в Juno я придумал один инструмент, пришёл к руководству, сказал, что это решит наши проблемы с позиционированием. Да-да, покивали все. А потом началось: «Нет, не нужно — у нас другие приоритеты».

Никто не хотел выпускать это обновление, поскольку ничего похожего до этого никто не делал: это же большая ответственность. А потом её сделал Uber. И все начали говорить: «О, так у нас же это было. Почему не сделали?» Но дальше вопросов дело опять не пошло.

Потом Juno купил Gett, мы съездили в Тель-Авив и между делом представили это решение в беседе с менеджерами Gett. И в итоге в Gett его внедрили, а в Juno — нет. Оно стояло в приоритете на июнь. Но потом мне сказали, что команда загружена на июнь-август. Словом, как обычно: в сентябре, если будет время, сделаем.

«Yandex-карты в приложении Uber сделали в стилистике Google-карт. Удивительно»

Меня нередко просят прокомментировать ситуацию с объединением Yandex и Uber. Я не работал ни там, ни там — могу лишь представить взгляд со стороны. Мне кажется, было бы правильно, если бы Uber просто перестал работать, а пользователей пригласили в Yandex. Тогда у них не было бы ощущения, что «сломали Uber». Ведь в новом приложении всегда всё по-новому.

После того как произошло объединение Juno и Gett, сервис Gett, к примеру, стал писать: «Пожалуйста, воспользуйтесь услугами Juno», а его «можно поставить по этой кнопке». В таком случае, мне кажется, жалоб было бы меньше, и не было нареканий на Uber, были бы только претензии, что Yandex — это неравноценная замена полюбившемуся сервису. Или «равноценная», если бы Yandex взял больше времени и успел всё отполировать.

Главная проблема Yandex: там нет толковых людей, ответственных за коммуникацию.

У водителей удалили приложение — так скажите им, что делать. Напишите пассажирам: «Извините, у нас переходный период. Дайте нам немного времени — вот вам скидка».

Меня во всей этой истории поразило даже не это, а другое — разработчики сделали Yandex-карты в приложении Uber в стилистике Google-карт. Мне это кажется невообразимым: все картографические компании стараются придерживаться своей стилистики. Компания Mapbox наезжала на других разработчиков, когда они пытались копировать их фирменный стиль. И тут Yandex копирует стиль Google, а также всё то плохое, что было в Google.

Уход из Juno

Чтобы объяснить, почему я ушёл из Juno, стоит вспомнить последний откровенный разговор с менеджером в Wargaming, когда сообщил ему, что ухожу и рассказал обо всех проблемах на проекте. Он спросил: «Что же ты раньше ко мне не пришёл?» И я решил, что в Juno я не умолчу ни о чём, что тревожит и меня, и команду. Буду ходить. И в какой-то момент это сформировало в глазах руководства мой имидж «всегда чем-то недовольного» сотрудника, которому больше всех надо.

Есть вещи, которые задевают всех, но остальные ребята в команде лишь грустно отшучиваются — никто не готов сказать: да задолбало! И «только Дорофей всё ходит и жалуется». Нам всем было некомфортно работать с Андреем Кириленко: он нередко позволял себе мат в адрес коллег, был несдержан. Я и ещё один сотрудник в какой-то момент буквально взмолились о том, чтобы на Андрея повлияли, — и нас перевели в другой отдел. Остальные молча терпели и ругали за глаза в курилке.

История с высказыванием, которое позволил себе Кириленко в адрес собравшихся у оперного театра, думаю, задела за живое не только меня. Я понимаю, что Juno «не вмешивается в личные дела своих сотрудников», но мне кажется, это не очень хорошая позиция для международной компании.

Человек опорочил её репутацию, а затем представил всё так, словно это журналисты виноваты. Мы ждали, что он принёсет извинения, скажет что-то вроде: «Я всё осознал, нехорошо так писать». Но он лишь написал в общем чатике о том, что ему «жаль, что СМИ набросились на нашу компанию. Не думал, что будет такой бэклэш». И в компании решили: «Каждый имеет право на ошибку». Но если бы она была первой.

Мои слова интерпретировались как нытьё. В последнее время мои разговоры тет-а-тет с директором и менеджерами рассматривались не как попытка сообщить о проблеме, чтобы вместе её решить, а как выпад в духе: «Мне тут не нравится, я увольняюсь!» Раз за разом я уверялся, что эти разговоры ни к чему не ведут.

Когда я пошёл прощаться с ребятами, один из менеджеров другой команды стал кричать: «Он у нас уже не работает, следите, чтобы на кухне ничего не съел». Надеюсь, хоть матерных анекдотов обо мне не рассказывают, как это было с некоторыми уволившимися.

На каникулы в никуда

Я ушёл в никуда. Твит о том, что я закончил работать в Juno, опубликовал в пятницу вечером. И к полуночи получил первый комментарий: «Давай к нам». Были и другие предложения.

Прошлой осенью ребята из некоммерческого проекта PostGIS сказали мне: «Ты пишешь нам о многих ошибках… Давай, ты их будешь чинить». Так что многие вещи, которые омрачали мне жизнь и в «СканЭкс», и в Wargaming, и в Juno, я аккуратно «допилил».

В сентябре они пригласили меня в Бостон — так что посмотрим. Можно считать, что сейчас у меня долгожданные каникулы.

dev.by — сайт об информационных технологиях в Беларуси и в мире.

Статьи по теме:

  • Четыре года в Минске — и четыре месяца в Нью-Йорке. Почему сервис для разработчиков Kuoll переехал и закрылся.
  • Новый глава разработки World of Tanks о взаимодействии сотрудников и об изменениях в работе за последние три года.
  • Инженеры заячьих душ. Белорусы снимают детский сериал, который показывают на Disney, Discovery, Sky Kids.
0
62 комментария
Написать комментарий...
Евфимия Сергеева

И правильно. Корки не рулят

Ответить
Развернуть ветку
Anton Matrosov

По коркам до сих пор еще отсеивают на ранних этапах, еще до собеседования. Чтобы устроиться программистом без корки, нужно иметь просто железное портфолио и хорошие связи в индустрии - тогда пригласят по знакомству. Если вы непризнанный гений без образования - HR'ы просто сразу спустят ваше резюме в корзину, хех.

Ответить
Развернуть ветку
Максим Мостовой

Везде смотрят на опыт прежде всего

Ответить
Развернуть ветку
Андрей Захаров

Он про это же и говорит.
Портфолио == опыт

Чтобы устроиться программистом без корки, нужно иметь просто железное портфолио и хорошие связи в индустрии - тогда пригласят по знакомству.
Ответить
Развернуть ветку
59 комментариев
Раскрывать всегда