{"id":13572,"url":"\/distributions\/13572\/click?bit=1&hash=1b184683c12dd3fe683ea6215405917e2080e9ba9a81477851ab7a5867d03ddc","title":"\u0413\u0434\u0435 \u0438 \u043a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043c\u043e\u0449\u044c \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u0430","buttonText":"","imageUuid":"","isPaidAndBannersEnabled":false}
Образование
Skillbox

Кейс: как мы создали курс Data Scientist PRO

Всем привет! Меня зовут Кирилл Шмидт, я Product Analyst Team Lead в Citrix. В этой статье я расскажу о том, как мы вместе с командой программных директоров объяли необъятное и создали курс по Data Science (DS) в Skillbox.

Как вы уже поняли, основная сложность была в том, чтобы охватить всё или почти всё из DS. Ведь это и про машинное обучение, и про Big Data, Hadoop, продуктовую аналитику, LTV, нейронные сети, BI. Плюс развиваться в Data Science можно в разных направлениях. И мы начали думать:

  • как объяснить студенту, что это за работа такая, в которой так много ответвлений?
  • как рассказать о такой сложной профессии?
  • как помочь человеку выбрать ту самую профессию внутри DS, которой он посвятит как минимум ближайшие полгода своей жизни?

Мы поняли, что нельзя просто взять и «по алфавиту» рассказать сначала об одном аспекте Data Science, а потом о другом. Мы решили построить программу, как постепенный подъем «в гору» знаний.

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

  • Машинное обучение;
  • Data-инженерия;
  • Аналитика данных.

Это три основных и наиболее востребованных на рынке DS специализации. Они закрывают основные темы, связанные с наукой о данных. Все профессии на базовом уровне требуют схожих знаний математики, основ программирования, умения работать с данными, понимания их архитектуры. Поэтому мы решили, что введение в Data Science мы будем давать студентам фундаментальную базу для всех трех специальностей и параллельно погружать в специфику каждой из них. А когда от студентов нужны будут разные знания — курс разветвляется, как дерево, на три ветви: после прохождения основ машинного обучения студент сможет специализироваться на определенных классах задач и методах, в аналитике данных выбрать более детальную предметную область: BI, продуктовую аналитику или маркетинг.

Следуя этой логике, мы решили посвятить вторую часть курса, к которой студент переходит после завершения DS Intro, глубокому изучению одной из трех специальностей. Он выбрал ее и теперь будет изучать до уровня, позволяющего ему устроиться на работу.

Над каждой программой для трех профессий у нас работал отдельный директор, эксперт в области:

  • машинное обучение взяла на себя Юлдуз Фаттахова, тимлид Data Science с 6-летним опытом в ML;
  • инженерию данных составлял Евгений Виноградов, руководитель отдела разработки хранилищ данных и аналитических сервисов в ЮMoney, с соавторами;
  • обучение по аналитике данных готовил я вместе с коллегами.

Машинное обучение

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

  • по построению моделей и метрик;
  • по постановке задач;
  • сбору и исследованию данных;
  • версионированию моделей;
  • написанию промышленного кода;
  • умению работать с большими объемами данных.

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

  • определять целевую переменную;
  • собирать данные до готовки самостоятельно из БД и сторонних источников с помощью Python и SQL-запросов.

Дальше мы поняли: чтобы студент разобрался, что происходит «под капотом» той или иной модели, нужно на примере каждой конкретной задачи разобрать наиболее подходящий алгоритм. В результате он сделает готовое решение, написанное на Python, c визуализацией данных и результатов исследований, и получит полноценную работу себе в портфолио.

Мы предусмотрели, чтобы студенты получили возможность поработать с большими объемами данных, с Hadoop’ом и MapReduce, Hive, Spark. Они изучают модели и собирают аналитику на гигабайтах данных, учатся строить пайпланы, от сборки до разворачивания моделей.

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

Помимо алгоритмической части, мы решили подготовить практики для решения проблем с данными:

  • как бороться с несбалансированными выборками;
  • как сделать еще больше данных;
  • как приводить их в нормальный вид;
  • как находить data leak;
  • как генерировать дополнительные фичи и много чего интересного.

А еще мы сделали отдельный раздел — «Вопросы собеседования». В нем мы еще раз обращаем внимание студентов на то, что часто спрашивают работодатели.

Data-инженерия

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

  • Инженер по данным изначально может устроиться в небольшую компанию или принять участие в стартапе. В этом случае границы между специализациями достаточно размытые. Инженеру помимо своей специфики, нужно будет выполнять исследовательские задачи.
  • Если инженер по данным работает в большой компании — скорее всего, в штате будут и дата-инженеры, и специалисты по машинному обучению, и аналитики. Нужно будет общаться с ними на одном языке.
  • Инженер по данным делает всё, что связано со сбором, преобразованием, хранением и передачей Dataset, набора записей. Для этого нужно знать языки программирования и уметь работать с СУБД, владеть SQL и средствами автоматизации для запуска по расписанию, иметь навыки преобразования данных, для этого нужен Spark и т. д. Без этих навыков решить даже простейшие задачи не получится. Например, чтобы построить дашборд нужно одновременно извлечь данные, визуализировать их, обновлять по расписанию и т. д. Сложные исследовательские проекты могут требовать более широкого набора инструментов.

И тут у нас снова возникли вопросы:

  • как же всему этому научить в рамках программы?
  • инструментов множество, какие из них давать в первую очередь, а какие могут подождать?
  • что нужно, чтобы разговаривать со специалистами других специальностей на одном языке?

Понимание предметной области и принципов работы других членов команды сложно заменить простым знанием инструментов и наоборот. Поэтому мы решили снова выстроить логику. Во-первых, мы будем учить инструментам. Без этого никуда, они понадобятся в любом случае. Отталкиваемся от основы, тогда будет несложно переключаться между Postgresql, Mysql, Mssql, Clickhouse — у них похожие принципы работы.

Дальше будем внедрять инструменты по мере развития карьерного пути. Например, инженеру по данным без SQL никак. Значит, начнем с SQL. Чего может больше всего хватать специалисту, который уже знаком с SQL? Скорее всего, тонкостей работы с датафреймами. Добавляем Python. Мы разбирали этот путь, пока не пришли к вопросу: как понять, что делают другие члены команды. И есть ли тут кросс-функциональность. Так в курсе появился базовый блок по ML. Он не такой глубокий, как в отдельной специализации, но дает основу.

Аналитика данных

Большинство программ учат работать с инструментами: Power BI, Python, Excel, Amplitude. Без этого, конечно, никуда, но не факт, что с этими знаниями вас возьмут на работу. Аналитик должен понимать бизнес-задачи и проблемы, которые он решает. Поэтому на собеседовании спрашивают, какими инструментами он владеет и какие задачи работодателя с их помощью может решить. Сразу становится понятно, как думает специалист и знакома ли ему специфика бизнеса. Новички хорошо отвечают по инструментам, но с трудом понимают, как их применять к какой-то проблеме.

Понимая всё это, мы решили составить программу по аналитике данных, отталкиваясь не от инструментов, а от бизнес-проблем. Мы выделили 3 основные сферы, в которых аналитик может понять проблему бизнеса, методы ее решения и реализовать их с помощью инструментов:

  • анализ выручки;
  • воронка продаж, включая оценку полезности фич и расчет LTV;
  • поиск точек для роста продукта и продаж бизнеса

В результате нам удалось разработать программу так, чтобы она покрывала работу трех специальностей аналитиков:

  • Business Intelligence аналитик;
  • маркетинговый аналитик;
  • продуктовый аналитик.

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

Подведем итоги

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

Над статьей работали авторы Профессии Data Scientist PRO

0
1 комментарий
Novoreg

молодцы

Ответить
Развернуть ветку
Читать все 1 комментарий
null