My Journey from Psych Grad to Leading Data Science at Lazada
Юджин Янь рассказывает, как с дипломом по психологии прошёл путь до VP of Data Science в Lazada. После двух скучных лет аналитиком в госсекторе он увлёкся онлайн-курсами по данным, попал в программу IBM для переквалификации (один из двух нетехнарей среди 20 человек, 10 из которых были PhD), и параллельно самостоятельно осваивал Python, Spark и ML. Топ-3% в Kaggle-соревновании Otto и доклад на митапе привели к приглашению в стартап Lazada, где он построил классификатор сотен миллионов товаров и систему ранжирования для всего сайта. Первый AB-тест провалился и стоил миллионы выручки, но публичное восстановление укрепило репутацию команды. Прорыв на плато случился после совета фокусироваться на коммуникации — отказе от жаргона в пользу языка бизнеса. За год он получил два повышения, возглавив команду из 12+ дата-сайентистов. Три ключа успеха: непрерывное самообучение, реальная доставка ценности (в 3 раза выше среднего) и эмпатичная коммуникация с нетехническими стейкхолдерами.
Мой путь от выпускника-психолога до руководителя Data Science в Lazada
Многих интересует, как я попал в data science с дипломом по психологии. Им любопытно, как я сделал первый шаг.
А потом они узнают, что я возглавлял команду data science в Lazada, и им становится интересно, как это получилось. (Спойлер: много тяжёлой работы и немного удачи.)
В мире, где почти у каждого руководителя data science есть технический PhD (или два), я необычный. Аномалия. Видимо, поэтому моя история вызывает интерес. Возможно, в ней есть и щепотка истории про «андердога».
Достаточно людей (10+) попросили это записать — так просто масштабируемее. Я включил несколько ключевых эпизодов и в конце выделил основные уроки.
TL;DR: (i) самообучение, (ii) доставка ценности и (iii) эффективная коммуникация.
Как бы я ни старался не казаться хвастливым, моя цель — поделиться тем, чему научился, и помочь другим войти в эту сферу и добиться в ней успеха.
Обновление: вот что сказал об этом мой бывший начальник в Lazada
До того, как я попал в data science
Только что получив диплом по психологии и организационному поведению, я не знал, что делать дальше. Я выпускник социальных наук! Я могу что угодно! Или ничего.
В итоге я устроился инвестиционным аналитиком в государственное учреждение. Я ожидал, что буду использовать данные для принятия более качественных инвестиционных решений. В какие страны инвестировать, на каких отраслях сосредоточиться. Однако работа в основном свелась к переговорам и юридическим вопросам по соглашениям о свободной торговле. Мне стало скучно.
Из любопытства я начал проходить онлайн-курсы (Coursera и EdX — это супер!). Те ранние курсы по данным были очень интересны и убедили меня, что я создан для чего-то большего. Или хотя бы другого. Я должен был получить работу, связанную с данными.
К счастью, у IBM была программа по найму и обучению группы профессионалов с опытом работы для ролей, связанных с данными. Это казалось маловероятным выстрелом, но я всё равно отправил резюме.
К моему удивлению, меня пригласили на собеседования. (У меня не было ни нужного образования, ни опыта; я бы сам себя не рассмотрел!) Несколько вопросов по статистике, SQL, R — большую часть я подтянул через онлайн-курсы. Оффер был подарком свыше.
Снижение зарплаты на 33% было тяжело проглотить. Но мне было настолько скучно (читай: я был несчастен) на позиции инвестиционного аналитика после двух лет, что я согласился.
Мой первый шаг в эту сферу
Первый день стал шоком. Из 20 нанятых 18 человек имели технические дипломы, из них 10 — PhD. Оставшиеся двое — диплом по психологии (это я) и по экономике. Я был самым нетехническим в группе.
Как я чувствовал себя в первый день (из: https://www.nathanwpyle.art/)
Почему IBM наняла меня? Хотелось бы думать, что дело в моём обаянии, но совесть говорит «ни за что!». Поэтому предлагаю три более рациональные причины.
Я соответствовал минимальной технической планке (благодаря бесплатным курсам). Мой опыт в госсекторе пригодился в роли консультанта. Немного удачи.
Первый год я работал младшим консультантом, строил дашборды для цепочек поставок, занимался мониторингом соцсетей и т.п.
На втором году меня внутренне перевели в команду workforce-аналитики, где я работал над прогнозированием спроса на рабочие места и строил рекомендательный движок для перемещения людей внутри организации.
Параллельно я продолжал самообучение. Освоил Python (обожаю его) и прошёл курсы по машинному обучению. Появился Spark — блестящий (каламбур) big data фреймворк — который выпускал бесплатные курсы на EdX, и я их тоже проглотил.
Серендипность
С новыми навыками в Python и машинном обучении я искал возможность попрактиковаться. И тут наткнулся на своё первое соревнование на Kaggle.
В Otto Product Classification challenge участники строили ML-модели для классификации 200 тысяч товаров по 9 категориям. Я принял участие и ближе к концу объединился с другим участником. Наша финальная посылка — ансамбль gradient boosted trees и нейросетей — оказалась достаточно хороша, чтобы попасть в топ 3% из более чем 3500 команд. Неплохо для первой попытки.
Я думал, что Kaggle — это лучшее, что появилось со времён iPhone. Отличное место, чтобы практиковаться, учиться у лучших в мире и получать мгновенную обратную связь. Мне хотелось поделиться опытом и наблюдениями. Когда появилась возможность выступить на митапе data science сообщества с темой личных проектов, я с радостью согласился.
80+ человек пришли в ту июньскую субботу днём. Мозг взорван. Кто эти люди, и неужели у них нет дел получше в субботу?! Они были щедры на внимание и обратную связь, и я научился у них не меньше, чем от участия в самом соревновании.
Втайне от меня на митап заглянула и Серендипность. И прихватила с собой знакомого в зале.
«Свою удачу ты делаешь сам» — Ernest Hemingway
Слухи о моём выступлении разошлись. На другом data-митапе в июне я познакомился с организатором. Он запускал команду по данным в Lazada и узнал о моём выступлении.
Возможность стучится в дверь
Lazada — стартап, запущенный в 2012 году при поддержке немецкого Rocket Internet. Он приносил удобство e-commerce населению Юго-Восточной Азии. Достичь успеха уровня Amazon и Alibaba тоже было бы неплохо. (Куплен Alibaba в 2016.)
Они испытывали трудности с точной категоризацией товаров и услышали про моё выступление о Kaggle-соревновании.
Меня пригласили в Lazada «поболтать». Всё началось с быстрого прогона моей митаповой презентации перед Head of Data Science (John Berns) и его руководителем — CIO (Klemen Drole). Остальная команда (три человека, включая одного, кто был на моём митапе) была настолько любезна, что сводила меня на обед.
Уходя, я гадал, было ли это собеседованием, и втайне надеялся, что справился хорошо.
На следующий день они позвонили и предложили позицию.
Я колебался, стоит ли уходить из такой почтенной, брендовой компании, как IBM (в ретроспективе это смешно). Lazada была неизвестным стартапом с командой данных из трёх человек. Семья и ближайшие друзья считали это рискованным. Однако в глубине души я знал, что буду сожалеть, если не приму предложение.
(Заметка: выступления приносят неожиданные возможности. Вот как сделать классный доклад.)
На борту ракеты Lazada
Присоединиться к Lazada было одним из лучших решений в моей жизни.
Если вам предлагают место в ракете, не спрашивайте, какое именно. Просто садитесь.
Я получил возможность работать с талантливыми data scientists и инженерами. Мы решали сложные задачи и приносили огромную ценность потребителям в Юго-Восточной Азии — очень вдохновляюще.
Моим первым проектом было (естественно) построение классификатора товаров, похожего на Kaggle-соревнование, с несколькими небольшими отличиями.
Во-первых, у нас были сотни миллионов товаров из тысяч категорий. Во-вторых, это должно было быть в виде API для внутренних пользователей и внешних продавцов со строгими требованиями к латентности. В-третьих, требовалось непрерывное переобучение и валидация для поддержания высокой точности.
Ага, точно как на Kaggle.
Кривая обучения была крутой. Толкнула меня в 2 раза дальше моих текущих возможностей. Захватывающе.
К счастью, потрясающие data engineers научили меня масштабировать и делать системы устойчивее. С небольшим (читай: 10+ часов в неделю) самостоятельным ковырянием по выходным я выдал результат за пару месяцев.
Это заслужило доверие команды, моего руководителя и наших стейкхолдеров.
Волонтёрство — это (не)везение
Когда я заканчивал свой классификатор товаров, два senior data scientists работали над рекомендациями для email-рассылок. Однако у них была проблема холодного старта. У большой части клиентов было недостаточно активности, чтобы давать осмысленные рекомендации.
Я вызвался помочь, ранжируя товары по историческим метрикам (например, клики, покупки) и метаданным (например, цена, рейтинги и т.п.). Топовые товары рекомендовались бы этим cold-start клиентам. Просто и управляемо.
Мы представили план топ-менеджменту, и всё прошло хорошо. Слишком хорошо.
«Отличная идея! Почему бы не распространить ранжирование товаров на весь сайт?», — спросили они.
Гулп.
Мои первые попытки на Python и pandas оказались бесполезными. Обработка данных за один день занимала 2 часа — данные за месяц обрабатывались бы 2,5 дня. «Добро пожаловать в big data», — усмехнулся data engineer.
К счастью, я подтянул Spark на онлайн-курсах (спасибо DataBricks и EdX). Это дало хорошую базу и помогло мне разогнаться быстрее многих.
Через пару месяцев всё было готово к AB-тестированию. Я запустил AB-тест, мимоходом упомянул это руководителю за напитками (большая ошибка, в ретроспективе) и пару дней спал как младенец.
Как я потерял миллионы на своём первом AB-тесте
Нет, я не был так счастлив, как этот парень выглядит
«Что это за AB-тест ты запустил и почему он потерял миллионы выручки на прошлой неделе?», — спросил мой босс в Slack.
Позже я узнал, что его как раз распекали на совещании с топ-менеджментом.
В панике я начал сортировку проблемы между инструментом AB-тестирования, Airflow, метриками валидации и т.п. За пару часов я придумал несколько гипотез и способы их валидации, а также план для следующей итерации экспериментов.
Получив обратную связь, я начал работать над этим день и ночь. Примерно через две недели мы запустили ещё один AB-тест. На этот раз я спал уже не так спокойно.
К счастью, следующие раунды AB-тестирования дали положительные результаты. Помогло улучшение свежести данных (например, поведенческие логи, транзакционные данные) и упрощение модели для борьбы с переобучением.
Провал и позор были очень публичными. Но таким же было и восстановление, и успех.
Это помогло укрепить позиции команды data science внутри организации.
Плато и новый фокус
После нескольких проектов всё стало менее страшным и более комфортным. Даже лёгким. А значит, мой рост замедлялся.
Прогресс нелинеен — это череда рывков и плато
Я пробовал разные способы понять «что» и «как» изучать дальше. В том числе — обращаться к экспертам, которыми я восхищался. Обычно они были на 2-3 уровня выше меня. Я отправлял непринуждённое письмо с предложением угостить кофе или вежливо просил о Skype-разговоре, обозначая готовность учиться у их опыта. Неожиданно все, к кому я обращался, ответили положительно.
Я знал, что важно хорошо разбираться в программировании, математике, статистике, машинном обучении, бизнесе и т.д. «Что приоритизировать?», — спрашивал я.
«Эти навыки важны. Но ты упускаешь самый главный (и переносимый) навык — коммуникацию», — отвечали они.
Вы шутите, правда? Разговоры — это самое важное? (Как же я был наивен.) Тем не менее, я решил последовать их совету и осознанно сосредоточился на улучшении коммуникации.
На встречах с бизнес-стейкхолдерами я избегал жаргона data science вроде «area-under-curve (AUC)», «recall», «mean squared error». Вместо этого я использовал их термины: «выявленные случаи мошенничества и экономия», «рост конверсии и выручки», «снижение опозданий доставки и жалоб».
Мне нужна была и практика. Команда данных хотела запустить внутреннюю рассылку для повышения осведомлённости — я вызвался. Кому-то нужно было ездить на зарубежные рынки с роуд-шоу по data science — я вызвался. Мы хотели представить нашу работу на конференциях — я вызвался.
Практика, практика, практика.
Метаморфоза
Пролетел ещё один год. Я фокусировался на доставке небольших, но значимых проектов и улучшении коммуникации.
Примерно в то время меня повысили дважды за год.
Первое — до senior data scientist — произошло, видимо, через некоторое время после успеха с ранжированием товаров и пары других побед.
Затем я дорос до VP of Data Science, возглавив команду из 12+ data scientists.
Это требует времени, но в итоге ты прокачиваешься на новый уровень
Как я этого добился?
Непрерывное самообучение сыграло большую роль, особенно в входе в сферу. Почти во всех ролях и проектах мне приходилось учиться самостоятельно — за пределами должностных обязанностей — чтобы хоть как-то квалифицироваться. Это открывало всё более сложные возможности.
Но уже внутри сферы были люди с лучшим образованием и большим опытом — почему я?
Это не может быть просто везением. Я не смог разобраться сам и решил спросить руководителя и других senior-лидеров. Вот что я уловил:
Я был голоден и доводил дела до конца. Измеримая ценность, которую я создавал, была в 3 раза выше, чем у среднего data scientist. Именно так они обосновывали повышение перед топ-менеджментом и HR.
Кроме того, нетехнические стейкхолдеры могли общаться со мной. Часто после встречи с data scientist стейкхолдеры уходили, не понимая, о чём он говорил и куда движется проект. (Грустно, но факт.)
Меня повысили, чтобы я был ролевой моделью и менторил команду — учить лучше доставлять и лучше коммуницировать.
Это был длинный текст — можешь подытожить?
Хорошо, вот что я делал:
Самообучение и практика, что привело к… Моей первой роли в данных и продолжению учёбы, что привело к… Участию в Kaggle-соревновании, что привело к… Волонтёрскому выступлению на митапе, что привело к… Приглашению на «чат» и обед, что привело к… Переходу в стартап, обильному обучению и менторам, что привело к… Фокусу на коммуникации, что привело к… Большей эффективности и росту
Напутствие
Я начал этот пост, чтобы поделиться своим путём. Цель была — развеять заблуждение, что технический диплом обязателен для входа в сферу, не говоря уже об успехе в ней. Надеюсь, я вас убедил.
Пост завершился рефлексией над тремя ключами к успеху data scientist — основанной на моём опыте: (i) непрерывное самообучение, (ii) доводить дела до конца, и (iii) эмпатичная коммуникация.
Мой путь от диплома по психологии в data science (тред): Моя первая работа была инвестиционным аналитиком в госсекторе. Из любопытства проходил онлайн-курсы и влюбился в данные. Подавался на entry-level позиции — это был выстрел вслепую. Меня пригласили на собеседование в IBM. (1/6)👇— Eugene Yan (@eugeneyan) April 26, 2020
Спасибо Xinyi Yang, Gabriel Chuan и Chng Yee Siang за чтение черновиков.
Если вы нашли это полезным, пожалуйста, цитируйте этот текст так:
Yan, Ziyou. (Feb 2020). My Journey from Psych Grad to Leading Data Science at Lazada. eugeneyan.com. https://eugeneyan.com/writing/psych-grad-to-data-science-lead/.
или
@article{yan2020psych, title = {My Journey from Psych Grad to Leading Data Science at Lazada}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2020}, month = {Feb}, url = {https://eugeneyan.com/writing/psych-grad-to-data-science-lead/} }
Присоединяйтесь к 11 800+ читателям, получающим обновления о машинном обучении, RecSys, LLM и инженерии.