Что ищут работодатели при создании объявлений о вакансиях в области науки о данных с языковым таргетингом?

В Интернете есть миллион сообщений, озаглавленных что-то вроде «R против Python: битва за науку о данных», в которых два языка противопоставляются друг другу, пытаясь увенчать «единый язык, который управляет ими всеми в науке о данных». Оба являются мощными инструментами, каждый со своими сильными сторонами (например, расширенные статистические библиотеки по сравнению с реализацией производственного кода); и в целом гораздо разумнее думать о том, как они дополняют друг друга, чем пытаться выбрать одно из них.

При этом при просмотре объявлений о вакансиях не все объявления о вакансиях в области науки о данных содержат и R, и Python в своем списке предпочтительных навыков. Это потенциально интересное сравнение: что ищут компании, нанимая специалиста по данным, свободно владеющего R, но не Python? Наоборот? Чтобы ответить на этот вопрос, я скопировал описания вакансий, названия и местоположения с популярного веб-сайта с объявлениями о вакансиях с двумя разными поисковыми запросами: один содержал термины наука о данных И R, но НЕ python, а другой содержал термины наука о данных И Python, но НЕ R. Результаты поиска вакансий на языке R дали примерно на 30% меньше результатов, чем поиск вакансий на языке Python. Неудивительно, что поиск, содержащий оба языка, дал гораздо больше совпадений, чем любой из запросов на конкретном языке.

Географические предпочтения для R и Python

В качестве первого шага я просмотрел разбивку публикаций по городам для 10 самых популярных городов для поиска вакансий как R, так и python. Когда я собирал данные, наибольшее количество публикаций на обоих языках было в Нью-Йорке и Бостоне (хотя через две недели я снова удалил сообщения, и Кремниевая долина взяла на себя работу с питоном, в то время как Нью-Йорк и Бостон остались неизменными для вакансий R). После первых двух городов дела начинают расходиться. Похоже, что в Вашингтоне, округ Колумбия, существует более высокий спрос на специалистов по обработке данных, свободно владеющих языком R, и более высокий спрос на ученых, работающих с данными, свободно владеющих языком Python, в Сан-Франциско. Я предполагаю, что спрос на специалистов по данным R в Вашингтоне обусловлен компаниями, ищущими специалистов по политическим данным, многие из которых, вероятно, имеют докторские степени в области политологии - области, в которой R имеет сильные корни.

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

Быстрый способ понять, чем различаются объявления для этих ролей, - это просто подсчитать количество инструментов и методов анализа данных, которые используются в каждом наборе объявлений о вакансиях. То есть, какие инструменты и методы используются вместе с заданиями в области науки о данных R? И наоборот, для работы в области науки о данных на Python. Ниже мы можем легко увидеть, сколько раз эти термины встречаются в облаке слов.

Когда вам кажется, что вы кричите «исследование» или «машинное обучение», облака слов начинают рисовать картину некоторых различий в рекламе. В объявлениях о вакансиях в области науки о данных R мы ясно видим, что наиболее часто используемым словом является «исследование», за которым следуют такие термины, как «SQL» и «статистика». В объявлениях о вакансиях в области науки о данных на Python наиболее часто идут «машинное обучение», за которым следуют «SQL», «исследования» и инструменты для работы с большими данными, такие как AWS и Spark.

Тематическое моделирование должностных инструкций

Мы можем глубже изучить содержание должностных инструкций, используя тематическое моделирование. После некоторой очистки текста, но до подбора модели, рекомендуется попытаться понять, сколько тем может быть уместно для модели, вместо того, чтобы просто выбирать произвольное число. Чтобы помочь с этим, мы можем обратиться к пакету «ldatuning» в R. После подачи ldatuning матрицы терминов документа (DTM) он вернет несколько различных показателей для оценки количества тем, по которым нужно двигаться вперед. График ниже представляет информацию из должностных инструкций R; похоже, около 25 тем могут быть разумным выбором. Результаты описаний Python были почти идентичны, поэтому 25 тем также использовались в моделях Python.

Ниже приведены результирующие темы, начиная с заданий R. Термины отсортированы в порядке убывания их веса по каждой теме. Некоторые из тем не очень интересны, поскольку они связаны с методами найма и льготами (например, 10, 13, 14, 17, 22) или даже с городом Нью-Йорк (6), хотя это имеет смысл, как и многие из там появляются объявления о вакансиях. Многие темы, похоже, представляют здоровье и здравоохранение (18, 23). Другие отражают научные исследования, особенно биологические и клинические исследования (2, 7, 25) - это помогает объяснить место Дарема, штат Северная Каролина, в списке, поскольку он является рассадником биотехнологических / фармацевтических исследований. Деловой мир также представлен темой 15, связанной с бизнесом в целом, 20, по-видимому, связанной с финансами, и темой 24, посвященной исследованиям рынка. Тема 5 может подтвердить вышеприведенную гипотезу относительно работы, связанной с политологией, поскольку она содержит термины, относящиеся к политике, правительству и опросам. Наконец, мы подошли к тому, что я называю общими темами науки о данных; например, темы 3, 8, 11, 16 и 18, которые охватывают такие темы, как командная работа, аналитика в целом, машинное обучение, статистика и создание баз данных.

Далее мы можем перейти к результатам анализа темы из описаний только на python. Игнорируя темы, касающиеся практики найма и льгот, мы видим, что возникают некоторые похожие темы. Например, тема 14 представляет исследования в области здравоохранения, 9 маркетинг, 11 финансы, 24 бизнес в целом, а у нас есть общие темы по науке о данных, такие как 4, 20 и 25, в которых упор делается на командную работу, машинное обучение и аналитику.

Теперь о различиях, и есть некоторые большие отличия. Это послужило переходом к упоминанию тем, связанных с большими данными (ха!). Тема 1 буквально содержит термин «большой» в дополнение к платформам (hadoop, spark), предназначенным для обработки больших данных; Тема 23 также, кажется, представляет большие данные в каком-то формате. Тема 21 посвящена облачным вычислениям, есть две темы, посвященные базам данных (10, 22), и несколько тем, связанных с разработкой программного обеспечения (15, 19).

Что мы узнали?

Конечно, есть много общего (например, SQL - данные должны где-то жить) между публикациями для специалистов по обработке данных, ориентированных на R, и специалистов по данным, свободно владеющих Python, но есть некоторые ключевые различия. На самом высоком уровне похоже, что сообщения, ищущие специалиста по обработке данных с опытом R, ищут академического подготовленного исследователя с большой долей опыта анализа. Эта мысль имеет смысл, поскольку R довольно доминирует в академических кругах, а также хорошо сочетается со многими тематическими исследованиями в описаниях вакансий R. Сообщения о поиске ученого данных, свободно владеющего питоном, похоже, ищут кого-то с большим опытом в области компьютерных наук или инженерии и соответствуют описанию инженера данных или инженера по машинному обучению.

На другом уровне, я думаю, различия, которые мы наблюдаем в содержании описаний, уже были сформулированы в сообщении Quora от 2014 года Майклом Хостером (нынешним директором по науке о данных в Stitchfix), где он объясняет два разных типа специалистов по данным:

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

Специалист по данным типа А может достаточно хорошо кодировать для работы с данными, но не обязательно является экспертом. Специалист по данным типа А может быть экспертом в области экспериментального проектирования, прогнозирования, моделирования, статистических выводов или других вещей, которым обычно преподают в отделах статистики. Вообще говоря, продукт работы специалиста по данным - это не «p-значения и доверительные интервалы», как иногда кажется академической статистикой (и как это иногда бывает для традиционных статистиков, работающих в фармацевтической промышленности, например). В Google специалисты по данным типа A известны под разными именами: статистик, количественный аналитик, технический аналитик по поддержке принятия решений или специалист по данным и, возможно, еще несколько человек.

Специалист по анализу данных типа B: буква B предназначена для строительства. Специалисты по данным типа B имеют общий статистический опыт с типом A, но они также являются очень сильными программистами и могут быть обученными инженерами-программистами. Специалист по данным типа B в основном заинтересован в использовании данных «в производстве». Они создают модели, которые взаимодействуют с пользователями, часто предлагая рекомендации (продукты, люди, которых вы, возможно, знаете, реклама, фильмы, результаты поиска). В Google специалиста по данным типа B обычно называют инженером-программистом. Специалисты по обработке данных типа B могут использовать термин «специалист по данным» только для обозначения самих себя, и, поскольку определение этой области постоянно меняется, они могут быть правы. Но я вижу, что этот термин используется чаще всего в том смысле, который я предлагаю здесь.

Различие между этими двумя типами также хорошо объяснено и расширено в другом посте среднего размера от Роберта Чанга. Мне кажется, что специалист по данным типа A довольно хорошо согласуется с тем, что мы узнали о публикациях для специалиста по данным R и ученого по данным типа B из объявлений о поиске специалиста по данным на языке Python. Совсем недавно AirBnB реструктурировала свое подразделение науки о данных на 3 ветви: Data Scientist-Analytics, Data Scientist-Algorithms и Data Scientist-Inference. Судя по приведенным здесь данным, похоже, что специалисты по данным, описанные в сообщениях на Python, будут хорошо подходить для ветви алгоритмов, специалисты по данным, изображенные в сообщениях R с ветвью Inference, и либо потенциально подходящие для трека Analytics.

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