Дата сайнтист что за профессия
Что такое Data Science и кто такой Data Scientist
Что делает Data Scientist, сколько получает и как им стать, даже если вы не программист. Объясняем и делимся полезными ссылками.
Что такое Data Science?
Data Science — это работа с большими данными (англ. Big Data). Большие данные — это огромные объёмы неструктурированной информации: например, метеоданные за какой-то период, статистика запросов в поисковых системах, результаты спортивных состязаний, базы данных геномов микроорганизмов и многое другое. Ключевые слова здесь — «огромный объём» и «неструктурированность». Чтобы работать с такими данными, используют математическую статистику и методы машинного обучения.
Специалист, который делает такую работу, называется дата-сайентист (или Data Scientist). Он анализирует большие данные (Big Data), чтобы делать прогнозы. Какие именно прогнозы — зависит от того, какую задачу нужно решить. Итог работы дата-сайентиста — прогнозная модель. Если упростить, то это программный алгоритм, который находит оптимальное решение поставленной задачи.
Пишу научпоп, люблю делать сложное понятным. Рисую фантастику. Увлекаюсь спелеологией. Люблю StarCraft, шахматы, «Монополию».
Эти прогнозы и правда полезны?
Да. Очень многие сервисы, к которым мы уже привыкли, создали дата-сайентисты. И вы сталкиваетесь с результатами их работы каждый день. Например, это прогнозы погоды, чат-боты, голосовые помощники… А ещё — алгоритмы, рекомендующие музыку и видео под вкус конкретного пользователя. Список возможных друзей в социальных сетях — тоже результат Data Science. В основе поисковых систем и программ для распознавания лиц тоже лежат алгоритмы, написанные дата-сайентистами.
То есть Data Science — то же самое, что и обычная бизнес-аналитика?
Нет, это не одно и то же. Основная разница заключается в результате. Data Scientist ищет в массивах данных связи и закономерности, которые позволят ему создать модель, предсказывающую результат, — то есть можно сказать, что Data Scientist работает на будущее. Он использует программные алгоритмы и математическую статистику и решает поставленную задачу в первую очередь как техническую.
Бизнес-аналитик сосредоточен не столько на технической, программной стороне задачи, сколько на коммерческих показателях компании. Он работает со статистикой и может оценить, например, насколько эффективна была рекламная кампания, сколько было продаж в предыдущем месяце и так далее. Вся эта информация может использоваться для улучшения бизнес-показателей компании. Если данных много и нужен какой-то прогноз или оценка, то для решения технической стороны этой задачи бизнес-аналитик может привлечь дата-сайентистов.
Поясним на примере. Допустим, программа анализирует финансовые операции клиента и рекомендует выдать ему кредит или отказать. То есть задача программы — оценить платёжеспособность клиента. Создание такого програмного алгоритма — работа дата-сайентиста.
А бизнес-аналитик не занимается такими техническими задачами. Его не интересует работа с конкретным клиентом, но он может проанализировать всю статистику банка по кредитам, например, за последние три месяца — и рекомендовать банку сократить или увеличить объёмы кредитования. Это бизнес-задача: предлагаются действия, которые увеличат доходность банка либо снизят финансовые риски.
Работа бизнес-аналитика и дата-сайентиста нередко пересекается, просто каждый занимается своей частью задачи.
А где обычно работает Data Scientist?
Вот несколько вариантов:
И это далеко не полный список. Везде, где нужны прогнозы, совершаются сделки или оцениваются риски, пригодится Data Scientist. Вот несколько примеров рабочих моделей. Некоторые неожиданные: например, Corrupt Social Interactions — модель, выявляющая коррупцию в Департаменте строительства (Department of Building) США. Или сервис А Roommate Recommendation — он помогает подобрать соседа по комнате в кампусе или хостеле.
Понятно. А работу найти легко? Это точно востребовано?
Легко ли найти работу — зависит и от кандидата тоже. Но сама профессия весьма востребована. В 2016 году американская компания Glassdoor опубликовала рейтинг 25 лучших вакансий в США и профессия Data Scientist возглавила этот список. С тех пор востребованность стала даже выше.
Алгоритмы машинного обучения сейчас стремительно развиваются, прогнозы на их основе становятся точнее, а сфер их применения всё больше. Это значит, что у профессии Data Scientist большое будущее.
Но это за рубежом. А что в России?
У нас спрос на этих специалистов тоже постоянно растёт. Например, в 2018 году вакансий с названием Data Scientist было в 7 раз больше по сравнению с 2015 годом, а в 2019 году рост продолжился.
На середину апреля 2020 года на hh.ru — 323 вакансии с заголовком Data Scientist, из них 204 вакансии — в Москве, 39 — в Санкт-Петербурге и остальные — в других городах.
А сколько они зарабатывают?
Как и везде, это зависит от опыта работы и навыков дата-сайентиста, особенностей компании и сложности конкретного проекта. Но общий расклад примерно такой (данные приведены по состоянию на февраль 2020 года):
Высококвалифицированные специалисты по Data Science могут получать в месяц 250 тысяч рублей и более.
Вы сказали, что Data Scientist создаёт программный алгоритм. А что конкретно он делает?
В разных компаниях деятельность дата-сайентиста будет различаться. Однако основные этапы похожи:
Что нужно знать и уметь, чтобы работать в Data Science?
Если в общих чертах, то нужно знать математику, математическую статистику, программирование, принципы машинного обучения и ту отрасль, где всё это будет использоваться.
И умение работать в команде тоже никто не отменял: дата-сайентисту приходится общаться с разными специалистами.
Если у меня нет технического образования, то о работе в Data Science лучше не мечтать?
Будем откровенны — гуманитариям осваивать эту профессию может быть непросто: для работы в Data Science нужно хорошее знание математики и программирования. А у гуманитария этих знаний чаще всего нет. И наоборот: чем увереннее вы чувствуете себя в этом уже на старте, тем проще будет учиться.
Однако не стоит опускать руки: очень многое зависит от мотивации, от того, насколько вы готовы восполнять пробелы в своем образовании. Сейчас люди приходят в Data Science с разным бэкграундом и в разном возрасте. Вот пример одной такой истории — возможно, она вас поддержит.
А с чего лучше начать?
Начать лучше с математики. Очень сложная математика не понадобится, но вы должны свободно ориентироваться в таких понятиях, как производная, дифференциал, определитель матрицы, и в том, что с ними связано. Освоить это вам помогут книги и лекционные курсы. Например, книга «Математический анализ» Липмана Берса, написанная довольно простым языком.
А что дальше? Там было что-то о статистике?
Да, потому что математическая статистика используется в любой аналитике. И Data Science не исключение. Вот несколько бесплатных курсов, которые помогут вам изучить статистику.
Кажется, с математической частью закончили. Что по программированию?
Следующим шагом будет изучение Python. Сейчас этот язык программирования, пожалуй, основной инструмент в Data Science. Среди его достоинств — относительная простота и гибкость. Освоить Python вполне по силам новичку, который до того не программировал. Неслучайно этот язык нередко рекомендуют для начинающих.
По Python есть много курсов, как платных, так и бесплатных. Вот один из бесплатных курсов. И ещё один: «Питонтьютор».
У Skillbox тоже есть курс, он называется «Профессия Python-разработчик». Курс платный, длится год, и за это время студенты фактически осваивают с нуля новую профессию (как теорию, так и практику) и собирают личное портфолио — с помощью наставника. Поэтому по окончании курса им уже есть что показать потенциальному работодателю.
Что учить после Python?
Теперь можно изучать алгоритмы машинного обучения. Когда освоитесь с ними, уже сможете работать в Data Science.
Вот несколько бесплатных онлайн курсов по машинному обучению (много курсов на английском, но кое-что есть и на русском).
Мало знать методы машинного обучения, нужно уметь применять их для решения практических задач. Научиться этому можно на платформе Kaggle, где собрано огромное количество реальных задач.
Если вы хорошо знаете английский, он поможет вам быстрее развиваться в Data Science. Если нет — самое время его выучить.
Очень много всего. Может быть, есть курсы, где можно освоить сразу всё?
Да, есть и такие. Например, наш курс по Data Science. Он так и называется — «Профессия Data Scientist». На наш курс приходят как люди с опытом в программировании, так и совсем новички, программа курса это учитывает. Обучение длится около года, в нём уже есть все блоки, которые мы описали выше.
Учиться можно онлайн, из любого города. Наши преподаватели — практики с опытом работы 10–15 лет. У вас будет возможность не только освоить теорию, но и практиковаться на реальных задачах, получая рекомендации от наставника. Очень важный бонус — помощь при трудоустройстве.
Стоит ли идти в Data Science?
Совет, который я даю всегда, когда кто-то спрашивает меня, с чего начать, чтобы заняться наукой о данных. Лучше станьте инженером-программистом.
Это моё личное и ни для кого необязательное мнение. Контраргументы в комментариях приветствуются.
Профессия специалиста по данным нынче в тренде. Не спорю, наука о данных войдёт в число самых модных сфер деятельности XXI века, но это незаслуженно обесценивает другую полезную и высокооплачиваемую профессию — разработчика программного обеспечения.
Часто получаю сообщения от выпускников ВУЗ-ов и просто людей, меняющих профессию, спрашивающих о том, как войти в науку о данных. Вместо этого я советую им просто войти в айти.
Имея опыт в обеих сферах, постараюсь убедить вас сделать правильный выбор.
![]()
А у нас в EDISON недавно успешно завершён проект, где наука о данных и разработка ПО способствуют решению бытовых и бизнес-задач.
Мы реорганизовали сайт и мобильное приложение для системы вывоза мусора. Умные устройства, микроконтроллёры, использование картографического сервиса, задача коммивояжёра — вот это вот всё.
Мы очень любим, когда software engineering в связке с data science выдают solve problems! 😉
1. В сфере программной разработки полным-полно работы
В программной инженерии на порядок больше рабочих мест по сравнению с наукой о данных.
Ниже приведено несколько снимков экрана после поиска в Google по запросам «эксперт по данным» («data scientist») и «разработчик программного обеспечения» («software engineer»).
7616 научных вакансий против 53 8893 по разработке ПО. Это по США, в других странах аналогичная картина.
Если верить Glassdoor (веб-сервис, с помощью которого можно мониторить уровень зарплат и ознакомиться с отзывами сотрудников о компаниях), ученые, занимающиеся данными, зарабатывают больше денег. Однако моя непроверенная гипотеза заключается в том, что вакансии в области данных в основном ориентированы на сотрудников очень высокой квалификации.
Хотя, кто спорит, если вам предложат миллион в OpenAI — соглашайтесь не раздумывая.
2. Нет единого мнения, что это вообще такое — «наука о данных»
Менеджмент компаний зачастую смутно представляет себе, что означает словосочетание «наука о данных». Также запросто возможно, учитывая специфические ограничения в бизнесе, заключающиеся в том, что бизнес не всегда может себе позволить строго следовать структуре ролей.
Это означает, что обязанности «эксперта по данным» весьма и весьма сильно различаются от компании к компании.
Условный набросок, что от вас может понадобиться в зависимости от бизнес-задач. В спектре между решением проблем бизнеса и исследованиями находятся такие профессии как
Хотя идеальный спектр ролей между инженером-программистом и специалистом по данным можно представить, маловероятно, что в реальной жизни это будет воплощено в эталонном виде. Особенно это касается стартапов, проходящих процесс масштабирования, когда они только выстраивают инфраструктуру.
В итоге нанятые кандидаты работают над текущими проблемами компании, а не выполняют ту экспертную роль, на которую они, вообще говоря, нанимались.
У меня есть свидетельства от коллег (учёных, занимающихся данными), о том что пишут бэкэнд-код, как разработчики программного обеспечения. Я знаю других «исследователей данных», которые преуспели в решении финансовых вопросов своих компаний.
Это резко может контрастировать с вашими ожиданиями, особенно если они сформировались под влиянием конкурсов Kaggle.
3. Одиночество бегуна на длинные дистанции эксперта по данным
Большинству компаний просто не нужно столько экспертов данных, сколько инженеров-программистов. Другие компании наняли пока что только своего первого (и до поры до времени — единственного) специалиста по данным.
По этой причине многие исследователи данных работают в одиночку, даже если сидят за одним столом с разработчиками.
Это может затруднить получение обратной связи и второго мнения. Инженеры-программисты либо вообще не понимают прогностическое моделирование, либо слишком загружены совершенно другими проблемами.
Напротив, одним из преимуществ команды разработчиков ПО является возможность всегда сказать коллегам: «Я считаю, что нужно внедрить ABC в XYZ. Ваше мнение?».
Так что, будьте морально готовы обсуждать проблемы с самим собой или… с резиновой уточкой.
4. Data Science носит ярко выраженный исследовательский характер
Будьте готовы к неприятным разговорам с руководством на тему того, что то, над чем вы работали 2 недели — не будет использовано.
Работа и над решаемыми и над нерешаемыми проблемами — одно из фундаментальных отличий между разработкой программного обеспечения и ИИ.
С учётом ошибок и ограничений, присущих разработке ПО — до начала работ вы по большому счёту имеете представление, что реализуемо, а что нет. То же самое про Machine Learning уже не скажешь. Окажется ли модель эффективной — неизвестно до той поры, пока она не будет реализована.
5. Бизнес пока не готов к ИИ
Даже в эпоху, когда чуть ли не каждая крупная компания внедряет у себя искусственный интеллект, у большинства из них нет должной инфраструктуры для его поддержки.
Один мой знакомый руководитель отдела Data Science в интенсивно развивающемся стартапе недавно поделился своей стартаперской мудростью за рюмкой кофе:
Сначала вы определяете проблему, затем строите инфраструктуру, и только потом привлекаете экспертов по данным. И это всё происходит очень даже не быстро. (Не дословно)
Еще одна моя знакомая специалистка по data science в известной компании недавно посетовала в разговоре, что мол-де вынуждена обучать модель искусственного интеллекта на больших данных на своём ноутбуке, а не в облаке.
Если на новом месте, куда вы пришли, не решены некоторые специфические проблемы, а то и вообще компания не готова к внедрению в свои процессы науки о данных, — готовьтесь к тому, что создавать что-либо ценное придётся на пределе сил.
6. Программная инженерия даёт общие навыки
Стать младшим инженером-программистом — всё равно, что получить степень MBA в области технологий. Вы узнаёте всего понемногу.
Вы изучите базы данных, облачные технологии, развёртывание, безопасность и написание чистого кода.
Вы научитесь управлять сборкой программного обеспечения, наблюдая за своим скрам-лидом, старшим разработчиком или руководителем проекта. Вы получите наставничество.
Если вы попали в компанию с устоявшейся командой инженеров, почти гарантировано, что вы быстро повысите уровень своих навыков и получите маскимально общий опыт.
7. Разработка ПО как деятельность имеет гораздо более гибкий характер
Имея более целостный опыт работы с технологиями, разработка программного обеспечения предоставляет больше возможностей, когда вы решите, что пора что-то менять.
DevOps, безопасность, интерфейс, бэкэнд, распределенные системы, бизнес-аналитика, дата-инжиниринг, наука о данных…
Я знаю многих разработчиков, которые перешли от разработки программного обеспечения к data science. Если вы просматриваете описания заданий по data science, то сразу заметите, что они требуют много навыков, которые формируются разработке ПО.
Если вы можете создавать E2E проекты, вы также можете сделать больше, чем просто создать модель для конкурса в Kaggle. Вы можете взять эту модель, произвести её, настроить авторизацию и электронные платежи, а затем монетизировать. Это ваш собственный стартап.
Я никогда не скажу, что наука о данных бесполезна вне сферы своего непосредственного применения. Принятие решений на основе больших данных является просто убойным средством в наше время. Но это также приведёт к тому, что методы data science будут всё больше востребованы в другой работе, поскольку бизнес всё больше и больше ориентируется на большие данные.
8. Машинное обучение станет обычным инструментом для разработчиков ПО
По мере того, как ИИ становится удобнее и проще в использовании, разработчики программного обеспечения начнут использовать его для решения своих проблем.
Я могу научить (во второй половине дня) разработчика строить sklearn-классификаторы. Это не означает, что мой падаван создаст следующий AlphaGo, но это даёт ему альтернативу жёстко запрограммированной условной логике, основанной на пользовательском вводе.
Специалисты по большим данным имеют специальные знания, вроде статистики, у них есть особая интуиция относительно того, как работают модели. Но у DevOps и Security-инженеров также свои специализированные знания.
Я бы сказал, что тут дело не в том, насколько разнятся навыки, а в том, что одни используются реже, а другие чаще. Опытный инженер перемещается между специализациями на порядки быстрее, пока новичок осваивает с нуля.
Хотя я не думаю, что мы увидим полное слияние науки о данных с разработкой программного обеспечения. Скорее, что наука о данных станет ещё одной специальностью в сфере разработки ПО.
9. ИИ не заменит в обозримом будущем инженеров-программистов
Как бы глупо это сейчас ни звучало, в 2014-м я занялся разработкой программного обеспечения, из боязни, что ИИ сделает любую другую работу устаревшей.
И всё же с тех пор ближе к технобудущему мы пока что особо не приблизились. Внедрение технологий происходит медленно, а от сильного ИИ мы дальше, чем вы можете себе представить.
По сравнению с другими профессиями, машинное обучение еще дальше от автоматизации разработки ПО. Хотя у нас есть стартапы, создающие классные продукты, вроде автозавершения кода с поддержкой ИИ, сам кодинг как таковой — на самом деле не настоящая работа. Настоящая работа заключается в решении проблем с использованием технологий.
Пока что в эпоху предсингулярности, умение писать программы ещё надолго останется ценным и высокооплачиваемым навыком.
Заключение
Во-первых, это всё прежде всего моё ИМХО. Во-вторых, я в курсе, что смешал в одну кучу исследователей данных, инженеров по машинному обучению и разработчиков искусственного интеллекта — и я превосходно понимаю разницу между ними. И всё же в эти аргументы стоит вдумчиво вникнуть, ведь это ваша жизнь и ваша карьера.
Не принимайте сказанное мною слишком серьезно. Я бы предпочёл, чтобы вы исследовали этот вопрос и приняли собственное решение. Это часть деятельности любого эксперта по данным, в общем-то 🙂
В конце-концов, платят нам прежде всего за решение проблем.
Все что вы (не) хотели знать о Data Science
Всем привет! Меня зовут Михаил Дьячков, и в Ситимобил я занимаюсь анализом данных и машинным обучением. Сегодня я хочу поговорить о Data Science: что же это вообще такое в глазах кандидатов, работодателей и экспертов; о несовпадении ожиданий, грейдах и собеседованиях, а также о том, какие задачи решают дата саентисты в Ситимобил.
Что такое Data Science?
Пожалуй, самое лаконичное определение, которое мне удалось найти в интернете:
Data science (Наука о данных) — это дисциплина, которая позволяет сделать данные полезными.
Я думаю, что если найти пересечение различных определений что же такое Data Science, то им будет лишь одно слово — данные. Всё это говорит о том, что широта применения Data Science огромна. Согласитесь, но ведь в этом нет ничего хорошего ни для кого: ни для вас, ни для бизнеса. Эта широта не дает никакой информации о вашей потенциальной деятельности. Ведь с данными можно делать всё, что угодно. Можно строить сложные отчеты или «шатать» таблички с помощью SQL. Можно предсказывать спрос на такси константой или строить сложные математические модели динамического ценообразования. А еще можно настроить поточную обработку данных для высоконагруженных сервисов, работающих в режиме реального времени.
А вообще, причем здесь слово «наука»? Безусловно, под капотом у Data Science серьезнейший математический аппарат: теория оптимизации, линейная алгебра, математическая статистика и другие области математики. Но настоящим академическим трудом занимаются единицы. Бизнесу нужны не научные труды, а решение проблем. Лишь гиганты могут позволить себе штат сотрудников, которые будут только и делать, что изучать и писать научные труды, придумывать новые и улучшать текущие алгоритмы и методы машинного обучения.
К сожалению, многие эксперты в этой области на разных мероприятиях зачастую связывают Data Science в первую очередь с построением моделей с помощью алгоритмов машинного обучения и довольно редко рассказывают самое важное, по-моему, — откуда возникла потребность в той или иной задаче, как она была сформулирована на «математическом языке», как это всё реализовано в эксплуатации, как провести честный эксперимент, чтобы правильно оценить бизнес-эффект.
Кто такой Data Scientist?
Когда мы поняли, что ничего не поняли, стоит поговорить о data scientist’ах — специалистах по анализу данных.
Data Scientist в глазах потенциального работодателя
Одни считают, что эта должность подразумевает построение нейросетей в Jupyter Notebook’e. Другие ждут от таких специалистов, что те придут и будут закрывать все задачи «под ключ». А третьи просто хотят иметь в штате таких модных ребят. Такое разное понимание должности или непонимание вовсе может навредить при найме и вам, как кандидату, и компании.
Очень хорошую аналогию с Computer Science привел Валерий Бабушкин в своем докладе «Почему вы никогда не наймете дата саентиста». Постараюсь кратко ее передать.
Computer Science — некоторая область тесно связанных между собой дисциплин, но при этом почему-то никто не ищет на работу Computer Scientist’a. На работу ищут разработчика, тестировщика, DevOps’ов, архитекторов. Даже разработчика ищут frontend- и backend-разработчиков, вплоть до того, что ищут backend-разработчика на C++. Почему это хорошо? Потому что даже из названия вакансии на 90 % понятно, чем будет занят backend-разработчик на C++. Это дает довольно много информации и снижает энтропию. А если вы вдруг ищете Computer Scientist’a, то по-русски это что, компьютерщик? Это что-то из девяностых или нулевых. «У нас сломался принтер, позовите компьютерщика».
Из всего этого вырисовывается проблема. Если сходить на 10 собеседований, даже не обязательно в разные компании, в которых ищут Data Scientist’a, то вы поймете, что на каждом собеседовании от вас будут ожидать совершенно разного, и в конечном итоге у вас будут совершенно разные задачи. Где-то вам предложат в рамках ИИ-трансформации 200 Excel-файлов. В другом месте предложат поднять кластер на несколько петабайт. На третьем собеседовании вам расскажут, что ожидают от вас визуализацию метрик в Tableau. На четвёртом вас попросят построить real-time рекомендательную систему, которая будет работать под нагрузкой в несколько тысяч запросов в секунду. На пятом собеседовании будут задачи по компьютерному зрению, а на шестом придётся писать сложные SQL-скрипты. В седьмой компании вас заставят читать статьи, строить красивые Jupyter notebook’и и писать какие-то прогнозы. А где-то ещё и собрать эти расчеты в Docker-контейнер, и с помощью Kubernetes развернуть свой сервис на много машин.
Но проходит какое-то время и наступает суровая реальность: оказывается, что прежде чем обучать модели и подбирать гиперпараметры, нужно сделать очень много чего. Например, пообщаться с бизнесом и понять, какая же у них на самом деле головная боль, затем сформулировать эту боль на математическом языке, найти данные для задачи, очистить их, подумать над признаками, собрать модели, обернуть всё это в MLflow, положить в Docker-контейнер, оценить потенциальные нагрузки и отправить в эксплуатацию. Это можно сравнить с ситуацией, когда у вас спрашивают: «Ягоду будете?», вы отвечаете: «Да» и получаете арбуз — это ведь тоже ягода.
Как решать проблему несовпадения ожиданий?
Алексей Натекин в своем докладе «Чем отличаются data analyst, data engineer и data scientist» нарисовал картинку с распределением Дирихле, то есть с вероятностью вероятностей.
Предположим, что в Data Science существуют три основные компетенции:
Математика. Теоретические знания алгоритмов машинного обучения, и математическая статистика для проверки разных статистических гипотез и обработки результатов, а также любые другие фундаментальные знания, которые будут важны в вашей предметной области.
Разработка. Всё, что связано с разработкой, инженерными составляющими проекта, DevOps, SysOps, SRE, и прочее.
Предметная область. Навыки коммуникации с коллегами и бизнесом, чтобы понимать, какую проблему они хотят решить, на какие вопросы ответить.
И Data Scientist в этой парадигме — это некоторое наблюдение из нашего распределения Дирихле. Но с помощью этого распределения можно ввести несколько новых должностей, которые будут давать более ясное представление о вашей потенциальной деятельности. Рассмотрим несколько из них.
Если вы ищете работу на позицию Machine Learning Engineer, то, скорее всего, будете заниматься введением в эксплуатацию моделей машинного обучения и поддерживать их в актуальном состоянии. Для этого вам потребуются навыки и знания в области алгоритмов машинного обучения, ну и, конечно, разработки.
Если вы аналитик данных, то, вероятно, вы будете заниматься проверкой статистических гипотез, проектировать и проводить эксперименты. Для этого вам требуются фундаментальные знания математической статистики, а также необходимо держать руку на пульсе бизнеса.
Дата-инженер — это человек, который занимается ETL-процессами, архитектурой хранилища, составляет витрины и поддерживает их, организовывает потоковую обработку данных.
Machine Learning Researcher занимается исследовательской работой. Пишет и изучает статьи, придумывает новые математические методы. Таких позиций в России довольно мало, да и встречаются они, как правило, в крупных компаниях, которые могут себе это позволить.
Аналитик — это человек, который отвечает на вопросы бизнеса, и его плотность вероятности приходится на предметную область.
Наконец, DevOps максимально сосредоточен на разработке и развёртывании вашего кода в продакшене.
Junior/Middle/Senior/Team Lead/.
Попробуем коротко сформулировать профиль человека, который будет находиться на каждом из грейдов в мире Data Science. Не стоит забывать, что от компании к компании уровень компетенций для каждого из грейдов может довольно сильно отличаться.
Junior Data Scientist
Умеет реализовать полный DS-пайплайн: «приготовить» данные, обучить модель, измерить ее качество.
Делает только то, что ему сказали.
Нуждается в постоянной опеке и контроле.
Middle Data Scientist
Имеет подтвержденный на практике результат, например, построил и внедрил модель оттока клиентов, которая экономит компании N млн. руб в год.
Может обсуждать бизнес-постановку задачи.
В меру самостоятельный.
Senior Data Scientist
Имеет более обширный опыт по сравнению с мидлом.
Может самостоятельно формулировать и решать задачи.
Имеет опыт наставничества или готов быть ментором.
Обладает высоким уровнем эмоционального интеллекта.
Уровень технических компетенций выше мидла.
Если у middle ребят возникают проблемы с ростом и развитием, то зачастую это связано с
не готовностью брать ответственность и инициативу на себя и доводить дело до конца
неумением находить общий язык с бизнес заказчиками и смежниками
недостаточным уровнем эмоционального интеллекта и/или отсутствия понимания его важности в рабочей деятельности
А дальше уже сложнее, потому что тимлид может руководить как командой из 2-3 человек, так и несколькими отделами. Вот примеры «уровней» тимлида:
Эксперт, который отвечает за конкретные участки DS-пайплайна. Работает в соответствие с поставленными перед ним задачами. Координирует работу нескольких младших коллег.
Ставит задачи экспертам в соответствии с заданным планом и координирует их работу. Несет ответственность за конкретное направление DS в компании.
Отвечает за продукт/проект/направление, имеющие большое значение для крупной компании. Определяет требования к команде и составляет планы в соответствии с заданным направлением действий.
Отвечает за стратегически важный продукт/проект/направление в крупной компании. Руководит большой командой data scientist’ов и аналитиков. Задает команде направление действий, оценивает сроки и затраты, отвечает за результаты проектов.
Чем выше ваш уровень, тем больше ответственности и тем сложнее направление R&D. А значит, и больше ваша зарплата.
Но всё же можно выделить характерные отличия тимлида. Безусловно, этот человек должен обладать техническими навыками (hard skills): он знает, как сделать так, чтобы «всё заработало», может ответить на специфичные для продукта вопросы, знает, как работает продукт. А еще тимлид планирует и формулирует задачи (впоследствии «продаёт»), раскладывает их на составляющие, напрямую общается с бизнесом, работает с командой, занимается развитием и ростом своих ребят. Для тимлида важно думать и жить в терминах продукта и бизнеса, быть проактивным и доводить дело до конца.
Подготовка к собеседованию
Я за свою карьеру провел немало собеседований и могу дать несколько советов начинающим специалистам, что нужно обязательно сделать перед отправкой резюме в компанию и собеседованием.
Прежде чем откликаться на вакансию, внимательно прочитайте её описание до конца. Казалось бы, что за дурацкий совет. Но, как показывает практика, очень многие не делают даже этого. И на собеседовании порой возникают неловкие моменты.
Попробуйте поискать информацию о вашей потенциальной компании. Было бы здорово иметь представление о ней и о продукте.
Ознакомьтесь со списком ожидаемых знаний и навыков. Ответьте себе на вопрос, пересекаетесь ли вы с этим списком, и если да, то насколько глубоко.
Определите для себя, на какую зарплату вы претендуете. Если не можете ответить, то можно посмотреть актуальные вакансии с вилками в сообществе OpenDataScience в канале #_jobs, и таким образом оценить текущее состояние рынка.
Займитесь своим резюме. Его структура и выделение ваших ключевых особенностей, навыков и результатов очень важны при просмотре работодателем.
Не нервничайте. Проходить собеседования тоже нужно уметь, и тут без опыта никуда.
Что будет на собеседовании
Беседа будет строится вокруг:
Вашего опыта, подтвержденного результатом. Важно понимать, как ваш проект повлиял на бизнес, а не как вы повысили auc roc на 2 %.
Ваших знаний о моделях и алгоритмах машинного обучения. Причем вряд ли на собеседовании на позицию, где предстоит заниматься задачами динамического ценообразования, вас будут спрашивать о глубоких нейронных сетях, которые решают задачи сегментации изображений.
Метрик оценки качества моделей (как оффлайн, так и онлайн).
Статистических критериев и всего, что каким-то образом связано с проведением экспериментов.
Программирования, например, на Python (задача для разминки: реверсировать список).
Возможно, алгоритмов и структур данных, если ваша работа как-то связана с высоконагруженными сервисами.
Технологий, с которыми вы работали и/или с которыми вам предстоит работать.
Culture fit и поведенческой составляющей.
Примеры популярных технических вопросов на собеседовании с начинающим специалистом, ответы на которые, увы, могут дать далеко не все:
Что такое логистическая регрессия и как она работает?
Чем фундаментально отличается градиентный бустинг на деревьях от алгоритма случайного леса?
Как проверить статистическую значимость в АБ-эксперименте?
Какие вы знаете метрики оценки качества в задачах бинарной классификации?
Какие встроенные структуры данных в Python неизменяемы?
На самом собеседовании не стесняйтесь задавать вопросы. Это не экзамен, здесь должен быть диалог. Поинтересуйтесь, какая у вас будет команда, задачи, какие технологии вы будете использовать в работе, какие от вас ожидают результаты, какие глобальные цели у компании.
Как дела обстоят у нас
Мы создаем систему городской мобильности с человеческим отношением к пассажирам и водителям. И хотим сделать это отраслевым стандартом. Хотим встречать и провожать пассажиров в аэропорты и на вокзалы; доставлять важные документы по указанным адресам быстрее курьеров; сделать так, чтобы на такси было не страшно отправить ребёнка в школу или девушку домой после свидания, даем возможность выбрать транспорт — каршеринг, такси или самокат. И даже если нашим пассажиром является котик, то ему должно быть максимально комфортно.
У нас есть большой отдел эффективности платформы (или Marketplace), где в каждом из направлений работают специалисты по обработке и анализу данных.
Ценообразование: правильный и правдоподобный предрасчет цены для клиента на предстоящую поездку. Мы разрабатываем алгоритмы, которые тонко настраивают наши цены под специфические региональные и временные условия, а также помогают нам держать вектор оптимального ценового роста и развития
Клиентские мотивации: помогают нам привлекать новых клиентов, удерживать старых и делать нашу цену самой привлекательной на рынке. Основное направление — это разработка алгоритма оптимального распределения бюджета на скидки клиентам для достижения максимального количества поездок. Мы стремимся создать выгодное предложение для каждого клиента, поддержать и ускорить наш рост
Водительские мотивации: одна из главных задач Ситимобил — забота о водителях. Наши алгоритмы создают для них среду, в которой каждый работает эффективно и зарабатывает много. Мы стремимся разработать подход, позволяющий стимулировать водителей к выполнению поездок там, где другие алгоритмы не справляются: возмещаем простой на линии, если нет заказов, и гарантируем стабильность завтрашнего дня для привлечения всё новых и новых водителей.
Динамическое ценообразование: главная задача направления — гарантировать возможность уехать на такси в любое время и в любом месте. Достигается это за счет кратковременного изменения цен, когда желающих уехать больше, чем водителей в определенной гео-зоне.
Распределение заказов: эффективные алгоритмы назначения водителей на заказ уменьшают длительность ожидания и повышают заработок водителей. Задача этого направления — создать масштабируемые механизмы назначения, превосходно работающие как в целом по городам, так и в разрезе каждого тарифа.
Исследование эффективности маркетплейсов: центральное аналитическое направление, задачей которого является анализ эффективного баланса между количеством водителей на линии и пассажирами.
ГЕО сервисы: эффективное использование геоданных помогает различным командам эффективно настраивать свои алгоритмы, которые напрямую зависят от качества этих данных. Мы стремимся создавать такие модели, сервисы и алгоритмы, которые не только повышают качество маршрутизации и гео-поиска, но и напрямую воздействуют на бизнес, а также клиентский опыт.
Специалист по анализу данных (data scientist) может иметь очень широкий спектр обязанностей. Это сложная и увлекательная профессия, требующая самых разных навыков и позволяющая решать очень интересные задачи. Если вас заинтересовали наши направления, то обязательно заходите на нашу публичную страницу с вакансиями и откликайтесь на них.