Виктор Андрийчук запустил и продал несколько стартапов, но понял, что хочет заниматься программированием. Сейчас он работает и одновременно учится в магистратуре, в Skillfactory на программе по Data Science и еще на нескольких курсах. Виктор рассказал, как он практикуется по 10–12 часов в день и как он стал дата-сайентистом.
Что я делал раньше
Когда мне было 28 лет, я начал запускать собственные проекты. Было несколько более-менее успешных: компания, которая разрабатывает игры, информационные порталы в аграрной отрасли, аграрная онлайн-биржа. Все стартапы я продал.
Потом идеи для проектов иссякли, миллионером я не стал, и пришлось идти в найм. Я работал продакт-менеджером в компании, которая занимается SMS- и email-рассылками. Мне было нужно создать новое направление по рассылкам в мессенджерах и аналитическую платформу, которая умеет находить оптимальные каналы коммуникации с каждым пользователем или сегментом.
Постепенно мне надоело заниматься менеджментом и я стал искать новое направление для развития на следующие десять лет. Я не мечтал о головокружительной карьере, но в 38 лет трезво взглянул на ситуацию: в карьере управленца не преуспел, до пенсии еще далеко, надо зарабатывать на жизнь, но на пятки наступают молодые и амбициозные менеджеры и руководители проектов.
Около двух лет я пытался понять, что делать дальше. В конце 2019 года мне попалось на глаза видео, в котором человек из Киева (я тоже из Киева) рассказал о своей идее запустить проект по созданию настоящего искусственного сознания. По его словам, для этого ему было достаточно двух разработчиков и девяти месяцев работы. Говорил он так воодушевленно, что это передалось и мне. Я решил, что хочу попасть к этому человеку в команду. А значит, мне нужно изучать программирование и искусственный интеллект.
Тоже интересно: Полный разбор профессии Data Scientist
Почему я решил стать дата-сайентистом
1 января 2020 года я составил себе трек на год и окунулся с головой в изучение. Если бы я с самого начала знал, как это будет сложно, скорее всего, испугался бы. Я практиковался по 10–12 часов в день почти без выходных. Первые полгода мотивация держалась на том, что я хотел попасть в проект, а дальше стало по-настоящему интересно. За три месяца начал понимать что-то в Python. Потом нашел курс от SkillFactory по Data Science и поступил на него. Через полгода понял, что начинаю разбираться, но мне не хватает знаний в фундаментальных науках. Поэтому я решил поступить в магистратуру Киевского политехнического института на факультет прикладной математики на Data Science.
За это время несколько раз написал тому человеку из видео, но в целом сам начал понимать, что моих знаний недостаточно для его задачи, поэтому я не могу претендовать на место в его лаборатории. Но и полученные знания тоже не хотелось терять, тем более что меня начало увлекать то, что я изучил, — мне нравилось программировать, строить модели. Я решил сменить карьеру и стать дата-сайентистом.
Посмотрел на вакансии и требования и понял, что рынку нужны люди с опытом, даже на младшие позиции; предложений в Украине мало. Тогда я записался на онлайн-курс по большим данным и дата-инжинирингу. Все складывалось по моему плану: до конца года я должен был на хорошем уровне разбираться в Data Science и работодатели должны были бороться за меня.
Кстати, можно сказать, что коронавирус мне помог, так как можно было учиться и работать из дома. Но вышло все не так гладко, как предполагалось. Например, в магистратуре начал проседать: пришлось отобрать несколько предметов по специальности, а на остальные «забить» и изучать кое-как. От курса по Big Data отказался через месяц — он был поверхностным, хотя стоил очень дорого. Если новичку обещают, что за 2–3 месяца из него сделают дата-сайентиста и он будет зарабатывать много денег, то это развод.
Как я набирал опыт и искал работу
Параллельно с сентября по декабрь принял участие в трех хакатонах: от одного украинского онлайн-кинотеатра, «Альфа-Банка» и «Сибура». Больше всего поднаторел в рекомендательных системах. Но реального опыта в бизнесе не было. Рассылал резюме, но на собеседования не звали. Понял, что нужно получить практический опыт.
В ноябре узнал об акселерационной программе в SkillFactory. Суть в том, что студент выбирает проект, который он хотел бы реализовать, ему подбирают менторов и в течение трех месяцев сопровождают студента до сдачи проекта. Еще есть трек по построению персонального бренда. Я подумал, что это то, что мне нужно. В качестве проекта решил создать рекомендательную систему для интернет-магазина, которым владеет мой товарищ. Естественно, его это заинтересовало.
Подробнее о Data Science Акселераторе и о том, как он создавался
Сначала пообщался с владельцем интернет-магазина, сформировал понимание об особенностях посетителей сайта. Он продает часы, и покупатели нуждаются в них раз в 3–5 лет, то есть 90% посетителей заходят на сайт один раз и больше не возвращаются. Тогда я решил реализовать рекомендации так: пользователь приходит на страницу товара, мой JS-код анализирует характеристики этого пользователя (из какого источника пришел, с какого устройства), а также берет название товара, который он смотрит, и передает мне данные.
Далее я ищу самые релевантные товары из базы и, если вижу, что пользователь по какой-то причине собирается уходить без покупки, показываю ему аккуратное всплывающее окно с этими товарами. В зависимости от характеристик пользователя стараюсь подобрать либо более дешевые, либо, наоборот, более дорогие. Рекомендательную систему обучал с помощью нейронной сети по картинкам. То есть первый слой — это похожие товары по изображениям, далее стоит фильтр по категориям, типу часов (классика, спорт), типу ремешка (кожа, металл) и цене.
Я провел A/B-тестирование — тестировал два варианта рекомендаций: без картинки и с картинкой. Выяснил, что без картинок CTR (отношение количества кликов на баннер или рекламное объявление к числу показов) 5,4%, а с картинкой — 7,8%. Даже написал статью о том, как реализовал проект.
После того как я опубликовал информацию о проекте в резюме, стали появляться отклики, но только со стороны HR. Я проходил стажировку в компании, которая занимается NLP. Я справился, но в итоге они решили взять специалистов с более глубоким фундаментальным бэкграундом.
Параллельно последние полгода я рассказывал руководству о перспективности Data Science, и после Акселератора, который закончился в марте, я убедил менеджмент в том, что это направление нужно бизнесу. Так я перешел на позицию Middle Data Scientist в этой же компании.
Что я делаю сейчас
Передо мной стоит задача создать инструмент, который будет автоматически с помощью машинного обучения определять, является ли сообщение от клиента спамом. В создании сервиса будут задействованы программисты, которые разрабатывают систему отправки сообщений. Я уже разобрался какие данные и как получать из системы, чтобы можно было обучать модель, смог сделать очистку данных, произвести разведывательный анализ, а также создать дополнительные признаки для работы ML-алгоритмов.
Мне удалось обучить нейронную сеть с точностью предсказаний 91%. Сейчас я думаю, как можно улучшить точность хотя бы до 93-94%, но руководство довольно и таким результатом. Следующий шаг — сделать микро-сервис, который будет по API получать входящее сообщение, делать прогноз, является ли оно спамом или нет, и отправлять ответ в систему отправки сообщений.
Совет
Просто берите и делайте. Попробуйте построить карту своего профессионального развития. Если возникают мысли, что добиться цели сложно, то каждый день делайте хотя бы немного из того, что запланировали. Еще не нужно обращать внимание на других программистов. Часто, особенно в начале пути, кажется, что вокруг все знают все. Я считаю, что это неправильная позиция: нужно сравнивать свой результат сегодня со своим результатом вчера и стараться постоянно улучшать свои навыки.