Habr как стать data scientist
Перейти к содержимому

Habr как стать data scientist

  • автор:

Ликбез по вхождению в Data Science: что для этого нужно и стоит ли пытаться?

Всем привет! Меня зовут Надя, и сейчас я выступаю в роли ментора на программе Mentor in Tech и помогаю людям «войти» в Data Science. А несколькими годами ранее сама столкнулась с задачей перехода в DS из другой сферы, так что обо всех трудностях знаю не понаслышке.

Порог для входа в профессию очень высокий, так как DS стоит на стыке трех направлений: аналитики, математики и программирования. Но освоить специальность — задача выполнимая (хоть и непростая), даже если ты гуманитарий и списывал математику у соседа по парте.

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

Не Data Science единым

В области Data есть несколько специализаций, поэтому прежде всего стоит понять, что интересно именно тебе. Почитай описание профессий (например, в этой статье), требования, обязанности и попробуй разобраться, что тебе больше всего подходит.

Взаимосвязь различных 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 самый эффективный способ развития — самообучение. Постоянный поиск информации составляет существенную часть профессии — ты постоянно чего-то не знаешь, и это нормально. Сейчас в открытом доступе есть много качественной информации, по крайней мере, если мы говорим о базе, которая нужна для входа в профессию.

Все курсы и материалы, которые приведены ниже, — это моя личная рекомендация, они полностью бесплатны и подобраны таким образом, чтобы осилить их смог человек без математического образования (хотя это не означает, что всё будет легко). Для подготовки на аналитика данных я бы пропустила тему с машинным обучением (или ограничилась бы лишь первым курсом).

Хочу отметить, что это не исчерпывающий список. Если что-то будет непонятно или чего-то будет не хватать — гугл в помощь.

  1. Теория вероятности и статистика (время прохождения темы — максимум 2 недели)

«Основы статистики» — сравнительно несложный курс по математической статистике, многие вещи объясняются «на пальцах». Также я бы добавила легкий курс «Основы комбинаторики и теории вероятностей для чайников», где можно порешать большое количество задач и набить руку.

Если есть желание углубиться в тему — материалов масса, начиная от курса «Теория вероятности» и заканчивая многочисленными лекциями на YouTube.

  1. Python (время прохождения темы — от 3 недель до полутора месяцев)

Здесь я порекомендую две программы:

  • «Программирование на Python» — курс для новичков, которые совсем не умеют программировать и хотят получить первое представление о том, как писать код на Python
  • «Python: основы и применение» — программа для тех, кто знаком с основами Python и хочет двигаться дальше

Для аналитика данных можно ограничиться первым курсом, для дата-сайнтиста нужны оба.

Зачастую и дата-сайнтисты, и аналитики данных работают с Jupyter-ноутбуками (их еще называют тетрадками), поэтому я рекомендую посмотреть несколько обучающих видео на эту тему (работать с ними можно, например, в Google Colab или на Kaggle). Важная часть работы — проведение исследовательского анализа данных или EDA (Exploratory Data Analysis). Примеры чек-листов для EDA можно найти здесь или здесь, а примеры самого EDA — здесь или здесь.

  1. Математика (время прохождения темы — максимум 1-2 недели)

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

  1. Машинное обучение (время прохождения темы — от 3 недель до бесконечности)

Вот мы и подобрались к самому интересному. ML — это очень глубокая тема, я бы порекомендовала взять один из курсов за «базу», а потом дополнять его различными материалами.

  • «Нейронные сети и компьютерное зрение» — легкий в плане подачи материала курс, в котором, на мой взгляд, довольно верно расставлены акценты. Его я взяла бы именно в качестве базового. К сожалению, в нем раскрыта лишь часть тем (например, не обсуждаются методы кластеризации), поэтому недостающие фрагменты я советую искать самостоятельно, многое есть в формате лекций/семинаров на YouTube.
  • «Глубокое обучение. Погружение в мир нейронных сетей» — книга о машинном обучении от Сергея Николенко, Артура Кадурина и Екатерины Архангельской. Хотя она относительно «старая», в ней содержится довольно большое количество информации, которой хватит на первое время и которая даст необходимый контекст, поможет уложить в голове основные идеи и вехи развития машинного обучения.
  • Kaggle — платформа, на которой можно участвовать в соревнованиях, решать тренировочные задачи, а также проходить профильные бесплатные курсы. Она предоставляет гораздо больше возможностей, там просто огромное количество разнообразных материалов. Если ты хочешь пополнить свое портфолио новым проектом, никто не мешает тебе взять задачку с Kaggle, решить ее и загрузить результаты на GitHub.
  • «Учебник по машинному обучению» от Школы анализа данных — полезные материалы, которые в том числе можно использовать в качестве справочника; например, мне нравится, как лаконично и в то же время исчерпывающе там приведены метрики классификации и регрессии.
  • Computer Science Center, Deep Learning School, IT Академия Samsung — YouTube-каналы с огромным количеством полезных материалов, где также можно найти материалы по NLP, сегментации и детекции изображений и пр.
  • Лекции К.В. Воронцова — доктора физико-математических наук и заведующего лабораторией машинного интеллекта в МФТИ, посвященные машинному обучению.
  • Лекции Е.А. Соколова — про основные методы машинного обучения (более динамичные, чем предыдущие).
  • Open Data Science (ODS) — сообщество, организующее в том числе бесплатные курсы и мероприятия для единомышленников в сфере DS.

Разумеется, этот список далеко не исчерпывающий. Я бы порекомендовала на первых порах обратить внимание на первые четыре пункта (причем первые два — прямо обязательно), а остальное — по мере необходимости и возможности.

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

  1. Git и Docker (время прохождения темы — максимум 1-2 недели)

Я объединила эти два пункта в один, так как хочу порекомендовать два видео от одного спикера — «Git. Большой практический выпуск» и «Основы Docker. Большой практический выпуск». Если что-то окажется непонятным, можно посмотреть еще другую информацию, но здесь, на мой взгляд, автор очень простым языком объясняет довольно сложные вещи.

Кстати, про Git. Если ты заведешь профиль на GitHub и будешь выкладывать туда свои проекты, то у тебя автоматически появится опыт работы с Git (только нужно работать через командную строку, а не через интерфейс).

  1. SQL (время прохождения темы — максимум 1-2 недели)

На изучение SQL не нужно много времени, особенно, если ты знаком с библиотекой Pandas. Я бы рекомендовала оставить эту тему на последний момент, потому что без постоянной практики эти знания быстро улетучиваются. Можно пройти однодневный курс «Уроки SQL» и составить общее представление о том, что к чему. Если хочешь порешать задачки и набить руку — для этого есть отдельные программы, например, «Интерактивный тренажер по SQL».

Вместо послесловия

Я надеюсь, что эта статья поможет тебе оценить путь, который нужно пройти для входа в Data Science, и принять финальное решение. В случае, если оно будет положительным, помни, что при должном упорстве всё получится! Кстати, недавно у нас вышла статья про основные инструменты дата-сайнтиста, необходимые в работе 🙂

  • data science
  • машинное обучение
  • карьера в ит
  • дата-сайентист
  • работа с данными

Самообучение в Data science, с нуля до Senior за два года

Хочу поделиться методами освоения Data science с нуля человеком из другой ИТ специальности. Цель: дать понять, подходит ли Вам эта специальность в принципе, и рассказать про эффективные подходы к самообучению, которые мне помогли (отдельно планирую потом детальные статьи по отдельным темам).

Отличные материалы уже существуют по большинству конкретных тем, я сам по ним учился.
Думаю, многим будут полезны «мета» материалы о том, как выбирать курсы и статьи, по которым учиться. Например, я пересмотрел десятки статей и книг, пробовал много разных он-лайн курсов, но полезной оказалась лишь малая часть всего доступного. Надеюсь, что смогу серьезно сэкономить вам время и помочь достигнуть большего, показав более эффективный путь самообучения.

И важно сказать сразу: я верю, что любой человек с аналитическими способностями и структурным мышлением может стать специалистом по машинному обучению/data science. Еще 4 года назад я сомневался, потеряв веру в свои математические способности из-за преподавателей университета. Теперь верю: основы машинного обучения и минимально необходимую математику сможет выучить любой сильно замотивированный человек.

  • Когда я понял, что скоро мне стукнет 30 лет, решил уйти в другую сферу и переехать из РФ. В своей сфере (1С) я был карьерно успешен, но стало ясно, что дальнейший рост очень затруднителен и требует выполнять работу, которая мне неинтересна и почти противна.
  • Через полгода перебора вариантов решил, что Data science мне интереснее всего.
  • Ещё через год имел достаточную квалификацию и прошёл собеседование на работу в Чехии (оговорка: у меня еще до этого было неплохое знание английского).
  • Ещё через год стал Senior Data scientist в Vodafone (мой LinkedIn).

Цель — учиться эффективнее и бесплатно

Мне помогло то, что до этого я сформировал привычки к самообразованию, а экономность не позволила мне пойти по самому простому пути: найти онлайн курс с именитыми преподами, заплатить им много денег и довериться, что они всему научат лучше всего. В итоге я перебирал много бесплатно доступных книг и курсов (книги часто были найдены на b-ok.org). Из всех курсов и книг отбирал самые лучшие, забрасывая то, что казалось слишком теоретизированными или плохо структурированным.

На основе этих десятков книг и курсов я и сформировал то мнение, которым хочу поделить. Вероятно, существует еще более эффективный и быстрый способ научится этому всему. То, как учился я, было всего-лишь быстрее большинства платных программ, которые я видел, и заодно бесплатным (на многие лучшие англоязычные курсы всегда можно записаться бесплатно; покупал я только книги русских авторов и пару книг, которые иначе не смог найти).

Сначала надо понять, что такое Data science/машинное обучение и подойдет ли оно вам

Потому что если это просто модное слово и вы хотите получать много денег или работать в Гугл, то легче заработать на позиции маркетолога или веб-аналитика, и это тоже достаточно аналитичная работа.

Возможно, вы технарь-интроверт, желающий делать что-то своими руками и не желающий много общаться с другими людьми или вникать в бизнес (потому что DS очень прикладная штука, требующая погруженная в предметную область). Тогда есть варианты: или «просто программирование» вам будет интереснее (Не хочется разрабатывать сайты? — Нужны разработчики бэкенд приложений и дата-инженеры, в больших количествах), или если всё-таки хочется заниматься машинным обучением, то изучать все методы data science и знать их лучше всех, чтобы пойти сразу в более крупную компанию, где достаточно чисто-технических задач.

Если вы человек творческий, возможно, разработка интерфейсов (фронтенд, мобильные приложения) вам подойдёт больше.

Если вы от природы аналитик и любите разбираться в данных, но программирование вас не заинтересует, а на изучение всей математики вам не хватает времени, стоит выбрать тот же самый учебный путь! Просто сделать акцент на менее математических задачах, и не лезть в программироване сложных систем. Аналитики, знающие основы data science, тоже нужны в компаниях.

Важно, чтобы работа зажигала. Без искреннего интереса «грызть» Data science будет тяжело, потому что надо разобраться в куче нюансов, особенно если у вас нет за плечами хороших знаний в статистике, линейной алгебре и мат.анализе.

Как понять, будет ли вам интересно заниматься именно data science?

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

Мне кажется, что идеально эту роль выполняет книга Datasmart (выше писал сайт, на котором я нашёл её бесплатно). На русский она тоже переведена: «Много цифр. Анализ больших данных при помощи Excel, Джон Форман». Хотя, если вы хотите работать в data science, знание английского необходимо (технический английский выучить намного легче разговорного, и это будет очень полезно для любой работы в ИТ).

Эта книга показывет многие из технических методов Data science на уровне интуиции и даёт сразу достаточно детальное представление о решаемых задачах и где в бизнесе можно применить данные модели.

Если эта книга не вызовет интерес разобраться во всех указанных алгоритмах детальнее, вероятно, работа в data science не для вас.

Если книга интересн вызовет, но вам также хочется больше программировать, скорее всего, вам интересно будет стать machine learning engineer. Разница между data scientist и machine learning engineer в том, что первый должен общаться с людьми и понимать, какую задачу имеет смысл решать, а второй должен уметь состыковать программы с «искусственным интеллектом» с другими ИТ системами, мобильными телефонами или требованиями обрабатывать огромные объемы данных.

Кстати, подобная книга для тех, кто хочет понять стоит ли ему заниматься визуализацией данных (PowerBI, Tableau и т.п.) — «Storytelling with data». Если эта книга тоже вдохновила, вместе с предыдущей, вероятно вы data scientist, способный выполнять и роль аналитика. Если же заниматься объяснением данных вам неинтересно, вам стоит нацелеваться на позицию machine learning engineer или подумать, не легче ли быть «обычным» программистом.

Что учить

Если вы решили, что готовы «грызть гранит науки», то в образовании специалиста data science есть два кита:

  • Непосредственные методы Data science, которые стоят на трёх математических черепахах: теории вероятностей и статистике, линейной алгебре и основах мат.анализа (только основах, там требуется минимум сверх школьного курса «алегбра и начало анализа»). Кстати, вся эта математика далеко не так сложна. Проблема в том, что её плохо и неинтересно объясняют во многих вузах. Позже поделюсь советами, как её можно легче освоить.
  • Программирование на Python (+SQL и подобные), которое позволит применить все изученные методы с помощью логичных и простых в своей сути библиотек готовых функций. Каждый data scientist немного программист. При этом именно python является стандартом де-факто для нашей сферы. Вероятно, этот язык занял своё положение благодаря тому, что он очень простой и логичный. Если вы программировали на чём угодно, и слова «цикл» или «if-then-else» вас не пугают, то вам не будет очень сложно освоить Пайтон. Если вы никогда не программировали, но считаете, что структурное и математическое мышление — ваш конёк, с программированием у вас не будет проблем. Даже если вы «конченный гуманитарий», освоить Python значительно легче, чем выучить многие иностранные языки (но, внимание! для людей без предыдущего опыта программирования обучаться ему эффективнее по-другому, не так, как для тех, кто уже имеет опыт программирования)

Даже примерный учебный план для изучения методов Data science требует отдельного поста. Ниже напишу чуть подробнее про Python и SQL

Английский необходим!

Как минимум, технический английский, на уровне чтения документации и профессиональных книг, — абсолютная необходимость. В этой сфере особенно: всё слишком быстро меняется. На русский язык все важные книги просто не будут успевать переводить, а многие критически важные библиотеки — даже и не будут пытаться. Поэтому, пока вы не способны читать упомянутые книги в оригинале, у вас вряд ли получится эффективно изучать data science. Хорошая новость: техническая терминология намного уже нормального разговорного языка и слэнга. Поэтому выучить английский на необходимом уровне не так уж и сложно. К тому же, знания языка могут пригодиться во многих других сферах, и даже в отпуске.

Принципы эффективного обучения

  1. Эффективный учебный план. Хороший план позволяет вам учить вещи в таком порядке, чтобы каждая новая вещь базировалась на уже полученных знаниях. И, в идеале, он идёт по спирали, постепенно углубляя знания во всех аспектах. Потому что учить теоретически математику, без интересных примеров применения — неэффективно. Именно это является одной из проблем плохого усваивания материалов в школе и институте. Учебный план — это именно та вещь, которую без опыта составить труднее всего. И именно с этим я стараюсь помочь.
  2. Следует концентрироваться на понимании главных принципов — это легче, чем запоминать отдельные детали (они часто оказываются не нужны). Особенно важно это становится, когда вы учите язык программирования, тем более свой первый: не стоит зубрить правильное написание команд («синтаксис») или заучивать API библиотек. Это вторая вещь, с которой я хочу помочь — разобраться, что важно, а на что не следует тратить много времени.

Программирование: что и как учить?

Что такое SQL и зачем его учить?

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

SQL простой, потому что он «декларативный»: нужно точно описать «запрос» как должен выглядеть финальный результат, и всё! — база данных сама покажет вам данные в нужной форме. В обычных «императивных» языках программирования нужно описывать шаги, как вы хотите чтобы компьютер выполнил вашу инструкцию. C SQL намного легче, потому что достаточно только точно понять что вы хотите получить на выходе.

Сам язык программирования — это ограниченный набор команд.

Когда вы будете работать с данными — даже аналитиком, даже необязательно со знанием data science, — самой первой задачей всегда будет получить данные из базы данных. Поэтому SQL надо знать всем. Даже веб-аналитики и маркетологи зачастую его используют.

Как учить SQL:

Наберите в Гугле «sql tutorial» и начните учиться по первой же ссылке. Если она вдруг окажется платной, выберете другую. По SQL полно качественных бесплатных курсов.

На русском языке тоже полно курсов. Выбирайте бесплатные.

Главное — выбирайте курсы, в которых вы можете сразу начать прямо в браузере пробовать писать простейшие запросы к данным. Только так, тренируясь на разных примерах, действительно можно выучить SQL.

На изучение достаточно всего лишь от 10 часов (общее понимание), до 20 часов (уверенное владение большей частью всего необходимого).

Почему именно Python?

В первую очередь, зачем учить Python. Возможно, вы слышали что R (другой популярный язык программирования) тоже умеет очень многое, и это действительно так. Но Python намного универсальнее. Мало сфер и мест работы, где Python вам не сможет заменить R, но в большинстве компаний, где Data Science можно делать с помощью Python, у вас возникнут проблемы при попытке использования R. Поэтому — точно учите Python. Если вы где-то услышите другое мнение, скорее всего, оно устарело на несколько лет (в 2015г было совершенно неясно какой язык перспективнее, но сейчас это уже очевидно).

У всех других языков программирования какие-либо специализированные библиотеки для машинного обучения есть только в зачаточном состоянии.

Как учить Python

Прочитать основы и пройти все упражнения с этого сайта можно за 5-40 часов, в зависимости от вашего предыдущего опыта.

После этого варианты (все эти книги есть и на русском):

  1. Learning Python, by Mark Lutz (5 издание). Существует и на русском. Есть много книг, которые сразу обучают использованию языка в практических задачах, но не дают полного представления о детальных возможностях языка. Эта книга, наоборот, разбирает Python досконально. Поэтому по началу её чтение будет идти медленнее, чем аналоги. Но зато, прочтя её, вы будете способны разобраться во всём. Я прочёл её почти целиком в поездах в метро за месяц. А потом сразу был готов писать целые программы, потому что самые основы были заложены в pythontutor.ru, а эта книга детально разжевывает всё. В качестве практики берите, что угодно, когда дочитаете эту книгу до 32 главы, и решайте реальные примеры (кстати, главы 21-31 не надо стараться с первого раза запоминать детально. Просто пробежите глазами, чтобы вы понимали что вообще Python умеет). Не надо эту книгу (и никакую другую) стараться вызубрить и запомнить все детали сразу. Просто позже держите её под рукой и обращайтесь к ней при необходимости. Прочитав эту книгу, и придя на первую работу с кучей опытных коллег, я обнаружил, что некоторые вещи знаю лучше них.
  2. Python Crash Course, by Eric Matthes Эта книга проще написана и отсеивает те вещи, которые всё-таки реже используются. Если вы не претендуете быстрее стать высоко-классным знатоком Python — её будет достаточно.
  3. Automate the Boring Stuff with Python Книга хороша примерами того, что можно делать с помощью Python. Рекомендую просмотреть их все, т.к. они уже похожи на реальные задачи, с которыми приходится сталкиваться на практике, в том числе специалисту по анализу данных.

Какие трудозатраты?

Путь с нуля до уровня владения Python, на котором я что-то уже мог, занял порядка 100ч. Через 200ч я уже чувствовал себя уверенно и мог работать над проектом вместе с коллегами.

(есть бесплатные программы — трекеры времени, некоторым это помогает для самоконтроля)

Следующие статьи по данной теме

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

Для желающих могу выступить в роли ментора

Если после прочтения всех моих статей у вас остались вопросы, т.к. ваша ситуация специфична — могу помочь вам индивидуально. Пишите:

self.development.mentor в домене gmail.com, Олег

Реальный путь в data science

Эта статья про мой путь к первой работе в DS (data science). Путь был длинным и пройден за 2,5 года. Кому-то эта цифра может показаться отпугнуть, и если бы я знал об этом в начале, то меня, возможно, тоже бы отпугнула. Некоторые могут назвать меня неспособным дурачком (и отчасти они будут правы), но, надеюсь, для кого-то эта статья поможет сократить время обучения и быстрее пройти этот путь.

Знакомство и первые шаги

Эта история начинается осенью 2019 года. Юный первокурсник Миша (это я) в очередной раз услышал про какой-то data science. Немного погуглив, я узнал про курс от всем известного поисковика, на котором можно узнать об этой области подробнее.

Пройдя пробный кусок, мне понравилось это так называемое data science и было решено продолжать изучать эту тему, но самостоятельно, платить за это я был не готов.

Для начала я изучил, что вообще должен знать DS и сравнил это с тем, что имелось у меня в голове на тот момент. Поняв, что в голове ничего не имеется (кроме Паскаля в школе и 4 по математике в универе), я решил, что начать стоит с Python.

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

Худо бедно я познавал данный язык в течении полугода, а потом весна 2020 года, и всеми любимый локдаун. В универ ходить больше не надо, времени стало чуть больше и решил, что пора кончать с этим Python и переходить уже к самому DS.

Приступаю к DS

15 апреля 2020 года я открыл курс «Введение в Data Science и машинное обучение» и начал получать свои первые знания в этой области. Курс мне понравился, не могу сказать, что он давался мне очень легко, но особых проблем не возникало, если не считать Kaggle, на тот момент это казалось очень непонятной штукой.

Следующим моим курсом стал курс от крупнейшего DS-сообщества в России. Очень крутой курс, но я проходил его, конечно, не особо углубляясь. Также я проходил курсы по статистике, SQL и другим важным вещам для DS.

Первые неудачные попытки

Так прошло еще полгода. Я, думая, что уже знаю достаточно, начал активно искать первую работу. Откликался на различные вакансии и меня пригласили на собеседование в Мегафон, им требовался стажер. Я готовился и уже начал немного радоваться, что скоро попаду на стажировку, но собеседование было неудачным. Я мало на что сумел ответить, но зато понял свой истинный уровень.

В течение следующего полугода я проходил различные курсы, а также повторял старые, но изучая их более тщательно. Настала весна, близилось лето, в которое я твёрдо решил начать работать.

В апреле я активно откликался на вакансии, но безуспешно. Никто не захотел брать человека без опыта, у которого даже нечего было толком показать. У меня не было гита, я не участвовал в соревнованиях на kaggle, не хватало усилий, чтобы сделать что-то более-менее объемное. Наличие гита с хорошим кодом или наличие результатов на kaggle является весьма важным для устройства на работу, особенно на первую.

Первый шанс

Уже наступило лето, а работу я так и не мог найти. Я уже начал откликаться на вакансии не связанные с IT, хотелось найти хоть какую-то работу, но даже тут у меня ничего не получалось.

Конечно, в этот момент возникали мысли «может это не для меня?», но в конце июня меня пригласили пройти собеседование на стажировку в Мегафон (да-да, опять он).

К собеседованию на этот раз я подготовился лучше, да и знаний было побольше. В итоге меня приняли на стажировку.

“У меня наконец-то получилось, теперь я уже полноценный работник и сто процентов останусь в компании после стажировки”, думал я на тот момент.

Первую половину стажировки мы (нас было 5 человек) изучали различные вещи, связанные с работой DS. Подробно разбирались с ML, Git, Oracle DB и подобными штуками. Во второй половине нас стали распределять по проектам. Я попал на проект, связанный с рекомендацией одного из тарифов. Я пытался решить эту задачу в течение полутора месяцев. Какой-то результат я получил, но не очень хороший. Далее было итоговое собеседование по итогам стажировки, которое я успешно завалил. После этого я понял, что нужно было лучше готовиться к нему, но было уже поздно. К сожалению, мне пришлось расстаться с коллегами. Я думал, что теперь, когда у меня есть опыт, я смогу устроиться на работу очень скоро. Как же ошибался.

Победа

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

После многочисленных отказов, мне удалось опять попасть на стажировку, и на этот раз это была компания Norbit.

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

К моменту окончания стажировки я не сильно верил в успех, т.к. было много кандидатов, а скольких из нас оставят было неизвестно. Но как вы понимаете, меня все же взяли. Я был очень рад этому. Путь длинною 2,5 года наконец-то был пройден, но далее предстоит еще более длительный и увлекательный путь.

Если вы и дальше хотите узнавать о моей карьере то подписывайтесь на мой телеграм.

  • data
  • data science
  • data engineering
  • карьера
  • карьера программиста
  • карьера в it-индустрии
  • карьера в it
  • стажировка
  • первая работа
  • python
  • Python
  • Data Mining
  • Big Data
  • Карьера в IT-индустрии
  • Data Engineering

Как получить работу в области Data Science? 8 простых шагов

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

8 шагов на пути к получению работы в области Data Science

Следуйте этим восьми шагам, чтобы получить желаемую работу в области Data Science:

Шаг 1: Определение цели и пути ее достижения

Четко определите свои цели профессионального развития в области Data Science

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

Изучите различные роли в области Data Science и выберите ту, которая соответствует вашим навыкам и интересам

Изучите различные роли в области Data Science и выберите ту, которая соответствует вашим интересам и навыкам. Можно стать аналитиком данных, освоить машинное обучение (Machine Learning), специализироваться на обработке естественного языка (Natural Language Processing), работать над проектами по обработке больших данных (Big Data) или развиваться в области глубокого обучения (Deep Learning).

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

Не знаете, как попасть в Data Science? Начните с составления плана обучения, куда можно включить участие в сертификационных курсах, просмотр бесплатных лекций на YouTube, прочтение книг или совместную работу с другими экспертами в этой области. Чтобы ответить на вопрос, как получить первую работу аналитика данных или как вообще попасть в Data Science, в следующей таблице представлены навыки и знания, необходимые для различных ролей в этой области:

Манипулирование и визуализация данных, Excel, SQL, библиотеки визуализации данных

Очистка, предварительная обработка, формирование запросов и визуализация данных

Алгоритмы, настройка гиперпараметров, выбор модели, метрики оценки, TensorFlow, scikit-learn, PyTorch

Обучение с и без учителя, кластеризация, регрессия, классификация, ансамблевые методы, архитектуры глубокого обучения

Обработка естественного языка

NLP-библиотеки, фреймворки, spaCy, NLTK, трансформеры, классификация, распознавание сущностей, анализ тональности, тюнинг языковых моделей

Векторные представления слов, рекуррентные и сверточные нейронные сети (RNNs и CNNs), предварительная обработка текста

Хранение и обработка крупномасштабных массивов данных в распределенных средах

MapReduce, разбиение данных на партиции, шардинг

Фреймворки глубокого обучения, глубокие нейронные сети, компьютерное зрение, применение с NLP.

Архитектуры нейронных сетей, трансферное обучение, обратное распространение, алгоритмы оптимизации.

Шаг 2: Освоение основ

Овладейте основами статистики, математики и таких языков программирования, как Python или R

Источник: LinkedIn

  • Статистика: Соискателям, стремящимся получить работу в области Data Science, необходимо приобрести знания в области описательной и индуктивной статистики и вероятности. Они используются для обобщения, визуализации, формирования выводов и проверки гипотез. Вероятность используется в байесовской статистике и моделировании методом Монте-Карло.
  • Математика: Изучите линейную алгебру и матанализ с упором на линейную регрессию, метод опорных векторов (Support Vector Machines) и метод главных компонент (Principal Component Analysis). В курсе матанализа особое внимание уделяется градиентам, алгоритмам оптимизации и частным производным. Они необходимы для снижения размерности, работы с матрицами и оптимизации на основе градиента.
  • Языки программирования (Python или R): Ознакомьтесь с методами манипулирования данными, работой со структурами данных, управляющими структурами, функциями, библиотеками и пакетами. Они используются для очистки и обработки данных, решения повторяющихся задач и реализации законченных алгоритмов.

Ознакомьтесь с методами манипулирования, визуализации и анализа данных

Если вы хотите устроиться младшим аналитиком данных или стремитесь попасть в Data Science, то освоение этих трех методик может стать для вас хорошим решением:

  • Манипулирование данными: Соискатели должны знать язык SQL (язык структурированных запросов) и языки программирования для работы с данными. Они должны уметь запрашивать, фильтровать, объединять и агрегировать данные, а также отсеивать, группировать, объединять и преобразовывать их.
  • Визуализация данных: Начните с изучения популярных библиотек визуализации данных, например, Plotly, ggplot2, Matplotlib или Seaborn. Поработайте над навыками повествования, создавая увлекательный контент и одновременно упрощая его для понимания технической и нетехнической аудиторией.
  • Анализ данных: Освойте статистические концепции для интерпретации данных и алгоритмы машинного обучения для анализа практических применений данных. Изучите все сопутствующие методы, такие как проверка гипотез, кластеризация, NLP, регрессионный анализ и кластеризация.

Разберитесь с основными алгоритмами и концепциями машинного обучения

Машинное обучение — это главный ответ на вопрос о том, как получить работу в области Data Science. Для того чтобы добиться успеха в на этом поприще, сосредоточьте свое внимание на алгоритмах обучения с и без учителя, деревьях решений и ансамблевых методах, нейронных сетях и глубоком обучении, оценке и выборе моделей, переобучнеии и регуляризации, настройке гиперпараметров, выборе признаков в данных, развертывании моделей, а также интерпретируемости.

Шаг 3: Приобретение практического опыта

В частности, отвечая на вопрос о том, как стать аналитиком данных, не имея опыта работы, следует обратить внимание на следующие важные моменты:

Поучаствуйте в реальных проектах в области Data Science

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

Вы можете поучаствовать в более чем полусотне реальных проектов в рамках нашей программы Blackbelt plus!

Попробуйте попасть на стажировку или фриланс проекты, чтобы получить практический опыт

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

Шаг 4: Создание привлекательного портфолио

Продемонстрируйте свои Data Science проекты, чтобы подтвердить свои навыки и способности к решению проблем

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

Создайте GitHub-репозиторий или персональный сайт для демонстрации своих работ

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

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

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

Источник: Analytics Vidhya

Шаг 5: Нетворкинг и налаживание связей

Посещайте митапы, конференции и разные Data Science мероприятия

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

Участвуйте в онлайн-сообществах и форумах, связанных с Data Science

Онлайн-обучение обычно помогает получить работу в области Data Science, позволяя учиться у своих коллег по всему миру, обращаться за советом при решении проблем, демонстрировать свой опыт и оставаться в курсе последних событий в этой области.

Следите за профессионалами в этой области через LinkedIn и другие платформы для нетворкинга

Нетворкинг-платформы позволяют продемонстрировать свою профессиональную компетентность. Один только ваш профиль, если он достаточно развит, может принести вам предложение о сотрудничестве от крупной компании. На этих платформах также можно найти различные вакансии.

Учитесь, общайтесь и процветайте: Присоединяйтесь к нашему сообществу Analytics Vidhya и найдите лучших профессионалов и энтузиастов в области Data Science.

Шаг 6: Повышение квалификации

Будьте в курсе последних достижений в области Data Science

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

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

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

При необходимости рассмотрите возможность получения дополнительной ученой степени или сертификата

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

Шаг 7: Составление резюме и сопроводительного письма

Составьте свое резюме таким образом, чтобы в нем были выделены соответствующие навыки, опыт и проекты

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

Составьте убедительное сопроводительное письмо, в котором продемонстрируете свою увлеченность и соответствие занимаемой должности

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

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

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

Источник: resumelab

Шаг 8: Как успешно пройти собеседование

Подготовка к техническим и поведенческим собеседованиям

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

Обзор распространенных вопросов на собеседовании по Data Science и практика в их решении

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

Продемонстрируйте навыки решения проблем, умение доносить сложные идеи и демонстрировать свою увлеченность Data Science

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

Заключение

Работа в области Data Science требует правильного сочетания образования, навыков и способности к коммуникации. Помимо требований к софтскилам, соискатели в этой области должны сосредоточиться на приобретении практического опыта и создании портфолио. Это поможет в долгосрочной перспективе. Увлеченность и любознательность кандидатов должны проявляться и в том, что они постоянно следят за достижениями в этой области.

Наша программа «blackbelt» — это универсальное решение для всех энтузиастов Data Science, с помощью которой вы можете самостоятельно пройти весь путь от первого до финального шага. Записывайтесь курс уже сегодня!

Часто задаваемые вопросы

Вопрос 1: Трудно ли получить работу в области Data Science?

Ответ: Получить работу в области Data Science несложно при наличии концептуальной ясности, релевантного опыта и практики, а также правильной демонстрации требуемых навыков.

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

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

Вопрос 3: Может ли человек без опыта получить работу в области Data Science?

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

Вопрос 4: Как я могу получить работу в области Data Science в Индии?

Ответ: Получить работу в области Data Science в Индии можно, получив соответствующее образование и навыки. Важную роль в этом процессе играют также нетворкинг, стажировки и онлайн-курсы.

Еще быстрее получить первую работу в области Data Science можно с поддержкой экспертов на онлайн-курсах в OTUS.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *