Аналитическая инженерия: новая роль в данных

Откуда взялась роль analytics engineer и почему она стоит ровно между инженером данных и аналитиком.

Analytics engineer — специалист, который превращает сырые данные в чистые, проверенные, задокументированные витрины, применяя инженерные практики (версионирование, тесты, ревью) к SQL-трансформациям.

Почему появилась эта роль

Раньше мир данных делился на две части. Data engineer строил трубы: доставлял данные из источников (приложения, API, базы) в хранилище, занимался Airflow, Spark, Kafka, надёжностью и масштабом. Аналитик сидел на другом конце трубы и писал SQL-запросы, строил дашборды, отвечал на вопросы бизнеса. Между ними была пропасть: инженер не знал, какие именно витрины нужны бизнесу, а аналитик не умел и не хотел поддерживать инженерную инфраструктуру.

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

Analytics engineer — это человек, который взял лучшее из обоих миров. Он мыслит как аналитик (понимает бизнес-метрики, домен), но работает как инженер (пишет код в git, покрывает его тестами, документирует, проходит ревью). Его продукт — не разовый ответ на вопрос, а надёжный слой данных, которым пользуются все остальные.

Что входит в зону ответственности

РольГлавный вопросИнструменты
Data engineerКак доставить данные надёжно и в срок?Airflow, Spark, Kafka, Python
Analytics engineerКак превратить сырьё в доверенные витрины?SQL, dbt, git, хранилище
Data analystЧто эти данные говорят о бизнесе?BI (Power BI, Tableau), SQL

Граница подвижна: в маленькой компании один человек закрывает все три роли. Но как только данных и людей становится много, слой трансформаций требует отдельного владельца — и им становится analytics engineer.

Как работает под капотом

Технически работа analytics engineer почти целиком сводится к SQL: серия запросов вида SELECT, которые читают одни таблицы и создают другие. Но ключевое отличие от «просто аналитика» — в дисциплине. Каждый запрос лежит в файле в репозитории, к нему написаны тесты («в этой колонке не должно быть NULL»), есть описание, а порядок запуска определяется автоматически по зависимостям. Именно эту дисциплину и обеспечивает dbt — инструмент, которому посвящён весь курс.

Частые ошибки

  • Путать роль с должностью. Analytics engineer — это набор практик, а не обязательно отдельная вакансия. Аналитик, который начал писать тесты и версионировать SQL, уже занимается аналитической инженерией.
  • Думать, что это «продвинутый аналитик». Суть не в сложности SQL, а в инженерном подходе к надёжности и переиспользованию.
  • Считать роль чисто технической. Без понимания бизнес-домена витрины получаются формально корректными, но бесполезными.

Итоги

  • Analytics engineer стоит между data engineer и аналитиком и владеет слоем трансформаций данных.
  • Его продукт — надёжные, проверенные, задокументированные витрины, а не разовые ответы.
  • Ключевая идея — применить инженерные практики (git, тесты, ревью, документация) к SQL.
  • dbt — основной инструмент этой роли.
Проверьте себя
1. Чем analytics engineer принципиально отличается от обычного аналитика?
AПишет более сложные SQL-запросы
BПрименяет инженерные практики (git, тесты, документация) к слою трансформаций
CЗанимается только дашбордами
DРаботает исключительно с Python, а не SQL
2. Какая проблема породила роль analytics engineer?
AНехватка серверов
BХаос из дублированных SQL-запросов и недоверие к данным между инженером и аналитиком
CСлишком медленные хранилища
DОтсутствие BI-инструментов