- PVSM.RU - https://www.pvsm.ru -

Самые востребованные навыки в сфере data science

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

Я тщательно изучил сайты с вакансиями, чтобы выяснить, какие же навыки сейчас пользуются наибольшей популярностью у работодателей. Я рассматривал как более широкие дисциплины, связанные с работой с данными, так и конкретные языки и инструменты, в рамках отдельного исследования. За материалами я обратился к сайтам LinkedIn [1], Indeed [2], SimplyHired [3], Monster [4] и AngelList [5], по состоянию на 10 октября 2018 года. На графике ниже показано, сколько вакансий по data science представлено на каждом из этих ресурсов.

Самые востребованные навыки в сфере data science - 1


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

Поиск производился по США на базе терминов «data science» «ключевое слово». Чтобы сократить выдачу, я отобрал только точные вхождения. Так или иначе, подобный метод гарантировал, что все результаты будут релевантны data science и ко всем запросам будут применяться одни и те же критерии.

AngelList выдает не общее число вакансий, имеющих отношение к работе с данными, а общее число компаний, предлагающих такие вакансии. Я исключил этот сайт из обоих исследований, так как его поисковый алгоритм, судя по всему, работает по принципу «ИЛИ» и не дает возможности как-нибудь переключиться на модель «И». С AngelList можно работать, когда вводишь что-то в духе “data scientist” “TensorFlow”- в этом случае соответствие второму запросу предполагает соответствие первому. Однако если использовать ключевые слова в духе “data scientist” “react.js”, то в выдаче будет очень много вакансий, не связанных с data science.

Материалы с Glassdoor также пришлось исключить. На сайте утверждалось, что они располагают информацией о 26 263 вакансиях по работе с данными, но на деле отображалось максимум 900. К тому же, мне представляется крайне сомнительным, что они собрали в три с лишним раза больше вакансий, чем любой другой крупный сайт.

Для финального этапа исследования я отобрал ключевые слова, по которым на LinkedIn была большая выдача: более 400 результатов для навыков широкого профиля, более 200 — для частных технологий. Конечно, не обошлось без дублирующихся предложений. Итоги этого этапа я зафиксировал в Google-документе [6].

Затем я скачал файлы в формате .csv, загрузил их в JupyterLab, рассчитал степень распространенности каждого в процентном соотношении и усреднил полученные значения по разным ресурсам. Результаты по языкам я впоследствии сопоставил с теми, что приводились в исследовании [7] по вакансиям из сферы data science от Glassdoor в первой половине 2017 года. Если прибавить к этому информацию из опроса [8] об использовании KDNuggets, складывается впечатление, что некоторые навыки набирают популярность, в то время как другие постепенно теряют значение. Но об этом позже.

В моем Kaggle Kernel [9] вы найдете интерактивные графики и дополнительный анализ. Для визуализации я использовал Plotly. Чтобы работать с Plotly и JupyterLab в связке придется кое-что подшаманить, по крайней мере, так было на момент написания этой статьи — инструкции можно прочитать в конце моего Kaggle Kernel, а также в документации Plotly [10].

Навыки широкого профиля

Вот график, который представляет самые популярные навыки общего профиля, которые работодатели хотят видеть у кандидатов.

Самые востребованные навыки в сфере data science - 2

Результаты показывают, что аналитика и машинное обучение по-прежнему составляют основу работы специалистов по data science. Основное назначение этой специальности — делать полезные заключения на базе массивов данных. Машинное обучение ставит своей целью создание систем, способных предсказывать ход событий, соответственно, оно пользуется большим спросом.

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

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

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

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

Технологические навыки

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

Самые востребованные навыки в сфере data science - 3

Давайте быстро пройдемся по лидерам.

Самые востребованные навыки в сфере data science - 4

Python [11] — самый востребованный вариант. То, что этот open source язык крайне популярен среди программистов, отмечали многие. Для новичков это очень удобный вариант: существует множество обучающих ресурсов. Подавляющее большинство новых инструментов для работы с данными с ним совместимо. Исходя из всего этого, Python можно называть основным языком для специалистов по data science.

Самые востребованные навыки в сфере data science - 5

R следует за Python с небольшим отрывом. Когда-то основным языком для специалистов по data science был именно он. Для меня стало сюрпризом то, что активный интерес к нему сохраняется до сих пор. Этот язык берет начало в статистике, и соответственно, пользуется большой популярностью у тех, кто ей занимается.

Практически все вакансии ставят обязательным условием знание одного из этих двух языков — Python или R.

Самые востребованные навыки в сфере data science - 6

SQL [12] также очень востребован. Аббревиатура расшифровывается как Structured Query Language (язык структурированных запросов), и именно этот язык является главным инструментом для взаимодействия с реляционными базами данных. SQL в сообществе специалистов по data science нередко пренебрегают, однако он относится к навыкам, свободное владение которыми стоит показать, если вы планируете выходить на рынок труда.

Самые востребованные навыки в сфере data science - 7

Самые востребованные навыки в сфере data science - 8

Следом идут Hadoop [13] and Spark [14] — оба они являются open source инструментами от Apache, рассчитанными на работу с большими данными. Про них написано куда меньше туториалов и статей на Medium. Я предполагаю, что число соискателей, которые ими владеют, значительно меньше, чем тех, кто знаком с Python или R. Если вы умеете работать с Hadoop and Spark или имеете возможность их освоить, это может стать для вас хорошим преимуществом перед конкурентами.

Самые востребованные навыки в сфере data science - 9

Самые востребованные навыки в сфере data science - 10

Далее — Java [15] и SAS [16]. Я был удивлен, что эти два языка смогли забраться так высоко. Оба являются детищами крупных компаний и для обоих представлено какое-то количество бесплатных материалов. Тем не менее, среди специалистов по data science ни Java, ни SAS не возбуждают особого интереса.

Самые востребованные навыки в сфере data science - 11

Следующий в рейтинге востребованных технологий — Tableau [17]. Это аналитическая платформа и инструмент для визуализации, отличающийся большой мощностью и простой в использовании. Его популярность неуклонно растет. У Tableau есть бесплатная публичная версия, но если хотите работать с данными в приватном режиме, придется раскошелиться. Если вы совсем не знакомы с Tableau, имеет смысл пройти краткий курс — скажем, Tableau 10 A-Z [18] на Udemy. За рекламу они мне не платят, я просто сам занимался по этому курсу и нашел его очень полезным.

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

Самые востребованные навыки в сфере data science - 12

Историческое сравнение

Команда GlassDoor публиковала исследование [7] десяти самых популярных навыков для специалистов по data science на отрезке с января по июль 2017 года. На графике ниже их данные по частотности терминов сопоставляются с рассчитанными мной средними значениями для сайтов LinkedIn, Indeed, SimplyHired и Monster.

Самые востребованные навыки в сфере data science - 13

В целом, результаты схожи. И мое исследование, и исследование от Glassdoor сходятся на том, что на Python, R и SQL спрос наиболее высокий. Топы навыков также совпадают по составу в пределах первых девяти позиций, хотя точный порядок отличается.

Судя по результатам, по сравнению с первой половиной 2017 года степень востребованности R, Hadoop, Java, SAS и MatLab снизилась, а Tableau, напротив, стал более популярным. Этого следовало ожидать, если посмотреть хотя бы на результаты опроса разработчиков [8] от KDnuggets. В них ясно видно, что R, Hadoop, Java и SAS на спаде уже несколько лет, в то время как Tableau стабильно на подъеме.

Рекомендации

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

  • Покажите, что вы умеете проводить анализ данных, и не жалейте сил на то, чтобы как следует освоить машинное обучение
  • Уделите внимание коммуникативным навыкам. Я бы посоветовал прочитать книгу "Made to Stick [19]", где рассказывается, как придать своим идеям больше веса. Также попрактикуйтесь с приложением Hemmingway Editor [20], чтобы научиться яснее излагать свои мысли.
  • Освойте фреймворк для глубокого обучения. Это постепенно становится неотъемлемой частью процесса освоения машинного обучения. В другой своей статье я сопоставляю различные фреймворки по тому, насколько они полезны, интересны и популярны — с ней можно ознакомиться здесь [21].
  • Если вы колеблетесь между Python и R — выбирайте Python. Если Python вы уже знаете как свои пять пальцев, подумайте о том, чтобы изучить и R. Это однозначно сделает вас более привлекательной кандидатурой на рынке.

Когда работодатель ищет сотрудника, который работает с Python, он скорее всего будет ожидать от кандидатов знакомства с основными библиотеками для обработки данных: numpy, pandas, scikit-learn и matplotlib. Если вы хотите освоить этот набор, рекомендую следующие ресурсы:

  • DataCamp [22] и DataQuest [23]  — и там, и там можно за небольшие деньги пройти обучающий курс по SaaS data science в онлайн-режиме; учиться вы будете прямо в процессе написания кода. Оба курса охватывают широкий круг инструментов.
  • Data School [24] предлагает целый диапазон разных ресурсов, включая неплохую серию роликов на Youtube [25], где объясняются базовые понятия data science.
  • «Python и анализ данных [26]» МакКинни. Это труд автора библиотеки pandas; в основном речь там идет именно о ней, но также затрагиваются основы Python, numpy, and scikit-learn применительно к data science.
  • «Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными [27]» от Мюллера и Гвидо. Мюллер отвечает за поддержку scikit-learn. Отличная книга для тех, кто изучает машинное обучение в целом и данную библиотеку в частности.

Если хотите сделать рывок в глубокое обучение, советую начать с Keras [28] или FastAI [29], а потом перейти к TensorFlow [30] или PyTorch [31]. «Глубокое обучение на Python [32]» Шолле — отличное подспорье для тех, кто учится работать с Keras.

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

Если вы ищете вакансии специалиста по работе с данными на онлайн-порталах, советую начать с LinkedIn — выдача у него стабильно самая обширная. Также при поиске вакансий или размещении резюме на сайтах очень большую роль играют ключевые слова. Например, на всех рассмотренных ресурсах по запросу «data science» выпадает в три раза больше результатов, чем по запросу «data scientist». С другой стороны, если вас интересуют только и исключительно предложения с должностью data scientist, лучше отдать предпочтение этому запросу.

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

Возможно, я изложу остальные результаты исследования в других статьях. Если вы хотите подробнее изучить код или интерактивные графики — приглашаю в Kaggle Kernel [9].

Автор: mixa_medved

Источник [33]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/kar-era/295907

Ссылки в тексте:

[1] LinkedIn: https://www.linkedin.com/

[2] Indeed: https://www.indeed.com/

[3] SimplyHired: https://www.simplyhired.com/

[4] Monster: https://www.monster.com/

[5] AngelList: https://angel.co/jobs

[6] Google-документе: https://docs.google.com/spreadsheets/d/1df7QTgdAOItQJadLoMHlIZH3AsQ2j2_yoyvHOpsy9qU/edit?usp=sharing

[7] исследовании: https://www.glassdoor.com/research/data-scientist-personas/

[8] опроса: https://www.kdnuggets.com/2018/05/poll-tools-analytics-data-science-machine-learning-results.html/2

[9] Kaggle Kernel: https://www.kaggle.com/discdiver/the-most-in-demand-skills-for-data-scientists/

[10] документации Plotly: https://github.com/plotly/plotly.py

[11] Python: https://www.python.org/

[12] SQL: https://ru.wikipedia.org/wiki/SQL

[13] Hadoop: https://hadoop.apache.org/

[14] Spark: https://spark.apache.org/

[15] Java: https://www.java.com/en/

[16] SAS: https://www.sas.com/en_us/home.html

[17] Tableau: https://www.tableau.com/

[18] Tableau 10 A-Z: https://www.udemy.com/tableau10/

[19] Made to Stick: https://www.amazon.com/Made-Stick-Ideas-Survive-Others/dp/1400064287

[20] Hemmingway Editor: http://www.hemingwayapp.com/

[21] здесь: https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a

[22] DataCamp: https://www.datacamp.com/

[23] DataQuest: https://www.dataquest.io/

[24] Data School: https://www.dataschool.io/start/

[25] роликов на Youtube: https://www.youtube.com/dataschool

[26] Python и анализ данных: https://www.ozon.ru/context/detail/id/32719186/?gclid=CjwKCAjwmJbeBRBCEiwAAY4VVXi14YKb-BjNhmB-UNl8NGr7cw7OtNEsdL0Ig9yuBdkegI3qut_y6RoCEvAQAvD_BwE&gclsrc=aw.ds&dclid=CIGv6u3Cit4CFQ5CGQodvlsA3g

[27] Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными: https://www.ozon.ru/context/detail/id/140891479/?gclid=CjwKCAjwmJbeBRBCEiwAAY4VVTq4aQcsYvcAPBkopleq_T5wAYpCvnBxxjEx2HUxjXjc0lRHDbvQaxoCJfAQAvD_BwE&gclsrc=aw.ds&dclid=CI6J_JOyit4CFc-AGQodYkcG9g

[28] Keras: https://keras.io/

[29] FastAI: https://github.com/fastai/fastai

[30] TensorFlow: https://www.tensorflow.org/

[31] PyTorch: https://pytorch.org/

[32] Глубокое обучение на Python: https://www.ozon.ru/context/detail/id/145615583/?gclid=CjwKCAjwmJbeBRBCEiwAAY4VVZJUSnUXs669oQGpkW1Mf4J1kqWd4XFS2sSP2Zfrojdk3J5BRsz4DBoCoJAQAvD_BwE&gclsrc=aw.ds&dclid=CMnWia2zit4CFdEJGQodmFEJ_Q

[33] Источник: https://habr.com/post/426557/?utm_campaign=426557