Этот пост - продолжение материала о том, как я вкатывался в аналитику и прочую биг дату. Первую часть я закончил на том, что к концу 2018 года мне удалось взять крейсерскую скорость в самообразовании, походах на собеседования и погружении в около-DS среду. Всё это в итоге закончилось офером на позицию Junior Data Scientist-а.
Сегодня хочется поделиться своим опытом и ощущениями, которые испытал в первое время работы “официальным” дата саентистом. Даже несмотря на то, что к успешному оферу я шел почти два года, первые месяцы преподнесли несколько сюрпризов, местами - не совсем приятных.
Нулевой сюрприз случился уже на моменте получения офера - зарплата на новой позиции была ненамного, на 5000р, но всё-таки меньше моей текущей. Да, начинать в новой области нелегко :). Разницу удалось наверстать достаточно быстро, у джунов в IT везде зп растет бодро (при наличии рук и головы из нужных мест).
Следующее откровение, о котором я знал, но не осознавал - под Дата Саентистом понимают в настоящее время очень разных специалистов - от дата инженеров до математиков, включая по пути программистов на самых разных языках, от C++ до Экселя. Сейчас этот зоопарк мне знаком и понятен, а три года назад я искренне считал, что настоящие дата саентисты - это те, кто нейронки обучает да прочие случайные леса выращивает. А все остальное, где нет Machine Learning-а как бы и не считается. И поэтому был слегка обескуражен, когда выяснил, что мне НА САМОМ ДЕЛЕ на новой работе большую часть времени придется ковыряться SQL запросами в бесконечных табличках с данными, чтобы выудить из них крупицы информации. На первой неделе, когда коллега бросил что-то вроде "ну там такой небольшой запрос, строк на 500", я подумал, что он преувеличивает. Но через два дня уже сам писал полотна на 100+ строк :)
А на обучение машин и смежные с ним задачи хорошо если 5% времени придётся. Первоначальное уныние достаточно быстро сменилось позитивными вибрациями - понял, что мне очень даже нравится тип работы, в котором много общения, в котором из маленьких кубиков информации составляешь общую картину, а потом ещё и споришь о ней с заказчиком. *Достаточно быстро я также узнал, что вот это вот рисование графиков, изучение когорт и прочие A/B тесты называется “продуктовая аналитика”. И да, это тоже дата саенс. *
И это тоже дата саенс
И тут появилась следующая дилемма. С одной стороны, работа продуктовым аналитиком мне пришлась по душе. С другой - “я же как бы не настоящий дата саентист, как же глубокие нейронные машины?”. И решение вроде бы простое - продолжать то, что делал до вкатывания в ДС - учиться и тренироваться на кошках, благо “кошки” под рукой у продуктового аналитика более чем подходящие. Это всё в теории. На практике столкнулся с тем, что в первые полгода не было ни сил, ни возможностей изучать что-то дополнительно. Дивный новый мир практического анализа данных заставил в спешном порядке осваивать множество самых разных инструментов, от Гугл Аналитики и Tableau до экспресс-курса по R. Последний вообще оказался для меня неожиданным сюрпризом - на собеседовании ребята из команды мельком упомянули, что часть из них пишет на R, но в плане выбора языка никто никого ни к чему не обязывает… В реальности оказалось, что почти половина кода написана на R, но свой, действительно, можно писать на питоне. Но ведь читать и осознавать написанное тоже как-то нужно, поэтому пришлось разбираться :) Кроме новых технологий нужно было разбираться и с особенностями новой компании - от того, как бизнес и продукт устроены и до того, как откуда данные берутся, как складываются и до каких можно дотянуться. На то, чтобы закрыть пробелы в знаниях и разобраться на необходимом уровне в данных, ушло где-то полгода. Устроился в конце 2018, к июлю 2019 получилось более-менее выдохнуть и начать учить что-то “для себя”. Кстати, *такое положение вещей можно считать очередным “сюрпризом” - времени и/или энергии на дополнительное самообразование при смене работы, и уж тем более - профессии, практически не будет. *
Увидел твит как раз во время изучения R!
Итак, я решил продолжить обучение. На горизонте у меня виднелось два эпика. Во-первых, много раз упомянутая в прошлом посте специализация от Яндекса и МФТИ. Во-вторых, mlcourse.ai от известного в кругах дата саентистов сообщества ods.ai. (Забавно, что узнал и вступил в сообщество только после того, как сам начал работать настоящим дата саентистом). Решил начать со второго, осенью 2019 у курса была последняя очная сессия, с рейтингами, проверками домашек и прочими атрибутами настоящего обучения. Курс доступен и сейчас, но уже полностью в self-paced режиме. Я и еще один мой коллега вписались в эту движуху… И оба бросили обучение буквально после первого модуля. Впечатления у нас были похожие - началось все за здравие, хорошей разминочной главой про EDA - исследование данных. Но уже следующая часть с размаха кидала в матан и прочую теорию и выглядела примерно так - “вот вам огромная статья с теорией, вот “необязательные” лекции (по часу+ каждая), немножко примеров кода, в вот куча тестов и заданий, дедлайн через две недели”. Куски большие, и теории, и домашки, требуют приличного количества времени на “разогрев”, поэтому максимально неудобно было их совмещать с основной работой. А лично мне еще не понравилось, что изначально русский курс перевели на английский. Текст еще ничего, а вот лекции от этого очень сильно пострадали. Короче, этот курс я бросил, не зашло. Вам, возможно, подойдет, если получается на учебу выделять “жирные” блоки времени - несколько раз в неделю по 1.5-3 часа.
ощущения от курса, когда можешь посвящать ему минут 20-30 в день
Следующий заход в ML случился в начале 2020, когда удалось на работе получить оплаченный доступ к Курсере. Наконец-то дорвался до специализации “Машинное Обучение и Анализ Данных”, и начал потихоньку проходить ее курсы - всего пять штук + дипломный проект. И закрывать гештальт, открытый аж в 2017 году. Что могу сказать… По состоянию на 2020/2021 не могу рекомендовать эту специализацию к прохождению. Причем, самая засада в том, что качество курсов идет по наклонной - первые два (вводный, с математикой и питоном и про основы машинного обучения) сделаны хорошо, нормальные задания, качественные лекции. А вот с третьего курса (про обучение без учителя) специализация начинает скатываться. Выглядит это так - практические задания становится все сложнее запихать в грейдер, код из примеров перестает работать на актуальных версиях библиотек, а людей на форуме становится все меньше и меньше. Преподаватели так и вообще последний раз там мелькали в 2018 :). Пятый курс выглядит как жалкая попытка максимально сжато рассказать про все темы, которые ещё есть в области ML - недельку на предсказания, недельку на computer vision, немножко про тексты, чуток про ранжирование. Получается максимально сжато с откровенно тупыми заданиями, которые уже делаешь лишь бы пройти дальше. Венец всего - дипломный проект, который делается по инструкции, а проверяется такими же страдальцами, дошедшими до конца. Я на этом моменте специализацию бросил, понял, что электронный диплом затраченных усилий не оправдает, а получение новых знаний закончилось на четвертом курсе специализации (раздел про статистику и а/б тесты).
Специализацию проходил большую часть 2020" года. Начал в конце января, закончил в октябре. Я к тому моменту уже достаточно повзрослел, чтобы не сильно переживать из-за “незаконченных” или “брошенных” дел, но вот одна вещь меня начала напрягать. Раньше мне казалось, что задачи, связанные с обучением машин, я начну лихо делать, как только прокачаюсь в теории и разберусь как оно там все внутри устроено. Практика показала, что даже получив реальные ML задачи на работе, я как-то не испытывал от них особого энтузиазма. Объяснять продактам, что они неправы, и как ЦИФРЫ ЭТО ПОДТВЕРЖДАЮТ, было намного веселее, даже по зуму вместо личных встреч. Опять стал вырисовываться паттерн, о который я уже спотыкался ранее, еще до того, как начал заниматься аналитикой (об этом - в первой части). Повзрослевшему мне даже пришло небольшое озарение - вещи, на которые ты осознанно потратил приличное количество времени могут не зацепить или даже разонравиться.
Примерно так раньше представлял себе "настоящего дата саентиста за работой
А окончательно на свои места всё расставила вот эта статья, про роль “дата аналитиков” в компаниях. Если вкратце - есть несколько типов Дата Саентистов:
- ML-инжинеры. Хорошо пишут код вообще и ML модельки в частности, доводят их до совершенства и выводят в продакшн, в обеденные перерывы выигрывают медальки на Kaggle. Таких товарищей я считал “настоящими” дата саентистами и сам пытался таким стать (см иллюстрацию выше)
- Статистики и математики. От и до знают, как правильно проверять гипотезы, на какие метрики смотреть с какими поправками и как при обсчете результатов не наступить на грабли с одновременным выстрелом в ногу).
- Аналитики данных. Мастера на все руки, которые очень быстро проверяют абстрактные идеи и хотелки от продактов, разработчиков, маркетологов и других важных и уважаемых людей. Результатом “проверки” является либо сразу готовый ответ на вопрос (отчётик там, дэшборд или презентация), либо отказ от идеи, либо задача одному из спецов выше - на правильную организацию эксперимента или создание ML-модели. Аналитик данных/продуктовый аналитик - то чем я по факту сейчас занимаюсь 95% времени на работе.
Первые два типа дата саентистов отлично владеют хардскиллами и прекрасно справляются со своими “нишевыми” задачами. Третий тип, “просто аналитик” не так хорош в технической части, но намного лучше понимает, что вообще происходит и как всё со всем связано. Вполне логично, что именно аналитикам такого типа прямая дорога на следующую ступеньку бизнеса, в “решалы”. Как красиво сказано в статье - Of the three breeds, analysts are the most likely heirs to the decision throne. И вот такая перспектива меня вполне устроила, думать, как заработать побольше $$$ не только для себя, но и для компании мне, в целом, нравится больше, чем скрещивать очередного ужа с ежом в зоопарке питоновских ML/DS библиотек. На этом моменте я обрел внутренний дзен относительно своих дальнейших карьерных перспектив и стал меньше смотреть в сторону технических нюансов и больше - в сторону всяких софт скиллов и методов заработка денег. Чтобы, как аналитик, прибыль не только считать, но и помогать её приносить. Посмотрим, что из этого выйдет дальше!
Аналитика + Деньги = ...
P.S. для бездушных поисковых роботов - оригинал и этого поста тоже был сначала опубликован у меня в личном бложике
Всё никак не поинтересуюсь: а как сейчас с дата-майнингом?
Или отмайнились майнеры? :/
Учился на дата саентиста, после начал работать дата инжинером, в итоге дата сайнс и всякое машинное обучение разонравилось и сейчас работаю в бекенде :)
Вы пришли не из профильной области, иначе говоря самоучка :)
Поэтому вопрос: присутствует/присутствовал ли у Вас синдром самозванца?
(Если да, то как справляетесь/справлялись?)
Дай обниму! Схожий карьерный путь пока, схожие ощущения. Прошёл специализацию, курс от ODS, устроился в стартап на первую работу и там... все по-другому! BigQuery, DataStudio, дашборды, базы данных, пайплайны и много подводных камней.
Помню, на первой же большой таске знатно обосрался. Надо было сделать дашборд с финпоказателями компании-клиента. Я сижу в 2 ночи, ковыряюсь в этом и внутри ору «ты же устраивался обучать модели, почему ты занят бухгалтерией?». Под этот ор я не заметил, как сджойнил две таблицы, условно с доходами и расходами рекламных кампаний по id кампании. И все было бы хорошо, я отчитался, что все доделал, закинул в DataStudio и лёг спать. Каково же было мое удивление, когда утром мне сказали, что я оч знатно накосячил. Расходы есть, доходов нет. Оказалось, динамическая типизация в одной таблице прочитала ключ как int, в другой как str. И все, никакого джойна)
Я быстро пришёл в разум, много чего делал в компании и даже до машинного обучения дошёл. Но табличные данные оказалось очень скучно шатать. Думал либо вот этот курс https://dlcourse.ai/ пройти, либо забить и вкачаться в то, что мне уже нравится. Выбрал второе, учу сейчас всякое, чтобы на дата инженера податься.
Удачи! Буду рад через полгода почитать про продолжение твоего квеста) Инсайт, что то, куда ты вложил кучу времени и средств, может в итоге вообще не зайти - неочевидный, но реально важный)
Ого 🔥
Получается мне крупно повезло, учился шатать нейронки, сейчас на первом месте работы тоже их шатаю.
К вопросу скурпулезного отношения к данным приучили ещё на курсе. Заветное Garbage in - garbage out запомнил на всю жизнь.
Так и получилось, что в NLP, что в ASR...а уж в таблицах наверное и подавно, важность качества и корректности данных.
BRUH
Про специализацию яндекса согласен полностью. Первый заход в неё делал в 2018 году - тогда она, параллельно с ОДС очень хорошо бустанула меня до уровня аналитика в Яндексе. Попроходил основные части, оставил последние пару курсов на потом и пару заданий с грейдером из разных этапов.
Прошло пару лет, в 20м году открыл её снова. И выглядело это совсем уж уныло.
Курс ОДС могу всё ещё посоветовать домучать, т.к. там всё же хорошая база даётся, а от этого можно уже дальше плясать.
Только у меня, подобно твоему опыту, всё пришло к тому, что вместо трушно-пацанского машинного обучения, мне стало комфортнее заниматься тем, что объясняю продактам, где они неправы, как сделать данные вкуснее, пинаю разрабов и приправливаю это математикой и инжинирингом.
И, как оказалось, что рынок МЛ, конечно, большой, но самое интересное происходит в основном у гигантов-корпораций, а остальные занимаются делишками и делают продукты. А в продуктах, всё-таки, МЛ нужен далеко не всегда и куда проще обойтись парой достаточно хорошо работающих эвристик, а это "достаточно хорошо" определяют уже аналитики, которые могут и модельку натравить, и дисперсию снизить, margin of error увеличить и прочую магию сделать.
Короч, очень приятно видеть продолжение твоей истории, буду ждать следующей части через полгодика-год!
Правильно сказал автор. Отличный путь развития любого разработчика или дата саентиста - это в бизнес. Будь то групповой фриланс, стартап или позиция в крупной компании. Разработка продуктов или пресейл. В редких случаях даже чистые продажи.
Я синьор продакт, сейчас учу дата саенс(компания оплатила скиллбокс) так как должен именно с точки зрения бизнеса понимать стек методов, как "летит градиент через свертку" ,чтобы можно было работать с командой на одном языке и прогнозировать поведение метрик.
Прастите, просто забавно совпало
сук до слёз
Спасибо, было интересно прочитать! Буду ждать следующих частей :)
А "методы заработка денег" это про поиск бизнес-модели, максимизирующую прибыль, или идеи для новых продуктов/фич, которые будут продаваться?
Прошло два года. Как успехи?