Любить и понимать данные: кто такие дата инженеры и как им расти

Аналитика больших данных стала «новым черным» в бизнесе, а «дата пайплайн» в компаниях звучит чаще, чем «мы сломали прод». Так в чем же особенность и почему об этом все говорят? 

Эван Томас, Lead Software Engineer в компании Tilting Point, рассказал о задачах дата инженеров, особенностях их профессии, а также вместе со своей командой поделился полезными ресурсами для обучения, которые помогут профессиональному росту в дата инженерии.

Какие цели у дата инженеров?

«Функции дата инженеров напрямую зависят от особенностей бизнеса, но все же имеют много общего. Одной из главных задач является создание систем для сбора и обработки данных. Частью процесса является валидация данных, которая необходима для их преобразования и дальнейшего использования в R&D, моделях машинного обучения, командами Data Science и бизнес аналитиками. Мы делаем то, что помогает бизнесу развиваться. С технической стороны, необходимо создавать достаточно универсальные решения, а не только заточенные под один конкретный источник данных. Также здесь важны гибкость и производительность продукта. Мы постоянно задаемся вопросами — как сделать нашу работу быстрее? Как сэкономить расходы? Как сделать систему более удобной для разных команд? Как обеспечить надежную работу с источниками данных?», — Эван Томас, Lead Software Engineer в компании Tilting Point.

Какие главные технологические тенденции в дата инженерии?

Я бы выделил две главных тенденции сферы прямо сейчас.

  1. Первая – использование таких инструментов как DBT (data build tool), которые позволяют расширить круг специалистов, которые могут работать с данными и достаточно автономно строить ETL (Extract Transform Load) pipelines – логические цепочки обработки данных. С помощью DBT, дата аналитики могут создавать собственные дата пайплайны, а инженерам нужно поддерживать инфраструктуру и загружать данные в систему. Этот подход значительно облегчает работу и у инженеров появляется больше времени для решения более сложных задач и работы над самой дата платформой.
  2. Вторая – переход от Data Lakes и Data Warehouses к Lake Houses. Индустрия переходит от данных в BigQuery, Redshift и Snowflake к более децентрализованным системам, которые берут лучшее от существующих решений. К примеру, в нашей работе мы используем технологию Delta Lake. 

Lake House – новый термин в индустрии, объединяющий в себе структуру данных и элементов управления данными, аналогичных Data Warehouses, по типу экономичного хранения данных, используемого для классических Data Lakes.

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

Главной чертой хорошего дата инженера является базовое умение решать сложные инженерные задачи, разбивая их на простые, управляемые части. Из-за специфики работы с Big Data, очень важно проектировать ПО с большим запасом адаптивности к изменениям. 

Главными soft skills, помимо коммуникации, являются внимание к деталям и любопытство. Что касается hard skills, то для работы дата инженером важны такие навыки:

  1. Экспертное знание SQL.
  2. Опыт программирования помимо SQL. Самыми востребованными являются Python и Scala.
  3. Работа с базами данных – проектирование, конфигурация, знание нюансов движков, исправление неполадок. Популярные СУБД: MySQL, PostgreSQL, Oracle, MongoDB.
  4. Владение инструментами оркестрации задач: AirFlow, Prefect, Oozie.
  5. Понимание того, каким образом хранятся большие объемы данных в Redshift, BigQuery, Snowflake, Delta Lake.
  6. Владение подходами и инструментами обработки данных в больших масштабах: Redshift, Spark, Hadoop.
  7. Умение разобраться в том, как устроен конкретный бизнес, как эта система зарабатывает деньги и что для этого важно делать.

Моим любимым рабочим инструментом для оркестрации является AirFlow, а для обработки больших объемов данных – Spark. Эти инструменты позволяют с легкостью строить и управлять потоками данных, используя наиболее удобный для вас язык программирования. Среди языков программирования я бы выделил Scala.

Где и как учиться дата инженерам?

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

  1. Первый – переход от работы с SQL запросами или администрирования СУБД к построению ETL pipelines. Это довольно стандартный способ обучения: писать SQL запросы, разбираться в аналитической части и предназначении данных и перейти к построению самих потоков данных. Здесь обязательно освоить один из языков программирования.
  2. Второй – переход к дата инжинирингу с бэкенд инженерии. Это достаточно распространенная практика, так как большинство принципов работы этих профессий применимы друг для друга. Именно «второй сценарий» произошел в моем случае.

Вместе с командой дата инженеров Tilting Point мы подобрали список полезных ресурсов для обучения и развития.

Книги:

  • «Чистый Код», Роберт С. Мартин – отличная книга, которая научит качественно писать код.
  • «Паттерны проектирования», Эрих Гамма — книга о том, как сделать крутую архитектуру. 
  • «Концепты систем баз данных седьмое издание», Авраам Зильбершац.
  • «Высоконагруженные приложения», Мартин Клеппман — в этой книге вы найдете ключевые принципы, алгоритмы и компромиссы при разработке высоконагруженных систем для работы с данными.
  • «Принципы организации распределенных баз данных», М. Тамер Есу — в книге представлено подробное описание распределенных и параллельных баз данных.
  • Learning Spark: Lightning-Fast Big Data Analysis, Холден Карау — полезная книга для начинающего инженера. В книге детально рассматривается вся инфраструктура Spark, концепции работы, API, типы операций, структуры данных. 

Блоги:

  • Towards Data Science — платформа с полезными статьями от комьюнити разработчиков.
  • Functional Data Engineering Post — блог создателя Apache Superset и Apache Airflow.
  • InfoQ — блог с подборками статей от разработчиков и программистов на всевозможные тематики IT-сферы.
  • Medium Spotify Insights — интересный блог о Spotify: от UI/UX дизайна до аналитики. Для дата-инженеров особенно интересно почитать про доменную область, как аналитики в Spotify работают с данными, а так же как настроены процессы по обработке этих данных.
  • Medium Airbnb Engineering — отличный ресурс для программистов и дата инженеров от компании, известной своими стандартами качества кода и данных.

Подкасты:

  • Data Engineering Podcast — еженедельный подкаст с Тобиасом Мейси о неочевидных подходах в работе с данными, дата менеджменте и детальными разборами реальных кейсов.
  • Software Engineering Daily — подкаст, который дает возможность слушать новое интервью о сфере IT каждый день.

Telegram-каналы:

  • Spark in me — канал с информацией о сфере данных, содержащий много ссылок на интересные статьи, видео и блоги.
  • DataEng — канал про дата инжиниринг и распределенные системы. Все, что вы хотели знать про построение инфраструктуры для хранения, обработки и эффективного анализа гигантского объема данных.
  • «Инжиниринг Данных» — канал для всех, кто интересуется или работает с данными и аналитикой.

А также, мы в Tilting Point разыгрываем 3 premium билета на конференцию для дата-инженеров — AI and Big Data Online Day». Все остальные, кто заполнит форму полезной информацией ниже – получат дисконт 50% на премиум версию билетов.

Для этого всего лишь нужно поделиться с нами ресурсами для обучения и развития в области дата инженерии и Big Data и получить рассылку с дополнительными ресурсами.

Источник: ain.ua



Самые актуальные новости - в Telegram-канале

Читайте также

Вверх