AI, данные и инженерия
Data Engineer
Data Engineer — это инженер, который строит пайплайны и хранилища данных, на которые опираются аналитика, ML-модели и сам продукт.
Также называют: Big Data Engineer, Data Platform Engineer, ETL Developer, Data Infrastructure Engineer.
Кто такой Data Engineer и чем он занимается?
Data Engineer — это инженер, который строит и поддерживает инфраструктуру, по которой данные движутся в компании: от событий в приложении и баз сервисов до хранилища, где с ними работают аналитики и модели. Если данные опаздывают, теряются или не сходятся, неверными становятся все решения на их основе, поэтому его работа незаметна, пока всё в порядке. Типичные задачи:
- собирает данные из сервисов, событий продукта и внешних источников;
- строит пакетные и потоковые пайплайны и преобразования;
- проектирует хранилище или lakehouse и модели данных в нём;
- настраивает проверки качества данных и алерты, чтобы поломку замечали раньше аналитиков;
- управляет доступами, стоимостью вычислений и хранения.
Когда компании нужен Data Engineer?
Data Engineer нужен, когда данных становится больше, чем можно собрать вручную, а аналитики тратят половину времени на выгрузки и сверку цифр. Частые триггеры: разные отчёты показывают разную выручку, запросы к базе продукта начали мешать самому продукту, компания готовится запускать ML и обнаруживает, что данных для обучения нет в пригодном виде. Ещё один повод — переезд на новое хранилище или в облако. Если данных мало и все вопросы закрываются одной базой и BI-инструментом, первым лучше нанять Product Analyst, который сам настроит простую выгрузку.
Чем Data Engineer отличается от Data Scientist?
Data Engineer отличается от Data Scientist тем, что строит систему, которая доставляет данные, а не извлекает из данных выводы. Data Engineer отвечает за то, чтобы данные были полными, свежими и правильными; Data Scientist использует их, чтобы отвечать на бизнес-вопросы и строить модели. Analytics Engineer стоит между ними: он работает с моделями данных и метриками внутри хранилища, но не строит инфраструктуру под ним.
Data Engineer и смежные роли: сравнение
| Data Engineer | Data Scientist | ML Engineer | |
|---|---|---|---|
| Отвечает за | Доставку и качество данных | Выводы и модели на данных | Модели в продакшене |
| Главный результат | Надёжные пайплайны и хранилище | Решение, принятое на основе данных | Работающий ML-сервис |
| С кем работает | Backend-команды, аналитики, ML | Бизнес, Product Manager | Data Scientists, Backend-команда |
Почему Data Engineer сложно нанять?
Data Engineer сложно нанять, потому что под одним названием скрываются инженеры с очень разным масштабом опыта, а разница видна только при глубокой технической проверке.
- Многие Data Engineers поддерживали готовые пайплайны в известном инструменте, но никогда не проектировали платформу с нуля.
- Инженеров, которые строили стриминг на больших объёмах, заметно меньше, чем тех, кто работал только с пакетной обработкой.
- Стек сильно различается от компании к компании, и опыт в одном облаке или оркестраторе часто принимают за общий уровень.
- Сильных кандидатов с опытом платформ данных под большие объёмы активно удерживают, и на вакансии они откликаются редко.
Что выяснить до найма Data Engineer?
- Что нужно: построить с нуля, перенести или починить? Для каждой задачи нужен свой опыт, и человек, который отлично поддерживает систему, может не справиться с миграцией.
- Пакетная обработка, стриминг или и то и другое, и какие объёмы? От этого зависит, в каком пуле искать и насколько он узкий.
- Какой стек фиксирован, а какой можно поменять? Жёсткое требование к конкретному инструменту часто сужает поиск без пользы для дела.
- Кто главные потребители данных: аналитики, ML или сам продукт? Если данные идут прямо в продукт, требования к надёжности ближе к backend-разработке.
- Это первый Data Engineer или найм в существующую команду? Первому придётся принимать архитектурные решения в одиночку, и нужен более сеньорный профиль.
Где искать Data Engineer?
Data Engineers чаще всего приходят из финтеха, e-commerce, маркетплейсов, adtech и продуктовых компаний с большими объёмами данных, а также из Backend Developers, которые ушли в данные. Сильный сигнал в профиле — миграция или платформа, которую человек спроектировал сам, с понятным масштабом и результатом, или вклад в open-source инструменты для данных. NEWHR ищет таких кандидатов по результатам работы, а не по откликам на вакансию.
Как проверить Data Engineer на интервью?
Data Engineer проверяют задачами на SQL и код, а затем кейсом на проектирование системы под ситуацию компании. В кейсе кандидат строит пайплайн для конкретных источников и объёмов, решает, что делать с опоздавшими и задублированными событиями, и объясняет, как узнать о поломке раньше аналитиков. Со стороны компании участвуют Head of Data или ведущий Data Engineer и кто-то из главных потребителей данных.
Сильные сигналы:
- рассказывает, что ломалось в его системах в продакшене и что пришлось переделать;
- думает о стоимости вычислений и хранения, а не только о скорости;
- спрашивает, кто и как будет пользоваться данными.
Красные флаги:
- знает инструменты, но не может объяснить, почему выбрал именно их;
- не думает о качестве данных, пока об ошибке не сообщат пользователи;
- предлагает стриминг там, где хватит пакетной загрузки раз в сутки.
Сколько длится поиск Data Engineer?
Первых кандидатов на роль Data Engineer показываем через 5–7 дней после брифа.
Смежные роли
- Data Scientist — использует данные для выводов и моделей, а не строит их доставку.
- ML Engineer — выводит модели в продакшен и зависит от данных, которые готовит Data Engineer.
- Product Analyst — отвечает на продуктовые вопросы на данных из хранилища.
- Crawling Engineer — добывает данные из интернета, которые никто не отдаёт по API.
- CDO (Chief Data Officer) — отвечает за стратегию данных и руководит командами данных.