«Рассылать резюме — не лучший способ поиска работы». Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Источник материала:  
16.05.2018 09:00 — Разное

Александр Буслаев — инженер алгоритмов компьютерного зрения, выпускник ИТМО в Санкт-Петербурге, четырёхкратный победитель соревнований по машинному обучению на площадках Kaggle, TopCoder и других. В одном из конкурсов он выиграл $25 тысяч. Недавно инженер присоединился к минской команде Mapbox, которая создаёт SDK для беспилотников.      

dev.by поговорил с новым сотрудником стартапа и узнал, зачем айтишнику участвовать в соревнованиях и как победы отражаются на зарплате и популярности аккаунта в LinkedIn. 

«Рассылать резюме — не лучший способ поиска работы». Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Как несчастный случай привёл в Data Science

Александр, количество твоих побед на соревнованиях по машинному обучению, наверное, открывает тебе дорогу практически в любую ИТ-компанию и страну. Почему выбрал Минск?

Я давно думал о переезде. В Петербурге совсем плохо с погодой, в Москве я бы не хотел жить, а больше в России негде работать. Минск относительно недалеко находится, и пока мне здесь нравится. Уже заселились в съёмную квартиру вместе с кошкой и вещами. Но я считаю, что полностью переезд будет завершён в момент покупки собственного жилья.

На работе пока осваиваюсь, ещё не до конца понимаю, что делаю, но потихоньку вливаюсь в рабочий процесс. За неделю даже успел акклиматизироваться.

Немного о том, как началась твоя карьера в ИТ. 

Родился я в Западной Украине, а жил в Тольятти. В школе у меня была предрасположенность к физике и математике. В 11-м классе участвовал в олимпиаде по информатике и занял первое место, не умея программировать. Меня пригласили съездить в Петербург. После этой поездки я решил поступать в ИТМО на кафедру компьютерных технологий, где готовят чемпионов соревнований по программированию. Конкретно на неё я не попал, но поступил на похожую кафедру.

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

«Рассылать резюме — не лучший способ поиска работы». Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Потом работал в LG Electronics, правда, не очень долго. Там я успел сделать несколько интересных вещей, одна из них — система HDR для телефонов LG. Она делает фотографию с тремя разными выдержками и склеивает их в одну. После этого занимался восстановлением линий электропередач в 3D по фотографиям.

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

33 тысячи просмотров поста в LinkedIn. Кто больше?

Расскажи о своём первом соревновании по машинному обучению: это был триумф или провал?

Первым было соревнование по подсчёту морских котиков на аэрофотоснимках на платформе Kaggle. Участвовать в нём я решил после того, как посмотрел ролик, где парень решает задачи по детекции, и подумал: а чем я хуже? В то время как раз вышел Tensorflow Object Detection, позволявший решать ML задачи практически без программирования.

Первый раз я участвовал один, потому что меня ещё никто не знал, а сам я не привык напрашиваться в команду. В итоге занял 13-е место (всего было 385 участников). После этого меня стали приглашать в команды. При первом командном сражении заняли 7-е место, затем было фиаско, а после него началось победное шествие. В трёх конкурсах подряд были первые места: одна победа в команде и две — сольных.

Почувствовал ли всплеск интереса к тебе в LinkedIn после череды побед на соревнованиях?

Предложений о работе, конечно, прибавилось. Особенно это стало заметно, когда я начал афишировать победы. Пост о последнем конкурсе набрал 33 тысячи просмотров и 550 лайков в LinkedIn. Также после статьи на habr стали обращать на меня внимание, звать на интервью. Но mapbox опередил всех.

«Рассылать резюме — не лучший способ поиска работы». Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Как работодатели относились к твоему участию в соревнованиях  поощряли или, наоборот, порицали: мол, лучше бы работой занимался?

После первого конкурса хвалили. А потом я перестал им об этом говорить. Я считаю, что от того, что люди участвуют в соревнованиях, выигрывают все: и работодатели, и сотрудники. Придуманные на конкурсе методы и подходы лично мне потом удавалось не раз применить на рабочем проекте.

Это и есть то, ради чего ты участвуешь в соревнованиях?

У меня такой подход к жизни: если у кого-то что-то получается, значит, и у меня должно. На работе ты сделал задачу, но не понимаешь, насколько хорошо. А в соревнованиях можно максимально объективно понять, насколько ты силён, сравнив свой результат с чужим. Ещё было желание утвердиться: первые четыре года я не получал желаемого результата на работе, а на соревнованиях сходу начало получаться.  Это дало прилив сил.

Два месяца на обучение модели

Как обычно проходят соревнования по машинному обучению?

Проходят они онлайн и длятся в среднем два месяца. Команды, как правило, сборные. Последний раз я был в команде с ребятами из Германии, Омска и Питера. А чуть раньше — с парнем, который живёт в США, приходилось работать в три смены.

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

Как распределяются роли в сборной команде?

Обычно структура в соревнованиях плоская: каждый отвечает за себя, лидера или начальника в команде нет. Все участники делают одно и то же, ориентируясь на свой жизненный опыт. В финал попадает суммарное решение.

Кто ставит задачи?

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

«Рассылать резюме — не лучший способ поиска работы». Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Соревнования проходят удалённо. Можно ли воспользоваться обходными путями, чтобы достичь максимального значения метрик?

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

«Рассылать резюме — не лучший способ поиска работы». Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

В одной из своих статей на хабр ты писал о том, что организаторы часто допускают ошибки в данных. Приведёшь пример?

Часто встречаются неточности в разметке данных (почти всегда это тормозит решение задачи). Разметка — это то, что делается людьми, поэтому она всегда не идеальна. Недавно проходил конкурс, в котором я хотел поучаствовать, но, увидев разметку, передумал: шоссе не было размечено. Из-за такого безобразия нейронные сети сходят с ума, а призовые места распределяются рандомно.

К слову, часто на конкурсах хорошие нейронки начинаются с 50-го или даже 100-го места. А самые верхние решения зачастую не подготовлены к реальной жизни, но зато они дают самую высокую метрику.

Новичкам в соревнованиях ты советуешь «брать за основу чужие решения, разбираться в них и пытаться улучшить». А с чего сам начинал?

Я начинал подготовку на Coursera. Первый курс очень известный — машинное обучение от Andrew Ng. Второй — нейронные сети на Stepik, он тоже довольно сильный. Сейчас я бы порекомендовал специализацию по машинному обучению от МФТИ и Яндекса.

«Рассылать резюме — не лучший способ поиска работы». Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Рейтинги кандидатов и заработок на соревнованиях

Что обычно вручают победителям соревнований в качестве награды?

Обычно деньги: от тысячи до нескольких миллионов долларов. Мой самый большой трофей — $25 тыс. За последний конкурс в дополнение к деньгам хотели дать суперкомпьютер, но пришлось объяснить, что у нас сборная команда. Тогда организаторы решили вручить по 4 видеокарты, каждая из которых стоит по $3 тысяч.

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

Во-первых, это не так надёжно, как работа. Соревнования, в которых есть хорошие призы, не так часто проходят. Во-вторых, конкуренция достаточно высокая. Если за первое место дают, например, $25 тыс, то за второе уже $10 тыс. Плюс на конкурсах не ставят такие глобальные задачи, как на работе. Понятно, что твоё решение, возможно, будут использовать, но ты понятия не имеешь, где и как. Поэтому мне больше нравится классическая работа.

Есть ли зависимость между количеством завоёванных наград и продвижением по карьерной лестнице, зарплатой?

Рассылать резюме — это уже не очень популярный способ поиска работы. Гораздо приятнее, когда тебя находят, чем когда ты пишешь и просишь: а не могли бы вы меня прособеседовать. Думаю, не последнюю роль в том, что я здесь работаю, сыграли соревнования. Компания посмотрела рейтинги людей, которые гарантированно что-то умеют делать (при поиске кандидатов часто обращаются к рейтингам), и выбрала, кого можно собеседовать.

Тема автономных авто «самая горячая на рынке»

Если выбирать между работой в стартапе и корпорации, что интересней?

Я работал в LG Electronics, и мне не очень нравятся большие компании. На прошлой моей работе мы выросли с 20 человек до 200, и, как известно, бурный рост сопровождается административными сложностями. Поэтому мне ближе небольшие компании, но не стартапы, которые выжигают деньги, а бизнесы, которые уверенно идут к цели.

Как mapbox удалось переманить тебя из Петербурга в Минск?  

Тема автономных автомобилей сейчас самая горячая на рынке, и пока ещё никто полностью не решил эту задачу. Мне понравилось, что в Mapbox не делают машину целиком, а занимаются именно тем, что мне интересно — алгоритмами. Автономные автомобили, алгоритмы, хорошие деньги и профит для всего человечества меня подкупили.

«Рассылать резюме — не лучший способ поиска работы». Зачем победитель Kaggle и TopCoder переехал в Минск из Питера

Как проходило твоё собеседование в компанию?

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

Чем ты будешь заниматься в команде?

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

 

Фото: Андрей Давыдчик

←Готовимся к лету: как выбрать стильную и практичную сумку

Лента Новостей ТОП-Новости Беларуси
Яндекс.Метрика