Кто такой Data Scientist. Обзор изнутри от Арсения Кравченко

dev.by запускает цикл материалов про ИТ-специальности. Каждую из них опишет «типичный представитель» — опытный специалист. Мы надеемся, что цикл поможет школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить свои перспективы или просто сверить часы с авторитетным коллегой. Можно обсуждать и дополнять материал в комментариях, чтобы сделать его ещё полезней. Автор поддержит дискуссию и ответит на вопросы.

Сегодня представитель сообщества Open Data Science, ML инженер и автор Telegram-канала partially unsupervised Арсений Кравченко рассказывает про Data Scientist

27 комментариев
Кто такой Data Scientist. Обзор изнутри от Арсения Кравченко

dev.by запускает цикл материалов про ИТ-специальности. Каждую из них опишет «типичный представитель» — опытный специалист. Мы надеемся, что цикл поможет школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить свои перспективы или просто сверить часы с авторитетным коллегой. Можно обсуждать и дополнять материал в комментариях, чтобы сделать его ещё полезней. Автор поддержит дискуссию и ответит на вопросы.

Сегодня представитель сообщества Open Data Science, ML инженер и автор Telegram-канала partially unsupervised Арсений Кравченко рассказывает про Data Scientist

— Классическое полушуточное определение звучит примерно так: Data Scientist (далее DS) — это человек, который знает статистику лучше, чем средний software engineer, и умеет программировать лучше, чем средний статистик.

Это определение далеко не новое, достаточно правдивое, но недостаточно полное. И, чтобы как-то его расширить, я начну как раз со статистики. 

Оценивая какую-то случайную величину, человек часто не может охватить все распределение и потому смотрит на какие-то ключевые агрегаты — среднее, медиану и так далее, и на основании этих данных уже делает свои выводы. Например, средняя зарплата в IT — $X в месяц, следовательно, быть айтишником довольно выгодно. Иногда агрегат выбран неверно, и выводы получаются странными (например, пресловутая средняя температура по больнице).

Если в вашем распределении есть ярко выраженное большинство (можно назвать такое распределение унимодальным, т. е. в нем одна мода), то несколько агрегатов вроде среднего, медианы, минимума и максимума довольно хорошо описывают такое распределение для понимания человеком. Но если распределение неоднородное, имеет несколько мод и вообще отличается высокой дисперсией, так легко отделаться не получится.

К чему вообще все эти рассуждения, которым место скорее в книжке «Статистика для младших школьников»? К тому, что довольно сложно объективно описать термин, под которым многие группы людей подразумевают какое-то свое представление (вот она, мультимодальность!). Но давайте попробуем и обозначим какие-то основные моды профессии.

Data Analyst / Аналитик

Большинство data science вакансий в Минске — это аналитик на стероидах. Обычно ожидается, что аналитик будет проверять гипотезы, извлекать информацию из слабо структурированных данных и доносить ее до коллег (иногда это означает необходимость делать ad hoc отчеты для менеджеров 90% рабочего времени).

Если такую позицию назвать data scientist, можно добиться нескольких эффектов:

  • Показать, что от этого человека ожидается хоть какое-то умение программировать;
  • Хайпануть («мы передовая компания, а не рядовая унылая галера!») 
  • Убедить кандидата поработать на менее интересных ему условиях за модные слова в резюме.

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

Хороший аналитик в компании, где есть культура работы с данными — на вес золота, приносит много пользы, влияет на ключевые решения. В обратном случае, человек ковыряет эксельки в своем углу и унывает. 

Такой человек может заниматься и машинным обучением, но обычно на это уходит меньшая часть его времени, да и сами модели зачастую не слишком сложные — важнее чувствовать предметную область, чем уметь отлично подкручивать гиперпараметры градиентного бустинга. Пресловутые soft skills тоже часто перевешивают какие-то технические способности. 

«Если десижн мейкер не очень умён, вы масштабируете не продукт, а глупость». Большая беседа с Chief Decision Scientist в Google про машинное обучение и принятие решений
«Если десижн мейкер не очень умён, вы масштабируете не продукт, а глупость». Большая беседа с Chief Decision Scientist в Google про машинное обучение и принятие решений
По теме
«Если десижн мейкер не очень умён, вы масштабируете не продукт, а глупость». Большая беседа с Chief Decision Scientist в Google про машинное обучение и принятие решений

Data Engineer

В отличие от аналитика, который должен бодро рассказывать свои выводы коллегам, типичный дата инженер как раз может без проблем сидеть в своем уголке и шатать очередной Spark кластер. Его задача — делать так, чтобы данные, порождаемые тут и там, не просто сыпались в бездну, а осознанно собирались, опционально агрегировались, хранились и были доступны нужным людям (например, тем самым аналитикам) или другим сервисам.

Как стать Data Scientist, не потратив ни копейки
Как стать Data Scientist, не потратив ни копейки
По теме
Как стать Data Scientist, не потратив ни копейки

Спрос на дата инженеров был порожден предыдущим хайпом, когда многие бредили пресловутой big data. Сейчас обычно дата инженеры работают в средних и крупных компаниях, где в том или ином виде data science функция выполняется несколькими людьми, а то и несколькими командами.

Так как дата инженер обычно работает с достаточно большими наборами данных, ему следует более или менее знать классику computer science, ведь на многих терабайтах данных неоптимальность алгоритма становится заметна очень быстро. Кроме того, в дата инженерии есть свой набор фреймворков (отличается от компании к компании), знакомство с которыми может потребоваться. Пожалуй, роль data engineer больше всего похожа на классическую роль software engineer.

Machine Learning Engineer (MLE)

Как можно догадаться, основная разница с предыдущим подвидом инженера как раз связана с машинным обучением. Пока дата инженер больше работает с подготовкой данных, обычно больших, и собственно модели не обучает, для Machine Learning Engineer это важная часть работы. Вкратце — это software engineer с уклоном в машинное обучение, который может выполнить полный цикл — от сбора данных для модели до деплоймента ее как части продакшен-приложения. 

Следовательно, требования к MLE чем-то похожи на требования к дата инженеру: в первую очередь, это просто компетентный разработчик, знающий и алгоритмы, и инженерные практики (может ответить, зачем нужен CI, и рассказать пару баек, почему выкатываться в пятницу может быть плохой идеей). При этом он более или менее понимает теорию машинного обучения (например, понимает bias-variance tradeoff и может написать градиентный спуск с нуля). Хороший MLE знает современные алгоритмы машинного обучения, но не спешит использовать самые горячие новинки. Ему обычно не нужно изобретать что-то с нуля, но слегка адаптировать существующий подход под свою задачу — довольно часто. 

В зависимости от домена, у MLE могут быть специфические навыки. Например, для обработки видео на телефоне в реальном времени нужно уметь написать сколько-то быстрый код на C++, а для разработки классического бэкенд-приложения обычно полезно быть «на ты» с Docker.

Зачем победитель Kaggle и TopCoder переехал в Минск из Питера
Зачем победитель Kaggle и TopCoder переехал в Минск из Питера
По теме
Зачем победитель Kaggle и TopCoder переехал в Минск из Питера
«Мне 30, а я в Ангарске». Сисадмин-самоучка из Сибири попал в топ Kaggle и теперь тренирует нейросети в минской Mapbox (+список курсов по Computer Vision)
«Мне 30, а я в Ангарске». Сисадмин-самоучка из Сибири попал в топ Kaggle и теперь тренирует нейросети в минской Mapbox (+список курсов по Computer Vision)
По теме
«Мне 30, а я в Ангарске». Сисадмин-самоучка из Сибири попал в топ Kaggle и теперь тренирует нейросети в минской Mapbox (+список курсов по Computer Vision)
«Никто не хотел брать меня в команду». Как 24-летний белорусский Data Scientist объединился с «парнем из Японии» и выиграл $50 тысяч на Kaggle
«Никто не хотел брать меня в команду». Как 24-летний белорусский Data Scientist объединился с «парнем из Японии» и выиграл $50 тысяч на Kaggle
По теме
«Никто не хотел брать меня в команду». Как 24-летний белорусский Data Scientist объединился с «парнем из Японии» и выиграл $50 тысяч на Kaggle
«Я проработал так 4 месяца». Кирилл Жданович ушёл из шведского Spotify, чтобы организовать себе трёхдневку «с сохранением зарплаты». Говорим про ML, труд, май
«Я проработал так 4 месяца». Кирилл Жданович ушёл из шведского Spotify, чтобы организовать себе трёхдневку «с сохранением зарплаты». Говорим про ML, труд, май
По теме
«Я проработал так 4 месяца». Кирилл Жданович ушёл из шведского Spotify, чтобы организовать себе трёхдневку «с сохранением зарплаты». Говорим про ML, труд, май

ML Researcher

Зато ML Researcher как раз должен знать новинки. Более того, не просто знать, но и изобретать новые, двигать науку вперед. Такие исследователи — редкая птица в наших краях, обычно они работают или в лабораториях университетов, или в крупных компаниях (наверное, в Беларуси таким может похвастаться только Яндекс). 

ML Researcher должен быть хорош в теории, нормально программировать, а вот знанием хороших инженерных практик может похвастаться не всегда. «Академический код» — своего рода мем. Впрочем, ситуация улучшается: на сайте https://paperswithcode.com/, где выкладываются имплементации последних статей, уже довольно часто можно видеть приличный код. 

Most advanced research projects require you to be excellent at the basics much more than they require you to know something extremely advanced. 

— Ian Goodfellow

11 курсов по Data Science для новичков и профессионалов
11 курсов по Data Science для новичков и профессионалов
По теме
11 курсов по Data Science для новичков и профессионалов

О размытости границ

Следует понимать, что эти четыре подвида не встречаются в сферическом виде в вакууме, зачастую в разных командах и разных компаниях нужны свои комбинации этих архетипов. Например, если компания делает достаточно инновационный продукт, то MLE должен быть немного исследователем, чтобы сделать что-то по-настоящему новое (пример — ребята из AIMatter, чей фреймворк для инференса смог впечатлить Google). Или data scientist в небольшой компании не может сидеть и ждать, пока данные автомагически появятся на его компьютере — придется засучить рукава и самому сделать базовый ETL.

Также в силу этих нечетких границ полезно почитать/посмотреть и другие точки зрения, которые могут в чем-то отличаться, а в чем-то дополнять вышесказанное:

От бизнес-метрик до sticky sessions

В силу этого разнообразия вопросы на интервью тоже иногда удивляют. Я не могу похвастаться большим количеством пройденных интервью, но дисперсия вопросов успела впечатлить. Спрашивают всякое: аксиоматику Колмогорова, как написать LRU-cache на салфетке, способы реализации sticky-сессий в распределенных приложениях, методы оценки экономического эффекта от внедрения ML модели в продукт, задачи про гномов и шапки… 

Если позиция предполагает какой-то deep learning, то обязательно спросят, как устроен Adam и зачем нужен Batch Normalization. Тестовые задания, которые я видел, в основном двух типов: «выжми из этого датасета метрику получше» (здесь могут оценивать и саму метрику, и способ подачи результатов) и «напиши эту несложную функцию» (в этом случае обязательно будут смотреть на чистоту кода, тесты и прочие хорошие практики). 

В целом, все те же проблемы, которые часто обсуждаются касательно найма разработчиков, касаются и DS с поправкой на общую незрелости роли (т.е. в среднем все еще хуже). Ситуации, в которых интервьюер что-то недавно узнал/опробовал, и теперь ожидает от кандидата ответ, совпадающий с его собственным опытом — не редкость даже в крупных компаниях. 

Впрочем, все это дикое разнообразие в чем-то и хорошо: практически любой набор скиллов, от умения болтать и рисовать графики до опыта тренировки GAN-ов в итоге будет высоко оценен хоть кем-то из нанимателей. Как следствие, ответ на вопрос «так и что мне учить, чтобы легко найти работу в DS» очень расплывчатый — «зависит от твоих личных склонностей».

23 популярных курса по Data Science от Coursera
23 популярных курса по Data Science от Coursera
По теме
23 популярных курса по Data Science от Coursera

Вместо вывода

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

Курсы по Data Science 

2038$ — средняя зарплата в Data Science в Беларуси​ за 2019 год.
11 вакансий для Data Scientist.

Хотите сообщить важную новость?

Пишите в наш Телеграм

Читайте также

Viber разрывает сотрудничество с Facebook
Viber разрывает сотрудничество с Facebook
Viber разрывает сотрудничество с Facebook
2 комментария
Кто такой Project Manager в геймдеве. Обзор изнутри от Ольги Савельевой
Кто такой Project Manager в геймдеве. Обзор изнутри от Ольги Савельевой
Кто такой Project Manager в геймдеве. Обзор изнутри от Ольги Савельевой
Про профессию рассказывает Ольга Савельева, Lead Project Manager в геймдев-команде Gismart. Работает в компании  с момента создания в ней игрового направления.  Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, этим материалы помогут школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить перспективы или просто сверить часы с авторитетным коллегой. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его ещё полезней.
15 комментариев
Кто такой DevOps. Обзор изнутри от Виктора Ведмича
Кто такой DevOps. Обзор изнутри от Виктора Ведмича
Кто такой DevOps. Обзор изнутри от Виктора Ведмича
Про профессию рассказывает Виктор Ведмич, DevOps-евангелист, лидер комьюнити DOM (DevOps Minsk), Systems Engineering Team Leader в EPAM.  Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, что цикл поможет школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить свои перспективы или просто сверить часы с авторитетным коллегой. Можно обсуждать и дополнять материал в комментариях, чтобы сделать его ещё полезней.
35 комментариев
Кто такой нарративный дизайнер. Обзор изнутри от Олега Синицына
Кто такой нарративный дизайнер. Обзор изнутри от Олега Синицына
Кто такой нарративный дизайнер. Обзор изнутри от Олега Синицына
Про профессию рассказывает Олег Синицын, нарративный продюсер и менеджер нарративной команды в Playrix. Работал с играми Gardenscapes, Township, Fishdom, Homescapes (11 млн установок в марте 2020). Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, что цикл поможет школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить свои перспективы или просто сверить часы с авторитетным коллегой. Можно обсуждать и дополнять материал в комментариях, чтобы сделать его ещё полезней. Спикер и автор материала поддержат дискуссию и ответит на вопросы.

Обсуждение

Anonymous
Anonymous
4

нужно мнение iced'a...

2

Арсений молодец. Всегда говорит по делу.

2

Нужен наброс, Арс слишком правильно все говорит, даже нечего обсудить.

2

Нужно голосование. Кто полезнее для нашей отрасли: Арсений или Дубаков?

Плюс выше (для ade) если вы считаете, что Арсений. Плюс сюда, если Дубаков.

Anonymous
Anonymous
2

ну я тут ангажированная морда..

1

Жаль в Минске полторы вакансии на должность ДС

1

ДС только в теории звучит круто, на практике жуткая скукотища

4

Интересно было бы почитать про трансформацию Арсения из SEO в DS.

-2

через постель^W^W слабовоспроизводимая цепочка случайностей

2

Мы надеемся, что цикл поможет школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ

я так понимаю Арсений вход в Data Science упростить не стремится. Ничего не понятно!

Что нужно учить и сколько денег платят? )

6

Возможно, не было цели сделать проще. Была цель сделать красиво, чтобы женщины в 2020-м называли детей "Арсений" почаще и/или слали приглашения на работы.

0

why not both

0

Всё верно. Я бы ещё вредных советов напихал! :)

0

Написано-же: статистику в младшей школе.

2

Это редакция девбая надеется, а я увиливаю от сложных вопросов!

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

3

Самоирония - полезный и располагающий софт скилл, плюсую)

0

да, но самое интересное что на курсах ПВТ есть специальность Data Science, интересно какой у них процент дальнейшего трудоустройства

2

Ну, как минимум у них есть навыки работы с Microsoft Office... Можно устроиться оператором ЭВМ

-2

Belarusian State University - Communication and Media Studies - quit after 1.5 years

Data Scientист по связям с общественностью?

Nikolay Karelin
Nikolay Karelin Head of AI в Silk Data
3

Один из лучших DBA, которых я знаю, учился на литейщика

5

Снобизм у "дипломированных специалистов из ведущих вузов РБ" вытравливается очень сложно...

1

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

1

Положите себе в копилочку. :) В век социальных сетей и интсаграмма, умение выстроить связи с общественностью много полезнее, чем профильное образование.

0

Кто же спорит. Только сайнтистом от этого не становятся.

1

Как-то всё перемешалось: статистика, data science как дисциплина, data scientist как человек и его разные ипостаси... Scientist (ученый) - тот кто применяет какие-либо научные методы для внесения вклада в науку. Как раз приведенные специализации "аналитик" и "инженер" - вот это тот самый прикладной уровень, но существование их именно в раздельных ипостасях - явление очень редкое в индустрии (при чем не только в местной, в российской, но и международной - исхожу из личного опыта работы с заказчиками от Мексики до Китая). Даже в больших компаниях чаще всего "прикладник" по data science - один-два "гуру" в статметодах и/или машинном обучении. Все остальные, кого в компаниях и организациях, часто называют data "что-то" - имеют мало отношения к data science. И да, даже упомянутым "гурям" редко платят много. В некоторых университетах (зарубежных) data scientist'ом можно заработать больше, чем в индустрии.

0

Добавлю своих два цента - ML модели мало только создавать и наслаждаться, их еще очень неплохо бы тщательно тестировать (A/B testing).
Совсем не так просто сделать модель которая работает лучше чем какая-нибудь эвристика на основе стат распределения.

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже