Data Scientist, Data Analyst или все же Data Engineer? Переводим на русский с эйчарского
Профессии, связанные с обработкой и анализом данных, часто путают. Требования к Data Scientist, Data Analyst и Data Engineer могут отличаться в зависимости от целей, которые конкретная компания хочет достичь с помощью данных. При этом различия между этими специализациями достаточно четкие, а их понимание поможет оценить свои компетенции и не тратить время, откликаясь на нерелевантные вакансии.
Как бизнес работает с данными
Прежде, чем перейти к специализациям, разберемся, как компании получают данные и где их хранят.
С того момента, как пользователь заходит на сайт, все его действия отслеживаются и фиксируются. Сайт следит за тем, какую музыку он слушал, в какой стране находится, сколько времени провел, читая тексты или смотря видео. Вся эта информация записывается и отправляется на сервер — он может быть локальным или облачным, в зависимости от объема данных и специфики компании.
На сервер чаще всего попадают «сырые», неструктурированные данные, которые не удастся получить, просто обратившись к ним. Сначала их нужно перенести в базу данных, предварительно преобразовав в нужный формат и очистив от лишней информации. Например, перевести данные, записанные в строку, в табличный формат, выровнять их в соответствии с требованиями JSON и проверить на достоверность.
Процесс очистки и преобразования данных в удобный формат называется ELT — это аббревиатура, которая расшифровывается как извлечение (extract), преобразование (transform) и загрузка в базу данных (load).
До этого этапа разделения на Data Scientist, Data Analyst и Data Engineer не существует — очисткой и преобразованием данных занимаются все перечисленные специализации. Различия зависят от того, какие именно действия нужно выполнять с данными.
Data Analyst
На основе данных, собранных в прошлом, аналитик оценивает текущую ситуацию и отвечает на вопросы «Почему сейчас происходит именно это?», «Каковы причины?», «Хорошо ли работает продукт?», «Что мы можем сделать, чтобы избежать/достичь чего-то?».
Data Analyst может делать трендовые предсказания, но его основная задача — следить за тем, как изменилась ситуация за определенный период времени. Для этого ему нужно глубоко разбираться в метриках и их взаимодействиях друг с другом, знать язык программирования SQL для работы с базами данных и уметь визуализировать результаты своих исследований.
Рассмотрим его работу на примере музыкального стримингового сервиса. В обязанности аналитика в числе прочего входит отслеживание изменений показателей, связанных с поведением пользователей, удобством интерфейса и оценка успешности проведения рекламных кампаний.
Data Scientist
Эта профессия сосредоточена не на анализе настоящего, а на предсказании будущего. Data Scientist строит модели машинного обучения, с помощью которых старается найти зависимости и на их основе создать новые продукты.
В примере со стриминговым сервисом Data Scientist решает бизнес-задачу, как рекомендовать композиции, которые понравятся пользователю. В частности, повышает точность существующих рекомендательных алгоритмов, чтобы увеличить возвращаемость клиента и время прослушивания музыки.
Если для Data Analyst понимание алгоритмов машинного обучения желательно, то для Data Scientist это обязательное требование. Такому специалисту нужно знать большое количество инструментов и методов построения моделей, а также математику и статистику. Кроме того, ему необходимы глубокие знания в программировании, поскольку основной продукт его деятельности — это код.
Стоит отметить, что Data Scientist — это широкий спектр профессий, в числе которых распознавание лиц, оптимизация поисковых алгоритмов, обработка естественного языка и другие. Каждая из них имеет свои особенности — некоторые близки к тому, чем занимается Data Analyst.
Data Engineer
Если две предыдущие специализации делают акцент на использовании данных, то Data Engineer заботится об их подготовке. Он отвечает на вопросы «Какие данные получают Data Analyst и Data Scientist?», «Как данные о поведении пользователя поступают в базу данных?», «Как убедиться, что они отражают реальность?».
Data Engineer строит инфраструктуру хранения и следит, чтобы данные, собранные компанией, были доступны Data Analyst и Data Engineer. В его зону ответственности входит проверка данных на соответствие требованиям — своевременности, чистоте, структурированности и другим.
Такому специалисту кроме знания языка SQL нужно разбираться в облачных вычислениях и программировании.
Заключение
Разделение на специализации скорее теоретическое, чем практическое — оно помогает понять, в какую сторону стоит двигаться начинающему специалисту и на какие вакансии обращать внимание.
В реальном мире один человек в зависимости от требований, навыков и размера компании может совмещать в себе одну и более ролей. Например, Data Scientist может выполнять задачи, которыми обычно занимается Data Analyst, а также поднимать новые сервера и разворачивать кластеры — то есть выполнять действия, которые входят в зону ответственности Data Engineer.
При устройстве на работу может произойти так, что начинающему специалисту придется заниматься аналитикой, моделями и выполнять небольшую часть работы Data Engineer. А его коллега возьмет на себя, например, дата-сайентистские и инженерные задач.
Поэтому некоторые школы программирования при обучении не делают упор на одну из специализаций, а стараются дать знания, которые позволят совмещать разные профессии, связанные с обработкой и анализом данных. Например, студенты Elbrus Bootcamp после выпуска могут работать и как Data Analyst, и как Data Scientist. Для того, чтобы откликаться на вакансии, связанные с Data Engineer, нужно будет получить дополнительные знания и углубить существующие.