Гарри Поттер и инженеры данных

Андрей Ларионов
Инженер и архитектор данных, преподаватель Mathshub
Гарри Поттер и инженеры данных

Представьте себе такую ситуацию: устрашающего вида колдун стоит перед кассой в баре «Кабанья голова» в Хогсмиде и заказывает свой любимый огневиски. В это же время в Лондоне в Министерстве Магии один из его сотрудников, вероятно это был Перси Уизли, захотел подсчитать употребление сливочного пива несовершеннолетними учениками школы Чародейства и волшебства Хогвартс за всю историю. И запустил «заклинание» типа такого:

SELECT SUM(quantity) FROM orders AS o INNER JOIN products AS p ON o.product_id = p.product_id INNER JOIN customers AS c ON o.customer_id = c.customer_id WHERE c.age < 17 AND p.product_name = ‘Butterbeer’;

Естественно, что «заклинание» он запустил в базах данных касс всех заведений Хогсмида, включая «Кабанью голову». Трактиру как минимум 70 лет, покупателей наверняка было немало, так что неудивительно, что касса подвисла и перестала реагировать на что-либо. Колдун, взбешенный долгим ожиданием, достает из кармана волшебную палочку и… превращает бармена в жабу. Можно ли было избежать подобного?

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

В своей предыдущей статье «Гарри Поттер и большие данные» я говорил о том, что в результате роста объема данных и частоты обращения к ним, системы для обработки разделились на 2 вида: OLTP и OLAP.

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

Существует множество определений профессии. Мне больше всего нравится то, которое дали авторы книги «Fundamentals of Data Engineering»: Инженеры данных — это специалисты по разработке, вводу в эксплуатацию и сопровождению систем и процессов по извлечению данных из различных источников и предоставлению их в удобном для дальнейшего использования виде, например, системами аналитики или машинного обучения (мой вольный перевод).

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

Также очевидно, что ETL/DWH/DataOps/Analytics-разработчики и инженеры — это фактически тоже инженеры данных, просто они отвечают либо за какой-то определенный этап потока данных, либо находятся на другом этапе движения по матрице компетенций.

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

Гарри Поттер и инженеры данных

В квиддиче их можно сравнить с охотниками: они действуют по всему периметру игрового поля, обладают наиболее широким набором навыков. Они должны хорошо летать на метле, контролировать мяч, уметь читать игру, обладать хорошим таймингом и играть в пас. Это абсолютно командные игроки, готовые к тому, что в итоге вся слава все равно достанется аналитику, поймавшему снитч.

Основные навыки

Из определения можно выделить основные навыки: SQL, инструменты для извлечения данных, ETL/ELT-инструменты, оркестраторы потоков данных, системы и подходы к хранению данных.

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

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

Одно могу сказать точно: если не знаете, с чего начать, начните с SQL — он еще долго будет основным языком для трансформации данных.

Главные же, на мой взгляд, навыки инженера данных в современном мире разнообразных подходов и технологий — любопытство и гибкое, открытое, но вместе с тем системное мышление. Хорошим подспорьем будет умение разбираться в предметной области. Если у вас это есть, с изучением технологий проблем не будет.

Нужно ли инженеру данных специальное образование в сфере IT?

Сложный вопрос. Оно точно лишним не будет, но, на мой взгляд, гораздо важнее умение учиться и склонность к продолжительному обучению. Я знаю многих прекрасных инженеров данных, пришедших в профессию из достаточно далеких от IT сфер. В мире Гарри Поттера таких скорее всего назвали бы «грязнокровками». Им порой не хватает «базы», но они берут другим: умением находить правильных людей, выстраивать рабочие отношения, они хорошо знают свои сильные стороны и зоны роста, что позволяет им быть эффективными в решении задач. «Базу» они набирают в ходе работы.

Гарри Поттер и инженеры данных

Пример

Очень простой пример, иллюстрирующий работу инженера данных — момент из книги/фильма «Гарри Поттер и Кубок Огня», когда профессор Дамблдор извлекает из своей головы (источник данных) воспоминание при помощи волшебной палочки (ETL-инструмента) и укладывает его в озеро данных (омут памяти). После чего Гарри Поттер (аналитик данных) приступает к анализу.

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

1616
9 комментариев

Вот такие статьи должны попадать в популярное. Это большой труд

6

вот абсолютно солидарна! статья просто супер!

Очень понятно и интересно! Спасибо:)

4

классное сопоставление с книгами о Гарри Поттере ,понятно и доступно воспринимается информация

3

Обалдеть! Как круто написано, на примере всем известного произведения объяснить непростую тему для чайников- это просто мастерство! Особенно понравилось про омут памяти)

2

Спасибо, хочется, чтобы мир больших данных стал ближе для людей)

Статья огонь) приятный у вас слог

2