Одним инженерам данных известно, чем занимаются инженеры данных. Поэтому вокруг профессии много мифов и стереотипов, даже среди работодателей. Оговоримся, что это не рейтинг: мифы идут не в порядке важности.
Миф появился, потому что инженер данных часто пользуется коробочными решениями. Это готовое no-code
(от англ. «без кода») программное обеспечение, для работы с которым нужны минимальные знания языков
программирования.
No-code-инструменты позволяют управлять данными или упрощают создание их базовых структур. С
no-code-инструментами можно быстро создавать и настраивать БД, таблицы, схемы и другие элементы.
Но программирование — существенная часть работы инженера данных. Оптимизировать производительность
базы клиентов или обработать большой объём данных для маркетплейса невозможно без языков программирования
и аналитики.
Противоположное первому мифу мнение: большая часть задач в data engineering связана с написанием кода. У некоторых дата-инженеров программирование и правда занимает 80% времени. Но на практике всё зависит от задачи. Например, если основная работа специалиста — проектировать архитектуру системы, то он чаще ревьюит код, чем пишет сам.
Суть ETL-процесса (Extract, Transform, Load) — извлечь данные из различных источников, преобразовать
в нужный формат и загрузить в хранилище. ETL-процессы нужны для обработки больших объёмов данных.
И хотя настраивать этот процесс — одна из основных задач инженера данных, она не единственная. Помимо этого нужно:
SQL (Structured Query Language) — основной язык запросов для многих реляционных баз данных (БД).
Реляционные БД организуют и хранят данные в таблицах, которые можно связывать.
Инженеры данных часто работают с реляционными БД. И SQL нужно знать, чтобы извлекать, фильтровать,
сортировать или группировать данные, а также писать сложные запросы и создавать таблицы и БД. У
SQL простой и понятный синтаксис, поэтому освоить можно быстро.
Но SQL не покрывает все потребности дата-инженера. Например, парсинг требует манипуляций с текстом:
удаление лишних символов, разделение текста на отдельные элементы. SQL же предназначен для работы с
базами данных. В SQL попросту нет встроенных функций для таких операций.
Аналогичная ситуация с инструментами. Когда данных много, SQL-операции замедляются, поэтому есть
более подходящие программы:
По первым четырём мифам может казаться, что задачи дата-инженера скучные и автоматические, но на
практике они постоянно решают нестандартные задачи. Например, ищут новые способы оптимизировать
пайплайны, чтобы настроить обработку данных в реальном времени, провести интеграцию с разными
источниками или создать сложные алгоритмы обработки.
💡 Пайплайн (англ. pipeline) — это последовательность шагов и операций с данными: сбор, очистка,
преобразование, агрегация и загрузка.
В результате пайплайны справляются с большим объёмом данных за меньшее время, повышают качество
данных и могут масштабироваться, адаптируясь под изменения в бизнесе.
Кроме того, дата-инженеры, как и аналитики, могут визуализировать данные и создавать отчёты.
Например, когда компании нужно оценить бизнес-метрики и увидеть тренды или спрогнозировать
спрос и оптимизировать производственные планы.
Ни одна крупная компания не может работать без данных и определять стратегии развития. А машинное
обучение помогает в автоматизации, повышении эффективности и оптимизации операций.
В то же время инженер данных влияет на результат, действуя «за кулисами». Его работа не менее важна,
чем анализ данных или МО, и вот почему.
Во-первых, неправильно подготовленные или неполные данные приводят к ошибкам в анализе. В маркетинге
это может привести к неверной оценке эффективности рекламной кампании или к ошибке с целевой
аудиторией, а в финансах — к неточному прогнозу рыночных трендов и рисков.
В машинном обучении некачественные данные приведут к тому, что модели не справятся с прогнозами.
Например, если данные о предпочтениях пользователей содержат ошибки и пропуски, модель может
неправильно или несвоевременно рекомендовать товары и контент.
Во-вторых, если архитектура и инфраструктура больших данных не продуманы, нельзя передавать их на
анализ или машинное обучение. Нагрузка на серверы и задержка в обработке — только часть проблем.
Инфраструктура может «упасть», а некорректные операции приведут к сбоям, потере данных или
непредсказуемому поведению системы.
Без дата-инженера собрать и обработать данные тоже возможно. Но только этот специалист поможет
компании справиться с большим потоком данных и построить инфраструктуру так, чтобы не было проблем
на следующих этапах.
На первый взгляд, небольшому бизнесу основательный подход к хранению и обработке не нужен. Если
данных не так много, зачем тратить ресурсы на инфраструктуру и сотрудников?
На деле data engineering важен любой компании, которая использует данные для работы: от небольшой
консалтинговой фирмы до крупного интернет-магазина. Объёмы данных могут быть разными, а бизнесу в
любом случае важно обрабатывать их качественно и быстро, чтобы принимать решения.
Допустим, интернет-магазин носков становится популярным благодаря вирусному контенту в социальных
сетях. Число посещений и заказов резко растёт. Но оказывается, что система управления данными
неэффективна. Как следствие, заказы задерживают, а клиенты недовольны. В этом случае инженер может
продумать архитектуру, подсказать, как оптимизировать процессы, и выделить слабые места в инфраструктуре.
Но там, где небольшому бизнесу достаточно одного специалиста, крупные компании распределяют задачи
между несколькими специалистами или даже командами. Одна ответственна за сбор данных и настройку
системы, другая — за обработку и очистку, третья — за анализ и создание отчётов. Чем больше данных
у компании, тем больше ресурсов нужно для сбора, хранения, обработки и анализа данных.
Хранение и обработку данных можно автоматизировать: достаточно один раз спроектировать архитектуру,
написать скрипты и настроить ETL-процессы.
Почему это не так — покажем на примерах:
Требования рынка меняются быстро, а инструменты и технологии подстраиваются. В работе дата-инженера тоже появляются задачи, которые вскоре могут пополнить число мифов. Зафиксируем актуальные направления:
Специалисту по data engineering нужны знания о проектировании систем обработки, основах программирования,
базах данных, сетевых протоколах и не только.
Основные технические навыки, или хард-скиллы: