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

Как и с чем работает незаменимый специалист из сферы 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

Научитесь собирать данные из разных источников, помогайте аналитикам строить гипотезы и принимать бизнес-решения. Дополнительная скидка 5% по промокоду BLOG.

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

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

По мнению Максима Керемета, на российском рынке дата-инженер – это человек, который может все по чуть-чуть: и программировать, и работать с базами данных, и провести несложную аналитику (построить дашборд в 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 ее помощью удобно систематизировать, какими навыками вы уже овладели, а какие нужно подтянуть или выучить с нуля.

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

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

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

Курс

Data Engineering

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

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

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

Промокод BLOG + 5% скидки 

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

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

От 6900 Р/мес

24 мес

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

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

От 5750 Р/мес

6 мес

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

Курс по Data Engineering

От 11960 Р/мес

2,5

Подробнее о курсе
(рейтинг: 5, голосов: 4)
Добавить комментарий