Пять главных навыков хорошего data scientist, которым не учат в книгах
О том, какие навыки на самом деле нужны аналитикам данных и специалистам по машинному обучению, — взгляд основателя компаний InsideDNA и Skinomica, ранее — ведущего специалиста Booking.com Анны Костиковой.
Вместо введения или про то, как я стала data scientist
Сегодня data scientist (DS) — одна из самых востребованных профессий на рынке труда. Высокие зарплаты, большой интерес со стороны работодателей, шквал вакансий. Но примерно пять лет назад всё было иначе: когда после защиты кандидатской в Швейцарии и нескольких лет работы в Швейцарском институте биоинформатики я искала работу, на территории Швейцарии нашлась всего одна вакансия DS — в Цюрихском офисе Google. Для сравнения, если сегодня вбить "data scientist" на Glassdoor (Швейцария) — выпадет более трёхсот вакансий.
В Цюрихский офис Google я так и не попала — на тот момент они решили не формировать новую команду. Зато несколько лет отработала ведущим специалистом по DS и ML в Booking.com.
За три года работы в Booking, наша команда DS и ML выросла с 25 человек и четырёх небольших команд до почти 200 человек и примерно пяти отделов. Мы реализовали ряд успешных и, разумеется, в разы больше неуспешных проектов, сформировали отличный технологический стек по DS и ML, и в целом закрепили за Booking.com статус одной из наиболее data-driven компаний в отрасли.
Но главное, пожалуй, вдоль и поперёк изучили то, каких людей стоит и не стоит нанимать в компанию на роль DS.
За время работы я провела около 150 интервью (телефонных и f2f) и ниже расскажу о том, на основании чего в конечном счёте принималось решение о приёме кандидата в команду как в Booking.com, так и в компанию, где я работаю теперь — InsideDNA.
Есть пять основных умений DS-специалиста, при наличии которых он будет приносить реальную пользу компании. Профессионалы с такими способностями встречаются редко, но это не значит, что их не стоит искать и пытаться привлекать в команду. Сразу оговорюсь, речь будет о требованиях к специалистам в относительно большую компанию и не в отдел научных разработок и исследований (R&D), а в операционный бизнес.
1. Умение разобраться в бизнес-задаче и оценить её потенциальную пользу для бизнеса
Первое, с чем приходится сталкиваться DS — с расплывчатыми, непродуманными и часто технически невыполнимыми вопросами. Почему так происходит? Потому что людей, способных транслировать свои идеи в тестируемые гипотезы, очень немного. Ещё меньше людей, которые разбираются в статистике достаточно, чтобы понимать, как именно можно использовать данные для развития бизнеса.
Большая часть сотрудников будет воспринимать DS специалиста либо как улучшенную версию пивот-таблицы в Excel, либо как магический прибор, обязанный в течение суток выдать ответ на любой поставленный вопрос.
Именно DS-специалисту приходится оценивать осмысленность идеи, реалистичность её выполнения и потенциальную пользу для компании. Самый простой тест «на вшивость», который должен уметь делать DS, это тест «чтобы что». Он состоит из нескольких вопросов:
- Представьте, что мы сделали этот анализ или разработали эту модель — что мы будем делать с ней дальше?
- Как мы сможем оценить её вклад в бизнес компании?
- Как мы внедрим её в производство?
- Как мы оценим её пользу по сравнению с текущим решением?
Если начальник или куратор проекта не может чётко ответить на эти вопросы — его надо отправить подумать или сесть подумать вместе с ним.
2. Умение перевести бизнес-задачу на язык технического решения
Если начальник сумел ответить на вопросы выше, задачу нужно транслировать в техническое решение. Это почти всегда нетривиальный момент.
Представьте, например, что DS нужно оптимизировать траты на рекламу на аффилированных сайтах. Вариантов решения такой задачи примерно несколько десятков. Нужно придумать и выбрать самый быстрый, легко реализуемый, недорогой, тестируемый и объективный метод.
И в Booking.com, и в моей текущей компании на собеседовании мы всегда даём реальный кейс и просим человека рассказать, как он будет подходить к его решению. Если вдруг вместо обсуждения «смысла» задачи, он сходу начинает применять стохастическую рекуррентную нейронную сеть — почти без сожаления можно прекращать разговор. Толка от такого специалиста будет очень немного, а вот недопонимание между ним и другими членами команды будет расти в геометрической прогрессии.
3. Умение быстро довести решение до состояния минимального работоспособного продукта (MVP)
Рынок желающих стать DS в Европе и США наводнён выходцами из академии — post PhD или Postdoc. Печальным следствием этого является склонность к перфекционизму и попытка потратить много месяцев на получение «идеального продукта» или ещё хуже — попытка улучшить уже существующий алгоритм. Возможно, это не очень плохо в научных кругах, но для бизнеса это реальная головная боль.
95% бизнес задач не требует разработки новых алгоритмов и месяцев работы.
Условно говоря, работающая простенькая логистическая регрессия или базовый алгоритм ранжирования принесёт огромную пользу, а попытка написать с нуля код для cвёрточной нейронной сети — месяцы времени, нулевую пользу и справедливое разочарование бизнеса в пользе аналитических подходов.
4. Умение транслировать MVP в производство (работать с разработчиками)
Этот пункт немного отличается в зависимости от размера компании, но в целом, если речь идёт о большой компании, то процесс вывода модели в производство неизбежно будет затрагивать несколько команд разработчиков и системных администраторов.
Следствие — DS должен быть способен коммуницировать свои мысли людям из не DS-среды (а также понимать, что ему говорят в ответ).
Терминологически всё это может быть очень непросто, а иногда, прямо скажем, мучительно. К тому же, есть ещё одна частая и не очень понятная новичкам проблема — понятие масштабируемости решения у DS и разработчиков может сильно разниться. Условно говоря, одна минута на обработку запроса в мире DS — может быть и неплохо, но если нужно обслужить сотни тысяч запросов в минуту в реальном времени — это никуда не годится.
В идеале DS должен иметь хотя бы минимальное представление о возможных узких местах при выводе в производство его изысканий.
5. Умение объективно оценить пользу от MVP и убедиться, что это решение на самом деле используется в компании
Это два разных навыка, но для простоты будем считать это одной задачей. Как оценить пользу решения? Если на сайте есть хороший трафик — то A/B-тестирование и ещё раз тестирование, если трафика нет — можно идти прямиком к основателю компании и объяснять, что большую часть бюджета пока нужно тратить на маркетинг и продажи, а не на разработку моделей, пользу от которых даже невозможно оценить.
Надо также учитывать, что на внедрение и «фиксацию» модели в бизнес-процессах, а также убеждение всех окружающих в полезности подхода по сравнению с business as usual у вас уйдёт 95% времени. Не на разработку, не на выпуск в производство, а на то, чтобы ваше решение действительно стало частью бизнеса.
Заключение или почему хороший DS — это всегда непросто
Эти пять навыков можно обобщить одним словом — ownership. На моей практике только такие DS-специалисты действительно полезны компании.
А как же написание фломастерами на доске формул оптимизации стохастического градиентного спуска? Где же упоминание технологий Hadoop, Spark или H2O? Где, в конце-концов, Python, R или Scala, а также scikit-learn, numpy, ggplot, спросите вы. Ведь именно про это все книги о том, как стать DS-специалистом.
Любую из этих технологий можно вдоль и поперёк изучить примерно за пять дней интенсивного тренинга (ну, по крайней мере при наличии хорошего базового технического образования и знания статистики), а вот сделать так, чтобы ваши аналитические эксперименты не напоминали сферического коня в вакууме, а были объективными, тестируемыми и приносили компании прибыль — этому нужно учиться каждый день на протяжении многих лет.
Поэтому самый главный признак хорошего DS — это способность мыслить как владелец бизнеса.
И в заключении о том, что же на самом деле делает data scientist.
Анна Костикова — основатель InsideDNA — компании, которая помогает биотех и фармкомпаниям разрабатывать лекарства против рака с помощью анализа ДНК и машинного обучения. Основатель проекта Skinomica — здоровая кожа на основе данных микробиоты.
На фоне статей об Аязе, БМ и им подобным, посты такой проблематики выглядят как сигнал из параллельной вселенной. И естественно комментариев не густо, так как чтобы дискутировать в данной проблематике, необходимо обладать соответствующим понятийным бэкграундом. Очень расстраивает сей факт. То ли на vc публика не соответствующего уровня, то ли......короче грустно. Причем стиль изложения не сказал бы что прямо специальный, скорее с желанием объяснить даже тем кто не в теме суть вопроса. В общем Анна молодец, что тут сказать))) А я старый никчемный обезьян)) Прочел с удовольствием.
спасибо! ну я думаю, главное озвучивать такие темы - и народ подтянется и будет потихоньку обсуждать.
А статью "проверяла" на брате-дизайнере - сказал, что что-то понял:) но надо, конечно, еще работать над понятностью, чтобы родителям можно было послать;)
Спасибо за статью
спасибо, Денис!
Я тоже дизайнер. Стало интересно кто такой DS. Прочёл все. Много вопросов, буду гуглить)
Есть ли шанс, что те, о ком вы говорите в негативном ключе, как раз занимаются тем, о чем сказала Анна?
В статье очень хорошая и емкая фраза: "...если трафика нет — можно идти прямиком к основателю компании и объяснять, что большую часть бюджета пока нужно тратить на маркетинг и продажи".
И после того, как наберется критическая масса компаний, у которых есть трафик - станет понятно, что без DS никуда.
Нет у меня негатива. Я скорее о том, что скандальные темы привлекают больше внимания, чем темы близкие по содержанию vc..
Я бы свёл к двум пунктам:
1. Наличие критического мышления (не тупо брать под козырек, а постоянно задаваться вопросом: а не хуйню ли я делаю)
2. Умение делать нормально (хорошо = долго и уже никому не нужно; плохо = и так никому не нужно)
100% отличное саммари!
В двух словах:
1. Задроство мало где приветствуется
2. Собственник хочет оунершип от наёмного сотрудника за наемную зп - как это мило, но увы - неоригинально.
но ведь так (с оунершипом) все лучше? больше бонусы к наемной зарплате, выше сама зарплата? разве нет?
В западных конторах да, возможно. Как пример система партнёрства в Биг4, у нас в российских - с этим надо быть осторожней. Неуёмная прыть + начальник самодур может почувствовать себя узязвленным - все это может пойти во вред. Как правило такие люди быстро отпочковываются из системы и сами становятся работодателями.
Да, вот, к сожалению, и правда в этом смысле все во многом упирается в культуру компании и если она нездоровая, то инициативность точно может быть наказуема
Самое главное не написал - спасибо за статью! Ваши мысли существенно могут поумерить пыл тех, кто хочет на волне хайпа и за вумными словами спрятать самое главное - непонимание самой механики и специфики бизнеса.
Оффтоп: Может пересекались в Свисс с Пивкиным Игорем?
Простите, но ownership - это атртбут владельца бизнеса, а не наемного инженера. Если вы и находите такого уникума, то знайте: через три месяца он вас кинет и создаст свою ML/AI - контору. Это я вам как владелец бизнеса говорю
уйти с работы = кинуть, спасибо, можете не продолжать
Как-то больно сложно, я думал проще все - хватай данные, да анализируй!
:) так тоже можно
анализируй это! ;)
Звучит как интересная работа, а на деле опять общение с людишками.
Все же, Data Scientist должен быть тихим социофобом и -патом с тайной лабораторией с суперкомпьютером на острове, разрабатывающим коварный план порабощения человечества.
(краткая история картинки - якобы объявление о продаже машины, размещенное в Ирландии: 1985 Blue Volkswagen Golf • Only 15 km • Only first gear and reverse used •
Never driven hard • Original tires • Original brakes • Original fuel and oil • Only 1 driver •
Owner wishing to sell due to employment lay-off • Photo Attached
отличная статья! на английском выпустили?) это не только для данного ресурса было бы актуально
Спасибо! Нет, пока только на русском - эксклюзивно для любимого vc.ru:), но вот, думаю, может на medium написать английскую версию?
большинство пунктов универсальны для любого работника :)
однако в других областях есть же специализация
не все могут понимать бизнес-задачу - это аксиома. поэтому еще сто лет назад выделили бизнес-аналитиков, которые этим занимаются и передают уже расжеванную задачу в техотдел, где проджект менеджер еще ее дожевывает и отдает исполнителям.
есть ли / возможно ли такое в DS?
если человек знает все виды NN и когда какую применять, то почему нельзя использовать его скилл? это же просто как программист который хочет программировать, а не улучшать бизнес (и имеет на это право).
чего подумалось - ежели назвался data SCIENTIST - так надо бы и копаться в алгоритмах :)
а если хочешь бизнесу помогать - будь дата аналитиком например.
да, это тоже очень хороший вариант кстати, обычно таких людей выделяют в особый отдел типа R&D
Вот эти "почти 200 человек и примерно пяти отделов" в Букинге были заняты в основном "простенькая логистическая регрессия или базовый алгоритм ранжирования" три недели в году и остальное время "убеждение всех окружающих в полезности подхода"? Получение такой работы возможно только "после защиты кандидатской в Швейцарии и нескольких лет работы в Швейцарском институте биоинформатики"?
ну, бизнес задач же очень много - от того, чтобы например понять сколько и когда нанимать людей на customer support и как приоритизировать тикеты до условного fraud detection и выявления плохих транзакций. А народ очень разный - много и из научно-исследовательской среды, но и просто с высшим образованием. Но вот на убеждение и внедрение уходит и правда очень много времени
Для меня неожиданно, что уже есть организации, где разрешается вешать DS на каждый бизнес-процесс. Похоже, вы пропустили один ключевой навык DS - переваривать тонны ненависти )))
| А народ очень разный
Что-то наподобие джун-мидл-сеньор уже складывается?
складывается:) именно в такой конфигурации кстати
Отличная статья, все по делу.
По каждому пункту согласен и прямо отражает боль всего опыта работы в аналитике )
Единственное замечание - я бы не требовал всех этих скилов от DS. Да, это офигенно если хорошие DS с таким набором скилов существуют, но большинство задач утыкаются в коммуникации и их может решать менеджер на этапе согласования тех задания. Я в принципе этим обычно и занимаюсь.
да - если есть хороший продакт, который может взять на себя эту роль - то так тоже сработает
"За три года работы в Booking, наша команда DS и ML выросла с 25 человек и четырёх небольших команд до почти 200 человек и примерно пяти отделов. "
- в итоге свою платформу сделали для тренировки моделей, online prediction и тп. или какой-нибудь hadoop/spark использовали?
Мне кажется, ответ из этой статьи очевиден, нет?:)
Анна, спасибо за материал. Именно в таком же контексте пытаюсь рассказывать студентам об анализе данных. Большинство, к сожалению, без опыта растраты собственных денег, не осознают проблему «необходимость/эконом.смысл/время».
Вопросы такие. Как Вы попали в биоинформатику? Считаете ли Вы, что биологические науки в принципе являются драйвером развития прикладных DS?
Спасибо! мое первое образование биологическое и я целенаправленно ехала в аспирантуру в Швейцарию именно по этой теме - очень было интересно.
Интересное замечание про драйвер развития. И да, и нет:) - с одной стороны, биологам приходится придумывать много интересных подходов для своих чисто биологических задачек, и потом эти подходы распространяются в бизнес (например, Байесовские методы и иерархические модели). Но и из других отраслей тоже идет не меньший поток - к примеру A/B тестирование или survival analysis - это исходно ведь клинические испытания. Условный тест Фишера - изначально про популяционную генетику. А например, MCMC - ядерная физика.
То есть по большому счету очень много и в статистики и в математике от того, что какой то ученый в своей прикладной отрасли имел нужду в инструментарии - вот и придумал. Ведь производных высших порядков, ряды Тейлора были придуманы Ньютоном тоже не просто так - он кажется хотел изучать движение планет и ему "не хватало" инструментов.
Абсолютно согласен с Вами, Анна. Сначала все смеялись над фразой Грефа, только до немногих дошел основной посыл его фразы: "нам не нужны чистые программисты". Никому не нужны горе математики/программисты и пр. плодящие 1001 одну модель, и тыкающие пальцем в небо и иногда угадывающие (сломанные часы тоже два раза в день показывают правильное время) и нихрена не понимающие в том, что анализируют с точки зрения бизнеса. Как может DS анализировать сегодня финансы, завтра страховой бизнес, после завтра геном и т.д. Да никак! Вот таких никаких "спецов" у нас 98%. Например, посмотрите стримы Яндекс ML тренировок, увидите парад тщеславия недоспецов.
У, сколько эмоций, каков слог! Тем больше жаль, что ядрёный спич омрачён плохим русским.
Вы путаете предметную область и навыки специалиста.
Человек может работать сначала в страховом бизнесе, потом в финансах, а завтра -- геном анализировать.
Да, есть специфика конкретной области, но она осваивается за пару месяцев.
Я вот, тоже, подумал, что весь уникальный образ мышления "идеального DS" точно также осваивается за 5 дней интенсивного тренинга. Если человек в статистике разбирается, то он в чём угодно разберётся.
Жаль, что не увидел в статье ни одного живого примера, хотя поводов для этого достаточно. Ещё более жаль, что автор заканчивает статью в заключении.
А так - да, познавательно, спасибо.
спасибо за комментарий, Роман! согласна, надо было больше примеров дать, я просто опасалась, что слишком сильно раздуется статья. В следующий раз учту:)
А знаете что, Анна. Неясно очень, зачем наводить какой-то флер "о чем не учат в книгах". Всё что перечислено, это не навыки. Это стандартное менеджерское мышление, и ему учат. Причем тут DS - ну если честно не при чем. Потому что учат в книгах по другим дисциплинам. По той же экономике-менеджменту например. Есть даже понятие стоимостного мышления, ему минимум лет 20.
И да, если быть до конца откровенным, статья - вольное изложение процесса CRISP-DM. И опять же, навыки тут не при чем.
Навыки - и прочая HR'ная муть - болото манипуляций. Если процесс есть, то его можно проконтролировать. А вот навыки и их уровень - пойди познай. Любому можно сказать что они есть/нет/достаточные/недостаточные - причем разное в каждой ситуации.
Ничего личного.
Да, согласна, статья скорее про грамотный продакт-дев, а не про чистый дата сайенс, но согласитесь, одного от другого в бизнесе почти не отделимо. А про CRISP-DM - любопытно, первый раз прочитала про него и да, довольно много похожего
Отличная статья! Про пивот таблицу и магический прибор улыбнуло, но на моей практике видел отношение к DS в подобном стиле.:D
спасибо! более того, я прям скажем испытывала неоднократно:)
Такой уж у вас (DS) удел.;) Это, пожалуй, относится ко всем профессиям на пике хайпа: сначала набирают людей в штат, а потом учатся с ними работать.:)
Точно :)
Очень противоречивая статья, особенно про перфекционизм в кодинге. Затраты на время выполнения кода, потребляемые мощности это деньги бизнесса; отщебятина очередной выскочки.
Комментарий удален модератором
Анна, спасибо за статью!
По-моему, лучше, когда DS не является ведомым, не ждёт указаний от менеджмента, чтобы потом покритиковать его задачи в стиле «Чтобы что?». DS сам должен искать возможности для роста бизнеса и помогать менеджеру определить приоритеты для инвестиций времени и ресурсов.
Чтобы не бежать быстро в неверном направлении DS нужно больше времени уделять стратегии, пониманию цели.
Полезно ставить для себя вопросы о том, как вырасти в разы, а не на проценты. Это заставляет отбросить старые шаблоны и мыслить по-другому. Здесь важны: кругозор, жизненный опыт, логика, фантазия. Фантазия чрезвычайно важна, при этом её можно развивать.
Да, это повышает требования к DS. Но вы и так указали ownership, выше уже некуда.