«Инженеров данных заменит автоматика» и другие мифы о DE

Инженеры данных (англ. data engineer) готовят данные для анализа, машинного обучения и других целей. В деталях это означает множество операций с данными: сбор, хранение, обработка, интеграция, трансформация и представление в нужной для работы приложений и систем форме.

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

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


Мифы о работе инженера данных

Одним инженерам данных известно, чем занимаются инженеры данных. Поэтому вокруг профессии много мифов и стереотипов, даже среди работодателей. Разберём самые распространённые вместе с инженером данных из SberData (департамент управления данными). И оговоримся, что это не рейтинг: мифы идут не в порядке важности.

Миф 1. Дата-инженерам не нужно кодить

Миф появился, потому что инженер данных часто пользуется коробочными решениями. Это готовое no-code (от англ. «без кода») программное обеспечение, для работы с которым нужны минимальные знания языков программирования. 

No-code-инструменты позволяют управлять данными или упрощают создание их базовых структур. С no-code-инструментами можно быстро создавать и настраивать БД, таблицы, схемы и другие элементы.

Но программирование — существенная часть работы инженера данных. Оптимизировать производительность базы клиентов или обработать большой объём данных для маркетплейса невозможно без языков программирования и аналитики.

Миф 2. Наоборот, data engineering — это очень много кода

Противоположное первому мифу мнение: большая часть задач в data engineering связана с написанием кода. У некоторых дата-инженеров программирование и правда занимает 80% времени. Но на практике всё зависит от задачи. Например, если основная работа специалиста — проектировать архитектуру системы, то он чаще ревьюит код, чем пишет сам.

Миф 3. Data engineering — это просто ETL

Суть ETL-процесса (Extract, Transform, Load) — извлечь данные из различных источников, преобразовать в нужный формат и загрузить в хранилище. ETL-процессы нужны для обработки больших объёмов данных.

И хотя настраивать этот процесс — одна из основных задач инженера данных, она не единственная. Помимо этого нужно:

Миф 4. Инженеру данных нужен только SQL

SQL (Structured Query Language) — основной язык запросов для многих реляционных баз данных (БД). Реляционные БД организуют и хранят данные в таблицах, которые можно связывать.

Инженеры данных часто работают с реляционными БД. И SQL нужно знать, чтобы извлекать, фильтровать, сортировать или группировать данные, а также писать сложные запросы и создавать таблицы и БД. У SQL простой и понятный синтаксис, поэтому освоить можно быстро.

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

Аналогичная ситуация с инструментами. Когда данных много, SQL-операции замедляются, поэтому есть более подходящие программы:

Миф 5. Задачи инженера данных технические и однообразные

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

? Пайплайн (англ. pipeline) — это последовательность шагов и операций с данными: сбор, очистка, преобразование, агрегация и загрузка.

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

Кроме того, дата-инженеры, как и аналитики, могут визуализировать данные и создавать отчёты. Например, когда компании нужно оценить бизнес-метрики и увидеть тренды или спрогнозировать спрос и оптимизировать производственные планы.

Иллюстрации сгенерированы Midjourney
Иллюстрации сгенерированы Midjourney

Миф 6. Анализ данных и машинное обучение важнее data engineering

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

В то же время инженер данных влияет на результат, действуя «за кулисами». Его работа не менее важна, чем анализ данных или МО, и вот почему.

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

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

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

Без дата-инженера собрать и обработать данные тоже возможно. Но только этот специалист поможет компании справиться с большим потоком данных и построить инфраструктуру так, чтобы не было проблем на следующих этапах.

Миф 7. Инженеры данных нужны только в крупных компаниях

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

На деле data engineering важен любой компании, которая использует данные для работы: от небольшой консалтинговой фирмы до крупного интернет-магазина. Объёмы данных могут быть разными, а бизнесу в любом случае важно обрабатывать их качественно и быстро, чтобы принимать решения.

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

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

Миф 8. Data engineering можно полностью автоматизировать

Хранение и обработку данных можно автоматизировать: достаточно один раз спроектировать архитектуру, написать скрипты и настроить ETL-процессы.

Почему это не так — покажем на примерах:

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

Где актуальны навыки инженера данных

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

Что должен уметь инженер данных

Специалисту по data engineering нужны знания о проектировании систем обработки, основах программирования, базах данных, сетевых протоколах и не только.

Основные технические навыки, или хард-скиллы:

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


За подготовку и идею статьи благодарим ревьюера на курсе «Инженер данных» от Практикума и инженера данных в SberData Кирилла Дикалина, а также авторов курса и редактора Варвару Скопину.

@
06.06.2023 16:00 UTC
Первоисточник

Комментарии

@arheo_pterix
11.06.2023 15:45 UTC
-1

В статье слабо отражен самый важный момент всего смысла работы data-engineer- ов : deep learning. Построение и обучение нейронных сетей, отвечащих за правильный анализ огромных данных, а также нахождение скрытых закономерностей, вот ключевой момент и основная задача при работе с Big-data. Отчеты и анализы несомненно важны, но их построение, в том числе подготовка, это работа с известными показателями, работа с понимаемой упорядоченной информацией. Если мы знаем, как построить отчет или какими показателями надо оперировать, то по-большому счету работа data-ingineers не нужна, достаточно иметь технолога в прикладной области, который разбирается в процессах, задействющих анализируемые данные, разработчиков программирующих на сиквеле и администраторов, занимающихся оптимизацией самой бд. Очевидно сами авторы это разработчики и администраторы баз данных, и им не приходилось сталкиваться с обучением нейронных сетей, проблемами построения правильных проекторов на слоях, создания адекватных моделей и алгоритмов, способных заменть сотни часов deep-lerning-а и помогающих вовремя справляться с деградациями обученных сетей в результате трансформации рабочего обьема данных и изменением ее информационной насыщенности со временем.