Когда я изучал физику, мне часто приходилось искать в Google причудливую техническую терминологию. И когда я это делал, чаще всего первым попаданием была статья в Википедии.

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

Я думаю, что многие советы по карьере в области науки о данных (или советы по поиску работы / подготовке к собеседованию) подчиняются схожему закону: есть посты, предназначенные для начинающих, посты для опытных инженеров-программистов и посты, предназначенные для того, чтобы помочь младшим специалистам по данным отточить свои навыки. Из-за всего этого шума многим начинающим специалистам в области данных трудно понять, куда вкладывать свое время, когда они собираются перейти в эту область.

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

Категория 1: полные новички

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

Если это не так, вот несколько советов, если вы хотите заняться наукой о данных сегодня и у вас еще нет опыта программирования / STEM:

  • Прежде всего, сохраняйте непредвзятость. Если вы полный новичок, то по определению вы на самом деле не знаете, что такое наука о данных , поэтому вполне возможно, что это не та работа, которая вам нужна. Обратитесь к некоторым аналитикам данных в LinkedIn и предложите им выпить кофе и поболтать. Следите за подкастом по науке о данных. Стать специалистом по обработке данных требует значительных затрат времени и усилий, поэтому нырять с головой только потому, что вы думаете, что беспилотные автомобили - это круто, * не * веская причина делать решительный шаг. Убедитесь, что вы понимаете менее выдающиеся аспекты науки о данных, такие как обработка данных и построение конвейеров данных, которые составляют большую часть повседневной работы специалиста по данным.
  • Если вы решите двигаться вперед - отлично! Первое, что вам нужно сделать, это изучить Python. Пройдите MOOC и как можно скорее создайте базовый проект. Когда вы освоите свои навыки работы с Python, научитесь работать с записными книжками Jupyter и пройдите несколько МООК по науке о данных. Если вам нужны более конкретные инструкции, этот пост в блоге представляет собой отличный способ обучения.
  • Ориентация на должность специалиста в области науки о данных - не обязательно лучшая идея, если вы действительно начинаете с нуля. Вместо этого стремитесь к более низкому результату: функции визуализации данных или аналитики данных пользуются большим спросом и являются более доступными способами выхода на рынок. Они часто предполагают совместную работу с аналитиками данных и открывают возможность горизонтального движения в этом направлении, как только вы приобретете некоторый опыт.

Как брендировать себя. Если вы дойдете до того момента, когда будете готовы подавать заявление о приеме на работу, вы можете быть удивлены, узнав, что создание личного бренда необычайно важно в науке о данных. И вы можете беспокоиться о том, что из-за того, что у вас нет профессионального опыта или ученой степени в области CS, брендинг может стать проблемой. Но на самом деле это может быть вашим самым большим преимуществом бренда: вы - разработчик-самоучка / специалист по обработке данных, на которого компании могут рассчитывать, чтобы быстро учиться и усердно работать ™. Загвоздка в том, что вы должны соответствовать этому образу: это крутой холм, на который нужно подняться, но награда определенно того стоит.

Категория 2: инженеры-программисты

Вероятно, 20% начинающих специалистов по данным, с которыми я столкнулся, - инженеры-программисты. С одной стороны, наличие опыта развертывания кода в производственной среде и работа с командами разработчиков могут быть большим преимуществом. С другой стороны, спрос на разработчиков fullstack настолько высок, что компании иногда в конечном итоге подталкивают инженеров-программистов в этом направлении, даже если роль, на которую они были наняты, была связана с «наукой о данных» на бумаге. Так что вам лучше избегать того, чтобы вас считали инженером-программистом, а не специалистом по данным.

Некоторые другие мысли:

  • Если вы этого не сделали, подумайте о том, чтобы сначала перенести вашу текущую позицию в сторону, более ориентированную на серверную часть / базу данных. Более подробное знакомство с конвейерами данных - хорошее начало, которое может помочь вам сформировать базовый набор навыков работы с данными. Это также позволяет вам провести ребрендинг и представить себя опытным обработчиком данных.
  • Инженерия машинного обучения, вероятно, является ближайшей смежной ролью, связанной с наукой о данных, что упрощает переход к ней. Целевые роли, которые делают упор на развертывание моделей или их интеграцию в существующие приложения, поскольку они наиболее эффективно задействуют ваш существующий набор навыков. Позже вы всегда можете удвоить усилия по разработке моделей, но это отличный способ выйти на новый уровень.
  • Скорее всего, вам придется разрабатывать проекты машинного обучения или науки о данных, чтобы произвести впечатление на работодателей. Используйте свои навыки разработки программного обеспечения, интегрируя их в приложения, которые вы можете продемонстрировать рекрутерам и техническим руководителям. Это может быть особенно эффективным, потому что не оставляет ничего для воображения и подчеркивает ваш потенциал как аналитика данных.
  • Следует иметь в виду: вам почти наверняка сократят зарплату в переходный период. Даже старшие инженеры-программисты обычно переходят на младшие должности, когда переходят к науке о данных, но удивительное количество из них не учитывает это при принятии решения сразу же и разочаровывается, когда начинают поступать предложения.

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

Категория 3: новые дипломы по CS, математике или физике

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

Следует помнить о нескольких вещах:

  • Нет, R, который вы выучили во время учебы, будет недостаточно. И нет, если вы физик и делаете ставку на свои навыки MATLAB или Mathematica, чтобы получить работу в промышленности, это тоже не поможет. Просто изучите Python.
  • Вещи, о которых вы, вероятно, не знаете и которые вам нужно изучить как можно скорее: совместный контроль версий (научитесь работать с другими людьми с помощью GitHub), контейнеризация (научитесь использовать Docker) и DevOps (узнайте, как развертывать модели на облако с AWS или подобным сервисом). SQL также необходим.
  • Изучите разработку на Python через тестирование. Узнайте, как использовать строки документации. Узнайте, как разбить код на модули. Если вы еще этого не сделали, узнайте, как работать с записными книжками Jupyter.
  • Если вы занимаетесь математикой, глубокое обучение * может * быть хорошим направлением для исследования. Но, возможно, вам все же будет проще начать с более традиционной роли в области науки о данных типа scikit-learn, а позже перейти к глубокому обучению. Самое главное, чтобы вы попали в индустрию и как можно скорее начали работать над производственным кодом.

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

****

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

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