Data Engineer: как организовать большие данные на пользу бизнесу
Об эксперте: Давид Григорян, ML Engineer в «МегаФоне», ментор онлайн-школы SkillFactory.
Кто такой дата-инженер
Дата-инженер (Data Engineer) — это специалист, который собирает и обрабатывает большие данные, загружает их в модель для анализа, а затем организовывает их хранение и дальнейшее использование в бизнесе. Это представитель самой быстрорастущей профессии на рынке Data Science.
Если дата-сайентист — это исследователь-экспериментатор, то дата-инженер — это технический организатор. Он помогает дата-сайентистам, отделу маркетинга и руководству компании получить нужные данные быстро и просто.
Чем дата-инженер отличается от дата-сайентиста
В Data Science сферы ответственности разных специалистов могут пересекаться и накладываться. Из-за этого возникает путаница между профессиями дата-инженера, дата-сайентиста и дата-аналитика.
Давид Григорян, ML Engineer в «МегаФоне»:
«Очень часто сферы ответственности специалистов в Data Science могут пересекаться. Более того, в каждой компании под каждой позицией могут понимать разные вещи. Дата-аналитик — больше про работу с данными, построение статистических гипотез и вычисление важных показателей для бизнеса. Дата-сайентист занимается математической частью: пишет аналитические модели для решения задач бизнеса с использованием больших данных, экспериментирует и пишет статьи. А вот дата-инженер готовит данные, понимает их природу: где и как они лежат. Дата-инженеры, как правило почти не погружены в алгоритмы машинного обучения».
Чем занимается дата-инженер
В процессе работы с данными дата-инженер присутствует на начальных и конечных этапах. Он занимается задачами, которые обозначают аббревиатурой ETL: достает данные (Extract), трансформирует и обрабатывает (Transform), загружает (Load). Его задача — организовать эти процессы в пайплайн («трубопровод», конвейерная последовательность обработки данных перед их загрузкой в модель), по которому будут двигаться потоки данных, чтобы их можно было использовать для принятия решений в компании. На конечном этапе работы с данными дата-инженер организует базу данных так, чтобы нужную информацию в любой момент можно было поднять и использовать снова.
Например, в локальной службе доставки еды задачей дата-инженера будет собрать и рассортировать данные о заказах, времени доставки, чеках клиентов. Затем он сортирует и оформляет эти данные так, чтобы ими было удобно пользоваться и они постоянно обновлялись. Далее эти данные анализирует дата-сайентист, чтобы получить ответы на вопросы бизнеса и помочь руководству или маркетингу принимать решения. К примеру о том, как обновить меню, удержать клиентов при помощи программ лояльности, повысить средний чек, оптимизировать работу курьеров.
Какие навыки нужны дата-инженеру
Чтобы организовывать пайплайны для получения данных, нужно уметь работать с базами, иногда — писать сервисы для некоторых процессов, визуализировать данные.
Вот список базовых навыков, которые нужны дата-инженеру:
- Знать SQL (Structured Query Language — язык структурированных запросов). Нужен, чтобы составлять запросы для извлечения данных.
- Программировать на Python, Java/Scala. Python пригодится в работе с таблицами, моделями, для создания веб-сервисов. На языках Java и Scala написаны все распространенные инструменты для работы с большими данными.
- Знать инструменты для работы с большими данными (Apache Spark, Kafka, Hadoop, Apache Cassandra).
- Знать типы баз данных (реляционные, колоночные), алгоритмов и структур для работы с ними.
- Уметь пользоваться Docker. Это инструмент контейнеризации, с помощью которого можно упаковывать разработанные на локальном компьютере сервисы и разворачивать их на любом другом компьютере.
- Работать с инструментами визуализации данных. Например, Tableau или ElasticSearch.
Давид Григорян:
«Из «жестких» навыков для дата-инженера наиболее важны сильное знание SQL, Python для предобработки данных. Нужно хорошо знать весь стек Hadoop (HDFS, Hive, Spark, прочие утилиты). Если говорить о «гибких» навыках — нужно все то же, что и любому ИТ-инженеру: легко коммуницировать с коллегами, уметь простыми словами объяснить результат своей работы бизнесу, тайм-менеджмент и умение корректно оценивать трудозатраты на проект. Также важно уметь быстро погружаться в новую предметную область, поскольку Data Science — это всегда приложение к какой-то практической сфере».
Откуда приходят в профессию
В профессию дата-инженера можно прийти из аналитики, при этом неважно, айтишная она или нет. Например, не-айтишных аналитиков в дата-инженеры может привести желание автоматизировать работу с таблицами и отчетами. В сфере ИТ в дата-инженеры приходят специалисты, которые уже неплохо знают Python и хотят развиваться в технической специальности.
Тренды профессии
Объем данных растет с каждым днем, а вместе с ним и потребность в дата-инженерах, которые упорядочат эти данные и сделают их доступными и полезными для бизнеса. По данным отчета DICE, в 2020 году профессия дата-инженера стала самой быстрорастущей в сфере ИТ: спрос на таких специалистов вырос на 50% по сравнению с 2019-м.
Исследование вакансий в сфере Data Science показывает, что в России спрос на дата-инженеров в 2021 году вырос на 127%.
Сегодня дата-инженеры нужны как гигантам вроде Google или Amazon, так и небольшим компаниям. Любой бизнес, у которого есть мобильное приложение или интернет-магазин, нуждается в качественной работе с данными, чтобы расти и развиваться. **Согласно статистике Zippia, активный найм дата-инженеров начинается с компаний, в которых работают от 100 до 500 сотрудников. Тем не менее, бизнесы с небольшими командами в статистике тоже присутствуют, хоть и занимают меньшую долю.
Наиболее востребованы дата-инженеры в крупных корпорациях, на втором месте — ИТ-сфера, за ней следуют финансы и стартапы.
Как стать дата-инженером
Чтобы начать учиться инженерии данных, нужно как минимум знать основы программирования на Python. Пройти курс для начинающих можно здесь. Также на ресурсе Codeacademy доступен бесплатный курс по SQL.
Давид Григорян:
«Курсы нужны, с ними гораздо проще вкатываться в отрасль. Но вместе с тем, они дают только необходимый фундамент. Дальше нужен боевой опыт».
Изучить алгоритмы данных можно на бесплатном курсе от Stepik. Подробные видеоуроки по работе с базами данных также можно найти на YouTube. Освоить инструменты Hadoop также бесплатно можно на курсе Stepik.
Чтобы поддерживать знания актуальными и глубже вникнуть в тему, послушайте Data Engineering Podcast, в котором состоявшиеся специалисты обсуждают инструменты и кейсы.