для чего нужен data science
Самообучение в Data science, с нуля до Senior за два года
Хочу поделиться методами освоения Data science с нуля человеком из другой ИТ специальности. Цель: дать понять, подходит ли Вам эта специальность в принципе, и рассказать про эффективные подходы к самообучению, которые мне помогли (отдельно планирую потом детальные статьи по отдельным темам).
Отличные материалы уже существуют по большинству конкретных тем, я сам по ним учился.
Думаю, многим будут полезны «мета» материалы о том, как выбирать курсы и статьи, по которым учиться. Например, я пересмотрел десятки статей и книг, пробовал много разных он-лайн курсов, но полезной оказалась лишь малая часть всего доступного. Надеюсь, что смогу серьезно сэкономить вам время и помочь достигнуть большего, показав более эффективный путь самообучения.
И важно сказать сразу: я верю, что любой человек с аналитическими способностями и структурным мышлением может стать специалистом по машинному обучению/data science. Еще 4 года назад я сомневался, потеряв веру в свои математические способности из-за преподавателей университета. Теперь верю: основы машинного обучения и минимально необходимую математику сможет выучить любой сильно замотивированный человек.
Когда я понял, что скоро мне стукнет 30 лет, решил уйти в другую сферу и переехать из РФ. В своей сфере (1С) я был карьерно успешен, но стало ясно, что дальнейший рост очень затруднителен и требует выполнять работу, которая мне неинтересна и почти противна.
Через полгода перебора вариантов решил, что Data science мне интереснее всего.
Ещё через год имел достаточную квалификацию и прошёл собеседование на работу в Чехии (оговорка: у меня еще до этого было неплохое знание английского).
Ещё через год стал Senior Data scientist в Vodafone (мой LinkedIn).
Мне помогло то, что до этого я сформировал привычки к самообразованию, а экономность не позволила мне пойти по самому простому пути: найти онлайн курс с именитыми преподами, заплатить им много денег и довериться, что они всему научат лучше всего. В итоге я перебирал много бесплатно доступных книг и курсов (книги часто были найдены на b-ok.org). Из всех курсов и книг отбирал самые лучшие, забрасывая то, что казалось слишком теоретизированными или плохо структурированным.
На основе этих десятков книг и курсов я и сформировал то мнение, которым хочу поделить. Вероятно, существует еще более эффективный и быстрый способ научится этому всему. То, как учился я, было всего-лишь быстрее большинства платных программ, которые я видел, и заодно бесплатным (на многие лучшие англоязычные курсы всегда можно записаться бесплатно; покупал я только книги русских авторов и пару книг, которые иначе не смог найти).
Сначала надо понять, что такое Data science/машинное обучение и подойдет ли оно вам
Потому что если это просто модное слово и вы хотите получать много денег или работать в Гугл, то легче заработать на позиции маркетолога или веб-аналитика, и это тоже достаточно аналитичная работа.
Если вы человек творческий, возможно, разработка интерфейсов (фронтенд, мобильные приложения) вам подойдёт больше.
Если вы от природы аналитик и любите разбираться в данных, но программирование вас не заинтересует, а на изучение всей математики вам не хватает времени, стоит выбрать тот же самый учебный путь! Просто сделать акцент на мнее математических задачах, и не лезть в программироване сложных систем. Аналитики, знающие основы data science, тоже нужны в компаниях.
Важно, чтобы работа зажигала. Без искреннего интереса «грызть» Data science будет тяжело, потому что надо разобраться в куче нюансов, особенно если у вас нет за плечами хороших знаний в статистике, линейной алгебре и мат.анализе.
Как понять, будет ли вам интересно заниматься именно data science?
Мне кажется, что идеально эту роль выполняет книга Datasmart (выше писал сайт, на котором я нашёл её бесплатно). На русский она тоже переведена: «Много цифр. Анализ больших данных при помощи Excel, Джон Форман». Хотя, если вы хотите работать в data science, знание английского необходимо (технический английский выучить намного легче разговорного, и это будет очень полезно для любой работы в ИТ).
Эта книга показывет многие из технических методов Data science на уровне интуиции и даёт сразу достаточно детальное представление о решаемых задачах и где в бизнесе можно применить данные модели.
Если эта книга не вызовет интерес разобраться во всех указанных алгоритмах детальнее, вероятно, работа в data science не для вас.
Если книга интересн вызовет, но вам также хочется больше программировать, скорее всего, вам интересно будет стать machine learning engineer. Разница между data scientist и machine learning engineer в том, что первый должен общаться с людьми и понимать, какую задачу имеет смысл решать, а второй должен уметь состыковать программы с «искусственным интеллектом» с другими ИТ системами, мобильными телефонами или требованиями обрабатывать огромные объемы данных.
Что учить
Если вы решили, что готовы «грызть гранит науки», то в образовании специалиста data science есть два кита:
Непосредственные методы Data science, которые стоят на трёх математических черепахах: теории вероятностей и статистике, линейной алгебре и основах мат.анализа (только основах, там требуется минимум сверх школьного курса «алегбра и начало анализа»). Кстати, вся эта математика далеко не так сложна. Проблема в том, что её плохо и неинтересно объясняют во многих вузах. Позже поделюсь советами, как её можно легче освоить.
Программирование на Python (+SQL и подобные), которое позволит применить все изученные методы с помощью логичных и простых в своей сути библиотек готовых функций.
Даже примерный учебный план для изучения методов Data science требует отдельного поста. Ниже напишу чуть подробнее про Python и SQL
Английский необходим!
Принципы эффективного обучения
Программирование: что и как учить?
Что такое SQL и зачем его учить?
SQL является стандартом для получения данных в нужном виде из разных баз данных. Это тоже своеобразный язык программирования, который дополнительно к своему основному языку используют многие программисты. Большинство самых разных баз данных использует один и тот же язык с относительно небольшими вариациями.
Как учить SQL:
Наберите в Гугле «sql tutorial» и начните учиться по первой же ссылке. Если она вдруг окажется платной, выберете другую. По SQL полно качественных бесплатных курсов.
На русском языке тоже полно курсов. Выбирайте бесплатные.
На изучение достаточно всего лишь от 10 часов (общее понимание), до 20 часов (уверенное владение большей частью всего необходимого).
Почему именно Python?
У всех других языков программирования какие-либо специализированные библиотеки для машинного обучения есть только в зачаточном состоянии.
Как учить Python
Прочитать основы и пройти все упражнения с этого сайта можно за 5-40 часов, в зависимости от вашего предыдущего опыта.
После этого варианты (все эти книги есть и на русском):
Learning Python, by Mark Lutz (5 издание). Существует и на русском.
Есть много книг, которые сразу обучают использованию языка в практических задачах, но не дают полного представления о детальных возможностях языка.
Эта книга, наоборот, разбирает Python досконально. Поэтому по началу её чтение будет идти медленнее, чем аналоги. Но зато, прочтя её, вы будете способны разобраться во всём.
Я прочёл её почти целиком в поездах в метро за месяц. А потом сразу был готов писать целые программы, потому что самые основы были заложены в pythontutor.ru, а эта книга детально разжевывает всё.
В качестве практики берите, что угодно, когда дочитаете эту книгу до 32 главы, и решайте реальные примеры (кстати, главы 21-31 не надо стараться с первого раза запоминать детально. Просто пробежите глазами, чтобы вы понимали что вообще Python умеет).
Не надо эту книгу (и никакую другую) стараться вызубрить и запомнить все детали сразу. Просто позже держите её под рукой и обращайтесь к ней при необходимости.
Прочитав эту книгу, и придя на первую работу с кучей опытных коллег, я обнаружил, что некоторые вещи знаю лучше них.
Python Crash Course, by Eric Matthes
Automate the Boring Stuff with Python
Книга хороша примерами того, что можно делать с помощью Python. Рекомендую просмотреть их все, т.к. они уже похожи на реальные задачи, с которыми приходится сталкиваться на практике, в том числе специалисту по анализу данных.
Какие трудозатраты?
Путь с нуля до уровня владения Python, на котором я что-то уже мог, занял порядка 100ч. Через 200ч я уже чувствовал себя уверенно и мог работать над проектом вместе с коллегами.
Следующие статьи по данной теме
Для желающих могу выступить в роли ментора
Откуда и зачем приходят в Data Science?
О Data Science говорят много, ведь это одна из самых востребованных и перспективных сфер. Из каких профессий люди приходят в Data Science, как они выбрали обучение, чего стремятся достичь, где собираются работать и какую роль сыграла пандемия — об этом мы поговорили со студентами магистратуры «Наука о данных» НИТУ МИСиС, организованной совместно с Zavtra.Online, подразделением SkillFactory по работе с вузами.
Евгений Бондаренко
38 лет. Врач-реаниматолог. Пришел в Data Science, потому что с детства мечтал обучать машины.
Я из Кыргызстана, сперва работал на «скорой», совмещая учёбу и работу, потом в больнице уже по специальности — анестезиологом-реаниматологом. Но из медицины ушёл, работа врача плохо оплачивается и к тому же большой стресс каждый день.
После этого я занимался разными вещами. Открыл свою компанию, возглавлял отдел маркетинга и рекламы в газете, занимался дизайном… А потом пришёл в dostek.kg, где руководил проектом СОЧИ — Системой Отчетности Через Интернет. У меня была команда программистов, и их работа меня заинтересовала. Я взял отпуск, ушел осваивать программирование и вернулся фронтенд-разработчиком.
Об интересе к Data Science
Помимо рабочих у меня есть свои проекты; некоторые были связаны с наукой о данных. Например проект «Барад-Дур» — это web-сервис который сдаёт в аренду торговых роботов трейдерам. Торговые роботы занимаются классификацией бумаг на рынке по финансовым мультипликаторам, а также ранжируют их по привлекательности к покупке. В проекте имеется полный спектр работы дата-сайентиста, ведь мы собираем данные с финансовых площадок, собираем новости и скоро начнём собирать сообщения из групп в Телеграм, анализируем всё это дело, классифицируем. Надеюсь, нам удастся что-то ещё предсказывать, но это пока чересчур сложно.
Я решил, что хочу узнать об этой сфере больше. Пока искал информацию для своего проекта, втянулся и подумал, что хочу сменить сферу деятельности — с фронтенда на аналитику данных и машинное обучение.
О сфере, которая особенно интересует
Я хотел бы научиться обучать машины. На самом деле, поступив в медицинский вуз, я планировал перевестись в институт робототехники и бионики. Но на третьем курсе оказался в этом институте, увидел, как у них все печально — и остался в своём. Вообще я с самого детства хотел заниматься робототехникой и теперь иду к этой мечте.
Об особенностях онлайн-формата
Это очень удобно. Пандемия тут сыграла позитивную роль, ведь раньше ничего подобного доступно не было — если хочешь учиться, нужно ехать, решать вопрос с жильём, отрываться от семьи. То есть для меня это было совершенно невозможно. А сейчас это образование стало доступным. Последние лет десять я в любом случае сижу перед компьютером и работаю онлайн — для меня это привычный мир. Так какая разница, где я слушаю лекцию или читаю?
О выборе программы
Ни высшее образование, ни диплом — не необходимость. Я решил пойти на программу Zavtra.Online и МИСиС, чтобы хоть что-то напрямую связывало меня с IT. Кроме качества обучения для меня решающим фактором была цена — другие достойные программы куда дороже, к тому же они англоязычные. Тут и на русском-то воспринимаешь математическую информацию с трудом, а на другом языке это ещё сложнее.
Ксения Колесниченко
34 года. Работает программистом и видит своё будущее в сфере Data Science.
Я закончила школу в 2003 году — тогда считалось, что люди с техническим образованием не нужны, зато нужны экономисты. Поэтому я и пошла в СПБГЭУ. После 2-го курса, когда надо было выбирать специализацию, поняла: что-то серьёзное даётся только на предметах, связанных с математикой и статистикой. И пошла на кафедру статистики и эконометрики. А затем — в магистратуру на кафедру страхования и управления рисками. Программирование, Python и SQL я изучала сама — на онлайн-курсах. И сейчас работаю младшим программистом в компании BI Consult.
Об интересе к Data Science
Думаю, что за Data Science будущее! Хоть сами по себе методы DS, т. е. математическая основа, не новы, но столь широкое распространение они получили только когда появились дешёвые инструменты для расчётов. Можете себе представить, чтобы 40 лет назад какая-нибудь сеть продуктовых магазинов анализировала сотни миллиардов строк в чеках? Нет. Можете себе представить, чтобы кто-то проанализировал миллионы анализов крови или рентгеновских снимков, а потом нашёл зависимости в результатах? Нет. Это технически было невозможно. А сейчас вполне реально. Так что причин, на мой взгляд, две: возможность анализировать те объёмы, которые раньше анализировать было невозможно, и то, что такой анализ куда более точен. Коммерческим компаниям точность несёт прибыль, социальным — эффективность. Поэтому за Data Science будущее.
Думаю, что, имея базовое образование, с надстройкой в виде этой магистратуры я буду очень востребована на рынке.
О плюсах и минусах онлайн-образования
В оффлайне хороших преподавателей на всех не хватает, и онлайн помогает получить к ним доступ. Например, на OpenEdu курс по комбинаторике, который я проходила, вел Райгородский Андрей Михайлович — он объяснял так, что его понял бы и десятилетний ребёнок. А в университете на занятиях по комбинаторике я не понимала ничего, просто заучивала наизусть. Второй момент — свободный график обучения. Минусов пока не заметила. Единственные проблемы, которые могу придумать, — ну, платформа может теоретически лагать.
В чем отличие курсов и высшего образования?
Мой знакомый хотел эмигрировать в США. Он работал программистом больше 20 лет, его брали чуть ли не в Google и Microsoft. А в визе в США ему отказали — из-за отсутствия образования в IT. Ну и ключевое отличие высшего образования от курсов — оно даёт фундаментальные знания. На обычных курсах нет даже теории алгоритмов.
Ярослав Шадрин
25 лет. Переехал в Москву специально, чтобы изучать Data Science — хочет попасть в компанию к Илону Маску.
Я закончил факультет инфокоммуникационных технологий и систем связи ИТМО в Петербурге. Чем хочу заниматься, я не совсем понимал, и в ИТМО подал документы потому, что там был высокий проходной балл — решил, раз туда все хотят, там классно. В итоге факультет оказался инженерным, а мне ближе IT. Да и обучение было скучным, старого формата. Так что доучивался я скорее для галочки. Закончив, уехал в Москву — здесь больше возможностей для учебы и работы в Data Science.
Об интересе к Data Science
Я сел и спросил себя: что я хочу делать? И понял, что по-настоящему интересна мне биология. Я немного поресерчил и узнал о существовании биоинформатики — грубо говоря, это применение Data Science в биологии. Меня это сразу заинтересовало. Но я решил в целом изучить DS и потом уже сфокусироваться на конкретной сфере.
О применении Data Science в биологии мы подробно рассказывали в материале Данные внутри нас: Чем занимаются биоинформатики?
Пока больше всего мне интересны нейронауки. В исследованиях мозга довольно широко применяется инструментарий DS — нейронные сети, моделирование систем и другие подобные вещи.
О компании мечты
Мечтаю попасть в Neuralink — это одна из компаний Илона Маска. Они делают чипы, которые встраиваются в голову и управляются силой мысли. Пока это всё в очень проектном виде — готового продукта ещё не существует, но разработки ведутся. За нейроинтерфейсами будущее!
О выборе образования
Для меня в приоритете изначально было высшее образование. На рынке остается кластер компаний, которые обращают внимание на наличие диплома. К тому же я хочу пойти на PhD. Бакалавриат у меня уже есть, поэтому зачем мне тратить четыре года, если можно потратить всего два, исключив более общие предметы? Именно магистратура МИСиС и Zavtra.Online привлекла меня проектным обучением — так, уже в процессе учебы собирается портфолио, которое можно показать на собеседовании. И ещё здорово, что это онлайн-магистратура — удобно совмещать с работой.
Оксана Евсеева
40 лет. Живет в Барселоне. Однажды поняла, что хочет внести свой вклад в мировой прогресс — и заинтересовалась Data Science.

Об интересе к Data Science
В 2016 году я оказалась на Global Mobile Congress в Барселоне. На этом конгрессе представлены все новейшие разработки: и Internet of things, и беспилотные машины, и технологии, основанные на сборе данных с сенсорами. Я увидела, куда движется мир, и я захотела быть причастной к прогрессу. Долго думала, что сделать для этого; толчком для меня стала пандемия: во время локдауна я начать изучать IT. А Data Science стала дверью к машинному обучению и ИИ.
В дальнейшем мне бы хотелось работать в здравоохранении или генетике. Потому что это связано не с потреблением, а с прогрессом в сфере здравоохранения и науки. Если там не получится, то я бы с удовольствием поработала бы в каком-нибудь банке или в сфере данных, которые помогают регулировать городской трафик.
О выборе образования
Сначала я планировала пройти курсы, а уже затем думать о магистратуре. Смотрела программы от разных учебных заведений, в том числе в Барселоне. Интересного было много, но в MIT или Harvard — очень дорого. Зарубежное образование — вообще дорогое удовольствие. А потом мне начали попадаться материалы SkillFactory. Я узнала про магистратуру МИСиС и Zavtra.Online, посмотрела Youtube-канал, их интервью с экспертами, план обучения — мне всё понравилось. Другие программы я уже не искала.
О плюсах и минусах онлайн-образования
Чтобы стать профессионалом в какой-то сфере, нужно определённое количество часов затратить на изучение и работу — десять тысяч. Высшее образование уже просто по своей длительности позволяет глубже проникнуть в сферу, которую изучаешь. Курс дает один-два инструмента, а высшее образование — чемодан. Плюс фундаментальные знания, которые потом тебе позволят развиваться.
Я проходила много курсов — я человек любознательный. А вот онлайн до SkillFactory не занималась. Такая онлайн-магистратура — мой первый опыт. Мне всё нравится. Можно идти в своём ритме: если что-то не усвоишь, можешь вернуться второй или третий раз. Да и живу я за границей — учиться на русском языке в московском университете могу только онлайн. Ну, а из минусов — пока в головах многих и учеников, и преподавателей законченный образ онлайн-обучения не сложился. Могут возникать недопонимания.
Александр Максименко
27 лет. Когда-то не пошел в IT, отдав предпочтение более «престижной» сфере, и теперь навёрстывает упущенное, исполняя школьную мечту.
Когда я заканчивал 11 класс, всех агитировали поступать в инженеры. Обещали, что за ними будущее. Я на эту историю купился, но это оказалось неправдой — по сей день инженеры невостребованы и получают мало. Закончил я в итоге физтех ЮУрГУ. Работал в “Сургутнефтегазе” на месторождении, потом занимался контрольно-измерительными приборами. Когда надоело летать вахтами на Север, решил строить карьеру в Челябинске. В плане работы в городе всё оказалось грустно, и я решил, пока не поздно, уйти в IT — после инженерного образования, думаю, будет не так уж сложно. Пока я не работаю, отдыхаю пока от Севера и посвящаю время учёбе.
Об интересе к Data Science
Меня со школы тянуло к IT. Но я клюнул на пропаганду правительства и отучился на другую специальность. И вот когда решил менять профессию, вспомнил свою нереализованную мечту со школьных времен. Сейчас очень много разных разных направлений в IT, я всё изучил и увидел, что обороты набирает Data Science. Она сейчас во всех топах самых перспективных и актуальных сфер.
После обучения мне хочется занять в крупной компании, желательно международной, junior-позицию. Пока я только вникаю, смотрю, какие направления в Data Science есть, чтобы потом выбрать. На втором курсе будет понятно. Пока мне интересны банковское дело и работа с ИИ.
О выборе образования
Курсы я никогда не посещал — не было необходимости. Свою профессию я хорошо знал, и, если встречал что-то новое, с лёгкостью находил всё в Google. Вообще к курсам я отношусь скептически. Сужу по отзывам на habr — слишком много нереалистичных обещаний. Если бы писали, что дадут основы, а всё остальное зависит от меня самого, было бы честнее. Я не говорю, что нет качественных курсов, после которых можно устроиться на работу. Просто для меня высшее образование — приоритет. Уверен, оно дает более глубокие и фундаментальные знания.
О плюсах и минусах онлайн-образования
Большой плюс онлайн-образования — можно заниматься из дома в любое удобное время. Из минусов — нет живого общения и прямого контакта с преподавателем. Но это не критично. Это важно, когда личность формируется — среднюю школу полностью онлайн не представляю. А для взрослых не страшно.
Все что вы (не) хотели знать о 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) может иметь очень широкий спектр обязанностей. Это сложная и увлекательная профессия, требующая самых разных навыков и позволяющая решать очень интересные задачи. Если вас заинтересовали наши направления, то обязательно заходите на нашу публичную страницу с вакансиями и откликайтесь на них.
