Кто такой дата-инженер?

Как и с чем работает специалист из сферы Data Science

Дата-инженер – это человек, который организует потоки загрузки и обрабатывает данные. Как он это делает, что для этого нужно уметь, и насколько такая деятельность востребована, разбираемся с дата-инженером X5 Retail Group Максимом Кереметом.

Что делает дата-инженер?

Дата-инженер (Data Engineer) участвует в начальной и финальной стадиях анализа данных, обеспечивает их работу на инфраструктуре компании. Он занимается ETL-процессами, то есть обрабатывает данные: достает (extract) их из сырых источников, трансформирует (transform) и загружает (load).

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

Задачи в компаниях могут отличаться: где-то инженер только обрабатывает данные, а где-то выполняет и программистскую работу: внедряет новые модели и переучивает старые.

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

Дата-сайентист / дата-инженер / платформа управления данными, Источник

Чем дата-инженер отличается от дата-сайентиста?

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

Для того, чтобы дата-сайентисту было с чем экспериментировать, дата-инженер готовит данные. Они обычно скрыты в хранилищах. Когда модель готова, дата-инженер масштабирует успешные решения на гораздо бОльшие объемы чем тренировочный датасет

Модель также нужно периодически обновлять: делать отчеты, чтобы бизнес мог ежедневно использовать этот труд, по мере необходимости обновлять признаки. Этим тоже занимается дата-инженер.

Задачи дата-сайентиста и дата-инженера, Источник

Где он нужен?

Везде, где работа с данными помогает бизнесу развиваться и зарабатывать.

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

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

Пример задачи дата-инженера:

Коллеге дата-сайентисту нужно узнать, какие действия совершают пользователи, оставляющие больше всего денег в приложении такси. Чтобы дата-сайентист смог проанализировать историю их действий и сделать прогноз, дата-инженеру необходимо собрать нужную информацию из приложения. Для этого он:

  • регулярно собирает данные приложения с устройств пользователей,
  • собирает данные логов сервера, которые относятся к пользователю,
  • создает точку API, которая отразит историю событий любого пользователя.

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

Насколько это востребовано?

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

Согласно отчету DICE о технических вакансиях за 2020 год количество вакансий дата-инженера выросло на 50% по сравнению в 2019 годом. Это самый большой показатель среди других профессий.

Источник

Сколько получает дата-инженер?

Зарплаты зависят от уровня: в среднем джуниоры получают 100-150 тыс. руб, миддл-специалисты 150-250 тыс. руб, а синьор-профессионалы 250-300 тыс. руб, основываясь на данных из сообщества ODS.

На июнь 2021 года на hh.ru почти тысяча вакансий по запросу data engineer.

Курс

Data Engineering

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

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

Что ему нужно знать?

По мнению Максима Керемета, на российском рынке дата-инженер – это человек, который может все по чуть-чуть: и программировать, и работать с базами данных, и провести несложную аналитику (построить дашборд в Power BI или Tableau), и самостоятельно написать приложение, которое может работать.

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

Наиболее популярная система управления реляционной БД – PostgreSQL, для колоночных – ClickHouse, он быстрый и используется для аналитики и логирования событий.

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

Плюсом будет знание Scala — язык эффективен в промышленных масштабах, когда становится важна скорость обработки данных. В этом Python уступает.

Нужно владеть инструментами экосистемы Hadoop (система управления базами данных Hive или фреймворк Spark) – они помогают работать с большими данными, которые невозможно обрабатывать на одном локальном компьютере из-за объемов и производительности. Для них используются кластерные машины с более мощными показателями.

Чтобы запускать уже готовые сервисы, не требующие доработки, на разных компьютерах, дата-инженеру нужно уметь использовать Docker. Он «упаковывает» сервис, написанный на локальном компьютере, в контейнер, и его можно воспроизводить на компьютере коллеги или кластерной машине.

А для автоматизации работы в команде дата-инженер использует GitLab.

– Какова моя цель?
– Писать SQL-запросы
– Боже мой
Источник

Откуда приходят в дата-инженеры?

  • Из аналитики вне IT. Когда хочется автоматизировать и улучшить работу с таблицами и отчетами.
  • Из аналитики в IT. Если уже знакомы с Python на базовом уровне и хочется развиваться в техническом направлении, научиться программировать.

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

Плюсы и минусы профессии

Плюсы:

  • Высокие зарплаты.
  • Дефицит специалистов не только в России, но и за рубежом. Из-за того, что компании только начинают понимать ценность таких сотрудников, вакансия редкая, а значит и конкуренция низкая.
  • Широкое поле для развития в разных технических направлениях. «С навыками дата-инженера можно уйти в MLOps (введение моделей в продакшн). Можно стать DevOps – организовывать работу сервисов. Можно перейти в менеджмент: руководителем группы аналитиков или разработчиков и прокачивать софт-скиллы».

Минусы:

  • К профессии нет четких и универсальных требований. В вакансиях компании часто взваливают на дата-инженера обязанности коллег дата-сайентистов или аналитиков. Максим поделился своим опытом работы в небольшом стартапе: «Из-за того, что компания маленькая, нет организационных процессов, СЕО мог позвонить мне в девять вечера. И чем больше я делал, тем больше на меня сваливалось. Я шел работать на Python, делать сервисы, работать с разными видами баз данных, а по факту два месяца писал SQL-запросы».
  • Во время найма не всегда проверяют нужные навыки. Максим обратил внимание на закономерность: «Довольно распространенная практика, что людей тестируют на то, что не показывает их компетенцию. Проверяют знания алгоритмических задач, теории вероятности, которые проходят в техническом университете на первых курсах. Количество задач, которые ты решил по матстату и терверу не показывают, насколько ты умеешь ориентироваться в бизнес-представлениях, общаться с другими людьми, придумывать решение задачи и писать код».

Как начать?

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

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

Кроме того, на Coursera можно познакомиться с базовыми понятиями, научиться строить пайплайны (выстраивать весь ETL-процесс переноса данных из одного места в другое), разобраться в том, что такое базы данных и как устроены системы облачных хранилищ.

Можно попробовать самостоятельно определить траекторию обучения, ориентируясь на Road map профессии. C ее помощью удобно систематизировать, какими навыками вы уже овладели, а какие нужно подтянуть или выучить с нуля.

Курс

Data Engineering

Освойте перспективную профессию за 10 недель или усильте ваши навыки дата-инженера.

  • 20% теории и 80% практики
  • Постоянный контакт с опытными менторами
  • Подготовка к трудоустройству

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

Промокод “BLOG10” +5% скидки

Полезные ссылки:

  • сообщество ODS (Open Data Science) в Slack;
  • сабреддит про популярные вопросы профессии;
  • митап DE or DIE, где обсуждают технические вопросы;
  • сообщество в Telegram «Data Engineers»;
  • Data Engineering Podcast, где к каждому выпуску прикладывают ссылки на обсуждаемые инструменты и кейсы.

Либо можно пройти полноценный курс по Data Engineering. На нем есть главное – практика, благодаря которой вы сможете не просто в теории разобраться с программами и продуктами, которыми используют в профессии, но отработать технологии на реальных задачах и применить их в проекте.

Какие курсы вам подходят

Профессия «Data Scientist»

От 6900 Р/мес

24 мес

Подробнее о курсе

Профессия «Аналитик Данных»

От 5750 Р/мес

6 мес

Подробнее о курсе

Курс по Data Engineering

От 11960 Р/мес

2,5

Подробнее о курсе
Блог SkillFactory
Добавить комментарий