Data Engineer и Data Scientist: какая вообще разница?

Data Engineer и Data Scientist: какая вообще разница?

Современные профессии

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

Разбираемся, в чём разница между этими специалистами, какие задачи бизнеса они решают, какими навыками обладают и сколько зарабатывают.

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

Data Engineer и Data Scientist: какая вообще разница?

Елена Герасимова

Руководитель факультета «Аналитика и Data Science» в Нетологии

Как различаются роли дата-инженеров и дата-сайентистов

Инженер данных — это специалист, который, с одной стороны, разрабатывает, тестирует и поддерживает инфраструктуру работы с данными: базы данных, хранилища и системы массовой обработки. С другой стороны, дата-инженер очищает и «причёсывает» данные для использования аналитиками и дата-сайентистами, то есть создаёт конвейеры обработки данных.

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

Главное различие между Data Scientist и Data Engineer состоит в том, что обычно у них разные цели. Оба работают для того, чтобы данные были доступными и качественными. Если дата-сайентист находит ответы на свои вопросы и проверяет гипотезы в экосистеме данных (например, на базе Hadoop), то дата-инженер создаёт пайплайн обслуживания алгоритма машинного обучения, написанного дата-сайентистом, в кластере Spark внутри той же экосистемы.

Инженер данных приносит ценность бизнесу, работая в команде. Он выступает важным звеном между различными участниками: от разработчиков до бизнес-потребителей отчетности. Также помогает повысить продуктивность аналитиков — от маркетинговых и продуктовых до BI.

Дата-сайентист принимает активное участие в стратегии компании и извлечении инсайтов, принятии решений, внедрении алгоритмов автоматизации, моделирования и генерации ценности из данных.

Data Engineer и Data Scientist: какая вообще разница?

Работа с данными подчиняется принципу GIGO (garbage in — garbage out): если аналитики и дата-сайентисты имеют дело с неподготовленными и потенциально некорректными данными, то результаты даже с помощью самых изощрённых алгоритмов анализа будут неверны.

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

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

Условно: если компании нужно подружить BI и ETL — загрузку данных и обновления отчётов, вот типичный legacy-фундамент, с которым придётся иметь дело Data Engineer (хорошо, если в команде кроме него будет ещё и архитектор).

Обязанности Data Engineer

  • Разработка, построение и обслуживание инфраструктуры работы с данными.
  • Обработка ошибок и создание надёжных конвейеров обработки данных.
  • Приведение неструктурированных данных из различных динамических источников к виду, необходимому для работы аналитиков.
  • Предоставление рекомендаций по повышению консистентности и качества данных.
  • Обеспечение и поддержка архитектуры данных, используемой дата- сайентистами и аналитиками данных.
  • Обработка и хранение данных последовательно и эффективно в распределённом кластере на десятки или сотни серверов.
  • Оценка технических компромиссов инструментов для создания простых, но надёжных архитектур, которые смогут пережить сбои.
  • Контроль и поддержка потоков данных и связанных систем (настройка мониторинга и алертов).

Существует ещё одна специализация внутри траектории Data Engineer — ML Engineer. Если коротко, то такие инженеры специализируются на доведении моделей машинного обучения до промышленного внедрения и использования. Зачастую модель, которая поступила от дата-сайентиста, является частью исследования и может не заработать в боевых условиях.

Data Engineer и Data Scientist: какая вообще разница? Профессия

Дата-инженер с нуля до PRO

Узнать больше

  • Научитесь автоматизировать работу с данными, настраивать мониторинги, создавать конвейеры обработки и схемы хранения данных
  • Получите знания, равноценные опыту 2‒3 лет самостоятельного изучения инжиниринга данных 

Обязанности Data Scientist

  • Извлечение признаков из данных для применения алгоритмов машинного обучения.
  • Использование различных инструментов машинного обучения для прогнозирования и классификации паттернов в данных.
  • Повышение производительности и точности алгоритмов машинного обучения за счет тонкой настройки и оптимизации алгоритмов.
  • Формирование «сильных» гипотез в соответствии со стратегией компании, которые необходимо проверить.

И Data Engineer, и Data Scientist объединяет ощутимый вклад в развитие культуры работы с данными, с помощью которой компания может получать дополнительную прибыль или сокращать издержки.

С какими языками и инструментами работают инженеры данных и дата-сайентисты

Ожидания от специалистов по обработке данных изменились. Раньше дата-инженеры собирали большие SQL-запросы, вручную писали MapReduce и обрабатывали данные с помощью таких инструментов, как Informatica ETL, Pentaho ETL, Talend.

В 2020 году специалисту не обойтись без знания Python и современных инструментов проведения вычислений (например, Airflow), понимания принципов работы с облачными платформами — использования их для экономии на «железе», при соблюдении принципов безопасности.

SAP, Oracle, MySQL, Redis — это традиционные для инженера данных инструменты в больших компаниях. Они хороши, но стоимость лицензий настолько высока, что учиться работать с ними имеет смысл только в промышленных проектах. При этом, есть альтернатива в виде Postgres — он бесплатный и подходит не только для обучения.

Data Engineer и Data Scientist: какая вообще разница?

Исторически часто встречается запрос на Java и Scala, хотя по мере развития технологий и подходов эти языки отходят на второй план.

Тем не менее, хардкорная BigData: Hadoop, Spark и остальной зоопарк — это уже не обязательное условие для инженера данных, а разновидность инструментов для решения задач, которые не решить традиционным ETL.

В тренде — сервисы для использования инструментов без знания языка, на котором они написаны (например, Hadoop без знания Java), а также предоставление готовых сервисов для обработки потоковых данных  распознавание голоса или образов на видео.

Популярны промышленные решения от SAS и SPSS, при этом Tableau, Rapidminer, Stata и Julia также широко используются дата-сайентистами для локальных задач.

Data Engineer и Data Scientist: какая вообще разница?

Возможность самим строить пайплайны появилась у аналитиков и дата-сайентистов всего пару лет назад. Например, уже можно относительно несложными скриптами направлять данные в хранилище на основе PostgreSQL.

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

Data Engineer и Data Scientist: какая вообще разница? Профессия

Data Scientist

Узнать больше

  • Научитесь строить и обучать предиктивные модели с помощью алгоритмов машинного обучения и нейросетей
  • Будете находить скрытые закономерности, прогнозировать развитие событий и оптимизировать ключевые бизнес-процессы

Зачем Data Engineer и Data Scientist работать вместе

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

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

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

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

В компаниях, которые ставят своей целью развитие культуры работы с данными и выстраивание бизнес-процессов на их основе, Data Scientist и Data Engineer дополняют друг друга и создают полноценную систему анализа данных.

В следующем материале расскажем о том, какое образование должно быть у Data Engineer и Data Scientists, какие навыки им нужно развивать и сколько зарабатывают специалисты.

Материал изначально опубликован на habr.


Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.

Data Engineer и Data Scientist: какая вообще разница?

Елена Герасимова

Руководитель факультета «Аналитика и Data Science» в Нетологии

Оцените статью

Средняя оценка 4.8 / 5. Всего проголосовало 43