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

Я изучил множество описаний вакансий и опросов, чтобы понять, какие навыки упоминаются чаще всего. Термины вроде «управление» в анализ не включались, так как на сайтах вакансий они употребляются в очень широком круге разнообразных контекстов.
Поиск производился по США на базе терминов «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. Основное назначение этой специальности — делать полезные заключения на базе массивов данных. Машинное обучение ставит своей целью создание систем, способных предсказывать ход событий, соответственно, оно пользуется большим спросом.
Для обработки данных требуется знание статистики и умение писать код — тут удивляться нечему. Кроме того, статистика, математика и программная инженерия — это специальности, по которым ведется подготовка в вузах, что тоже может сказываться на частотности запросов.
Интересно, что в описаниях почти половины вакансий упоминается коммуникация: специалистам по работе с данными нужно уметь доносить до людей свои выводы и работать в команде.
Упоминания ИИ и глубокого обучения встречаются не так регулярно, как некоторые другие запросы. Тем не менее, эти области являются ответвления машинного обучения. Глубокое обучение все чаще и чаще применяется в задачах, для которых раньше использовались алгоритмы машинного обучения. Например, лучшие алгоритмы машинного обучения для проблем, возникающих при обработке естественного языка, сейчас относятся именно к области глубокого обучения. Полагаю, что в будущем оно будет становиться все более востребованным, а машинное обучение постепенно начнет восприниматься как синоним глубокого.
Какие же конкретные программные решения должны освоить специалисты по data science, по мнению работодателей? Перейдем к этому вопросу в следующем разделе.
Внизу представлены 20 конкретных языков, библиотек и технологических инструментов, с которыми, на взгляд работодателей, специалисты по обработке данных должны иметь опыт работы.

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

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

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

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


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


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

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

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

В целом, результаты схожи. И мое исследование, и исследование от Glassdoor сходятся на том, что на Python, R и SQL спрос наиболее высокий. Топы навыков также совпадают по составу в пределах первых девяти позиций, хотя точный порядок отличается.
Судя по результатам, по сравнению с первой половиной 2017 года степень востребованности R, Hadoop, Java, SAS и MatLab снизилась, а Tableau, напротив, стал более популярным. Этого следовало ожидать, если посмотреть хотя бы на результаты опроса разработчиков [8] от KDnuggets. В них ясно видно, что R, Hadoop, Java и SAS на спаде уже несколько лет, в то время как Tableau стабильно на подъеме.
С учетом этих выкладок я хотел бы предложить ряд рекомендаций для специалистов по работе с данными, которые уже вышли на рынок или только готовятся начать карьеру и хотя повысить свою конкурентоспособность.
Когда работодатель ищет сотрудника, который работает с Python, он скорее всего будет ожидать от кандидатов знакомства с основными библиотеками для обработки данных: numpy, pandas, scikit-learn и matplotlib. Если вы хотите освоить этот набор, рекомендую следующие ресурсы:
Если хотите сделать рывок в глубокое обучение, советую начать с 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
Нажмите здесь для печати.