«План, что и говорить, был превосходный; простой и ясный, лучше не придумать. Недостаток у него был только один: было совершенно неизвестно, как привести его в исполнение».
Льюис Кэрролл, «Алиса в Стране Чудес»
Всем привет! Меня зовут Надя, и сейчас я выступаю в роли ментора на программе Mentor in Tech и помогаю людям «войти» в Data Science. А несколькими годами ранее сама столкнулась с задачей перехода в DS из другой сферы, так что обо всех трудностях знаю не понаслышке.
Порог для входа в профессию очень высокий, так как DS стоит на стыке трех направлений: аналитики, математики и программирования. Но освоить специальность — задача выполнимая (хоть и непростая), даже если ты гуманитарий и списывал математику у соседа по парте.
В этой статье я собрала несколько рекомендаций на основе моего личного опыта (как поиска работы, так и найма людей), а также исходя из рассказов знакомых.
Не Data Science единым
В области Data есть несколько специализаций, поэтому прежде всего стоит понять, что интересно именно тебе. Почитай описание профессий (например, в этой статье), требования, обязанности и попробуй разобраться, что тебе больше всего подходит.
Обычно, если человек хочет попасть в Data Science, но при этом у него нет знания хотя бы одного языка программирования или математики, проще начинать с аналитики данных. Тем более, что практически всё, что требуется от аналитика данных, нужно и дата-сайнтисту.
Почему именно аналитик данных? Есть разные подходы, но я всегда за то, чтобы выходить на работу как можно скорее, не тратя много времени на сугубо теоретическую часть (обучение Data Science с нуля займет как минимум полгода, в то время как на аналитика данных можно выучиться и за три месяца). Кроме того, погрузившись в область, ты можешь понять, что это вообще не твое. Как говорится, не попробуешь — не узнаешь. Так ты хотя бы не потратишь на это огромное количество усилий.
Найди мотивацию и построй карьерный план
Разберись со своей мотивацией. Какие именно потребности ты хочешь закрыть? Это, вроде бы, простой совет, но на самом деле он требует довольно серьезной психологической работы. Ответь себе, что тебе даст работа в Data Science? Деньги, причастность к миру новых технологий, удовлетворение амбиций, новые карьерные перспективы, интересные задачи? Не все эти потребности могут быть удовлетворены.
Если главная мотивация кроется в деньгах, то оно того точно не стоит. По результатам сравнения зарплат в ИТ в России можно констатировать, что в Data Science далеко не всё так радужно, по крайней мере на начальных этапах. Скажу больше, с учетом количества усилий, потраченных на обучение, чтобы войти в профессию, а также на постоянное оттачивание навыков и знаний в дальнейшем — это точно не имеет смысла.
Если ты хочешь работать с новыми технологиями, то учти, что зачастую задачи бывают довольно рутинными. Не всегда используются SOTA (State of the Art) подходы, так как необходимо оглядываться на потребности бизнеса и выбирать то решение, которое будет лучше всего им соответствовать.
Также необходимо составить собственную карьерную стратегию, чтобы понимать, какую именно работу ты ищешь. Каждый человек индивидуален, поэтому важно осознать свой опыт и понять, что из него можно извлечь. Зачастую бывает проще сначала выйти на промежуточное место работы, подкопить опыта и двигаться дальше.
Например, если ты работаешь на заводе и хотел бы заниматься Data Science, то не стоит уходить далеко от тематики производства. У тебя уже есть знание специфики (это даст преимущество перед остальными соискателями), к которому надо лишь добавить некоторые технические навыки.
Делай рефрейминг опыта
Один и тот же опыт работы можно передать совершенно по-разному. И ни одна из версий не будет неправильной, так как это всего лишь взгляды с разных точек зрения. Только от тебя зависит то, что услышит потенциальный работодатель. И тут дело не только в личной выгоде, но и в уважении к другому человеку. Ты же видишь описание вакансии, так и расскажи о себе с точки зрения этой конкретной позиции. Не надо вываливать на бедного рекрутера всю историю своей жизни, чтобы он потом в этом разбирался.
Во многом это даже показывает те самые гибкость мышления и творческий подход, которые так нужны в Data Science. Часто в наших задачах нужно рассмотреть проблему с разных сторон, предложить несколько вариантов решения и проанализировать, какой из них лучше.
Вообще Data-профессии связаны с данными, которые нас окружают. Даже если твоя работа далека от Data Science, ты можешь попробовать найти в ней данные, на которых можно потренироваться.
Если ты работаешь на производстве — попробуй написать скрипты и обработать данные, провести статистический анализ, возможно, даже построить хотя бы простейшие ML-модели. В сфере продаж или при любой другой работе с клиентами можно собирать о них какие-то данные, проводить аналитику, считать корреляции параметров и строить модели. Если ты делаешь какую-то рутинную работу (например, однотипные расчеты в Excel), попытайся написать скрипт, который будет это автоматизировать — тем самым ты как минимум сэкономишь себе время на обучение.
Построй свою дорожную карту
Перейдем к практической части. Я сразу оговорюсь, что все рекомендации, которые я буду давать ниже, верны концептуально. Это база, но, возможно, какие-то детали нужно будет доработать. Это связано с тем, что вариантов вакансий масса, в каждой — своя специфика, свои решаемые задачи. Например, работа в финтехе и в биоинформатике существенно различается.
Шаг 1. Анализ рынка
Посмотри имеющиеся вакансии, постарайся определить основные требования в них (прежде всего, в части хард скиллов). Также стоит для себя определиться, готов ли ты к релокации, если, например, в твоем городе будет мало достойных предложений.
Шаг 2. Обучение и составление портфолио
В обучении важна регулярность и системность, поэтому составь расписание, ориентируясь на то, что как минимум 2-3 дня в неделю ты будешь уделять этому время. Я не советую растягивать обучение на большой промежуток времени, лучше пусть это будет несколько коротких курсов, чтобы был виден свет в конце тоннеля.
Помимо курсов, я также настоятельно рекомендую заняться профилем на GitHub. В интернете полно информации о том, как его можно оформить. Это важно, ведь когда ты новичок, тебе надо, во-первых, выделиться среди остальных, а во-вторых — показать, что ты действительно что-то умеешь и с тобой стоит разговаривать. Выхлоп от этого точно будет. Например, однажды мне не стали давать тестовое задание, сказав, что всё уже посмотрели в моем профиле.
Шаг 3. Дообучение и поиск работы
Лучше выйти на рынок труда как можно раньше, в идеале — когда ты понимаешь, что в целом уже удовлетворяешь 75% требований в вакансии. Ни в коем случае не надо пытаться выучить всё и разобраться во всём досконально. Конечно, сама по себе эта идея правильная, но это займет очень много времени, а какие-то вещи ты поймешь до конца только через несколько месяцев работы. Так что не затягивай.
Важные нюансы:
Посмотри в интернете советы, как правильно составить резюме без лишней воды. Это же касается профиля на HeadHunter.
Найди списки частых вопросов на интервью, посмотри видео на YouTube с примерами собеседований, чтобы подготовиться к ним заранее и заодно повторить теорию.
Веди статистику по конверсии откликов: по итогу каждой недели учитывай, сколько откликов ты сделал, по скольким из них был разговор с HR, сколько было выходов на технические интервью и т. д. Если ты долго стоишь на месте, значит, что-то в твоей стратегии не работает.
Если ты понимаешь, что тебе нужно дополнительно разобраться в каких-то темах — возьми небольшой тайм-аут на дообучение, только не очень большой, максимум — неделю.
Анализируй ситуацию после каждого интервью, чтобы понять, в каких темах ты плаваешь. Не надо заниматься самобичеванием, постарайся именно к этому процессу подходить с максимально холодной головой. Не полагайся на свою память. Так как большинство интервью сейчас проходят онлайн, я настоятельно рекомендую включать по согласованию с работодателем запись экрана. Также это даст возможность посмотреть на себя со стороны.
Поддерживай себя. Процесс прохождения интервью — это большой стресс. Собеседования проходят совершенно по-разному, это никак не зависит от тебя. Учти, что к интервью в некоторые компании нужно готовиться отдельно — сходу туда очень сложно попасть.
Подборка материалов на все случаи жизни
На мой взгляд, в разрезе Data Science самый эффективный способ развития — самообучение. Постоянный поиск информации составляет существенную часть профессии — ты постоянно чего-то не знаешь, и это нормально. Сейчас в открытом доступе есть много качественной информации, по крайней мере, если мы говорим о базе, которая нужна для входа в профессию.
Все курсы и материалы, которые приведены ниже, — это моя личная рекомендация, они полностью бесплатны и подобраны таким образом, чтобы осилить их смог человек без математического образования (хотя это не означает, что всё будет легко). Для подготовки на аналитика данных я бы пропустила тему с машинным обучением (или ограничилась бы лишь первым курсом).
Хочу отметить, что это не исчерпывающий список. Если что-то будет непонятно или чего-то будет не хватать — гугл в помощь.
Теория вероятности и статистика (время прохождения темы — максимум 2 недели)
«Основы статистики» — сравнительно несложный курс по математической статистике, многие вещи объясняются «на пальцах». Также я бы добавила легкий курс «Основы комбинаторики и теории вероятностей для чайников», где можно порешать большое количество задач и набить руку.
Если есть желание углубиться в тему — материалов масса, начиная от курса «Теория вероятности» и заканчивая многочисленными лекциями на YouTube.
Python (время прохождения темы — от 3 недель до полутора месяцев)
Здесь я порекомендую две программы:
«Программирование на Python» — курс для новичков, которые совсем не умеют программировать и хотят получить первое представление о том, как писать код на Python
«Python: основы и применение» — программа для тех, кто знаком с основами Python и хочет двигаться дальше
Для аналитика данных можно ограничиться первым курсом, для дата-сайнтиста нужны оба.
Зачастую и дата-сайнтисты, и аналитики данных работают с Jupyter-ноутбуками (их еще называют тетрадками), поэтому я рекомендую посмотреть несколько обучающих видео на эту тему (работать с ними можно, например, в Google Colab или на Kaggle). Важная часть работы — проведение исследовательского анализа данных или EDA (Exploratory Data Analysis). Примеры чек-листов для EDA можно найти здесь или здесь, а примеры самого EDA — здесь или здесь.
Математика (время прохождения темы — максимум 1-2 недели)
Математика нужна для того, чтобы понимать, как работают алгоритмы машинного обучения. Я рекомендую курс «Математика для Data Science», так как он довольно компактный и содержит всю необходимую базу.
Машинное обучение (время прохождения темы — от 3 недель до бесконечности)
Вот мы и подобрались к самому интересному. ML — это очень глубокая тема, я бы порекомендовала взять один из курсов за «базу», а потом дополнять его различными материалами.
«Нейронные сети и компьютерное зрение» — легкий в плане подачи материала курс, в котором, на мой взгляд, довольно верно расставлены акценты. Его я взяла бы именно в качестве базового. К сожалению, в нем раскрыта лишь часть тем (например, не обсуждаются методы кластеризации), поэтому недостающие фрагменты я советую искать самостоятельно, многое есть в формате лекций/семинаров на YouTube.
«Глубокое обучение. Погружение в мир нейронных сетей» — книга о машинном обучении от Сергея Николенко, Артура Кадурина и Екатерины Архангельской. Хотя она относительно «старая», в ней содержится довольно большое количество информации, которой хватит на первое время и которая даст необходимый контекст, поможет уложить в голове основные идеи и вехи развития машинного обучения.
Kaggle — платформа, на которой можно участвовать в соревнованиях, решать тренировочные задачи, а также проходить профильные бесплатные курсы. Она предоставляет гораздо больше возможностей, там просто огромное количество разнообразных материалов. Если ты хочешь пополнить свое портфолио новым проектом, никто не мешает тебе взять задачку с Kaggle, решить ее и загрузить результаты на GitHub.
«Учебник по машинному обучению» от Школы анализа данных — полезные материалы, которые в том числе можно использовать в качестве справочника; например, мне нравится, как лаконично и в то же время исчерпывающе там приведены метрики классификации и регрессии.
Computer Science Center, Deep Learning School, IT Академия Samsung — YouTube-каналы с огромным количеством полезных материалов, где также можно найти материалы по NLP, сегментации и детекции изображений и пр.
Лекции К.В. Воронцова — доктора физико-математических наук и заведующего лабораторией машинного интеллекта в МФТИ, посвященные машинному обучению.
Лекции Е.А. Соколова — про основные методы машинного обучения (более динамичные, чем предыдущие).
Open Data Science (ODS) — сообщество, организующее в том числе бесплатные курсы и мероприятия для единомышленников в сфере DS.
Разумеется, этот список далеко не исчерпывающий. Я бы порекомендовала на первых порах обратить внимание на первые четыре пункта (причем первые два — прямо обязательно), а остальное — по мере необходимости и возможности.
Если ты чувствуешь, что тебе не хватает каких-то материалов, или какая-то тема недостаточно раскрыта — ищи ее в других источниках в интернете, это крайне полезный навык.
Git и Docker (время прохождения темы — максимум 1-2 недели)
Я объединила эти два пункта в один, так как хочу порекомендовать два видео от одного спикера — «Git. Большой практический выпуск» и «Основы Docker. Большой практический выпуск». Если что-то окажется непонятным, можно посмотреть еще другую информацию, но здесь, на мой взгляд, автор очень простым языком объясняет довольно сложные вещи.
Кстати, про Git. Если ты заведешь профиль на GitHub и будешь выкладывать туда свои проекты, то у тебя автоматически появится опыт работы с Git (только нужно работать через командную строку, а не через интерфейс).
SQL (время прохождения темы — максимум 1-2 недели)
На изучение SQL не нужно много времени, особенно, если ты знаком с библиотекой Pandas. Я бы рекомендовала оставить эту тему на последний момент, потому что без постоянной практики эти знания быстро улетучиваются. Можно пройти однодневный курс «Уроки SQL» и составить общее представление о том, что к чему. Если хочешь порешать задачки и набить руку — для этого есть отдельные программы, например, «Интерактивный тренажер по SQL».
Вместо послесловия
Я надеюсь, что эта статья поможет тебе оценить путь, который нужно пройти для входа в Data Science, и принять финальное решение. В случае, если оно будет положительным, помни, что при должном упорстве всё получится! Кстати, недавно у нас вышла статья про основные инструменты дата-сайнтиста, необходимые в работе :)