[Перевод] Что такое аналитический инжиниринг?

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

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

bf6f1dd3af132d2b45fcc99212f1661c.jpeg

Год назад я готовила презентацию для одного мероприятия, и на титульном слайде меня попросили указать мою должность. Меня наняли на должность «аналитика данных», и когда я приступила к работе, то проводила время, занимаясь обычными для аналитика данных задачами. Я собирала данные по финансам и маркетингу, анализировала тенденции и делала выводы, проводя много времени в Excel и Looker.

Но моя роль кардинально менялась. Финансы и маркетинг получили возможность создавать собственные отчеты. Поэтому обычный рабочий день для меня состоял из подготовки данных к анализу, написания кода для трансформации и тестирования, а также составления хорошей документации. Моими инструментами больше не были Excel и Looker, ими стали iTerm, GitHub и Atom.

Я все еще была аналитиком данных?

На какое-то время я оставила слайд пустым, а перед самым мероприятием заполнил его: «Клэр Кэрролл — Делаю что-то с данными».

С тех пор в индустрии появилось четкое название для того, что я пыталась описать, — инженер-аналитик.

Что такое инженер-аналитик?

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

Когда появилась аналитическая инженерия?

Традиционная команда по работе с данными

Если вы работали в «традиционной команде работы с данными» до 2012 года, вашим первым коллегой, нанятым для работы с данными, вероятно, был бы скорее всего дата-инженер. Он был нужен для создания инфраструктуры: извлечения данных из базы данных Postgres и SaaS-инструментов, с помощью которых велся бизнес, преобразования этих данных и загрузки их в хранилище данных.

Затем нужно было нанимать аналитика данных, чтобы он создавал на основе этих данных информационные дашборды и отчеты. Аналитики, как и я, оперировали беспорядочной кучей SQL-файлов с именами типа monthly_revenue_final.sql или, возможно, просто делали закладки для своих запросов в веб-редакторе SQL. Часто нам приходилось дополнять данные в хранилище причудливыми выкрутасами в Excel.

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

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

Что случилось с традиционной командой по работе с данными?

С 2012 года в сфере инструментов для работы с данными произошли огромные изменения:

  • Облачные хранилища данных (Redshift, а затем BigQuery и Snowflake) сделали хранение и обработку данных доступными и быстрыми.

  • Сервисы конвейерной обработки данных (например, Stitch, Fivetran) превратили извлечение данных в работу, которая требует всего несколько кликов.

  • Инструменты бизнес-аналитики (BI) (например, Looker, Mode, Chartio) расширяют возможности заинтересованных лиц по самообслуживанию.

К 2016 году стало как никогда просто получить данные в хранилище в необработанном виде, а заинтересованным лицам — построить отчеты на их основе.

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

Решение: преобразовать необработанные данные в форму, готовую к аналитике. В то время существовало только два широко используемых варианта:

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

Именно тогда на рынок вышла компания dbt.

Современная команда по работе с данными

dbt — это слой преобразования, созданный для современных инструментов хранения и ввода данных. Построенный на базе SQL, dbt делает слой преобразования полностью подконтрольным аналитикам данных.

Сегодня, если вы являетесь «современной командой по работе с данными», вашим первым сотрудником, нанятым для работы с данными, будет тот, кто в конечном итоге будет владеть всем стеком данных. Этот человек может настроить Stitch или Fivetran для начала ввода данных, поддерживать хранилище данных в порядке, писать сложные преобразования данных на SQL с помощью dbt и создавать отчеты поверх чистого слоя данных в Looker, Mode, Redash и т. д.

Эта работа не является ни проектированием, ни анализом данных. Она находится где-то посередине, и ей нужно было новое название. Начиная с 2018 года мы и несколько наших друзей из сообщества Locally Optimistic стали называть эту роль инженером-аналитиком.

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

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

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

Вот как я представляю себе различные роли в современных командах по работе с данными в крупных организациях:

перевод содержимого ниже

перевод содержимого ниже

Дата-инженер

Инженер-аналитик

Аналитик данных

— Создание пользовательских интеграций данных

— Управление общей оркестровкой конвейеров

— Разработка и развертывание конечных точек машинного обучения

— Создание и поддержка платформы данных

— Оптимизация производительности хранилища данных

— Предоставление чистых, преобразованных данных, готовых к анализу

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

— Ведение документации и определений данных

— Обучение бизнес-пользователей работе с инструментами визуализации данных

— Работа над глубокими пониманием (например: почему в прошлом месяце увеличился показатель оттока клиентов? Какие каналы привлечения клиентов лучше?)

— Работа с бизнес-пользователями для формирования понимания требований к данным

— Создание критически важных информационных дашбордов

— Прогнозирование

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

Термин «инженер-аналитик» довольно новый, и многие люди, занимающиеся аналитикой, не носят это звание (еще год назад и я не его носила!). Так как же узнать, являетесь ли вы инженером-аналитиком?

На первый взгляд, инженера-аналитика часто можно узнать по набору технологий, которые он использует (dbt, Snowflake/BigQuery/Redshift, Stitch/Fivetran). Но, заглянув глубже, вы заметите, что они увлечены решением другого класса проблем, чем другие члены команды по работе с данными. Инженеров-аналитиков волнуют такие проблемы, как:

  • Можно ли создать единую таблицу, которая позволит нам ответить на весь этот набор бизнес-вопросов?

  • Каково наиболее четкое соглашение об именовании таблиц в нашем хранилище?

  • Что, если бы я мог получать уведомления о проблемах с данными до того, как бизнес-пользователь обнаружит неработающий график в Looker?

  • Что аналитики или другие бизнес-пользователи должны понимать об этой таблице, чтобы использовать ее быстро?

  • Как повысить качество данных на этапе их создания, а не последующей очистки?

Куда это все идет?

На недавней встрече в Нью-Йорке, где собрались 100 профессионалов в области данных, чтобы поговорить об аналитике, один из докладчиков сравнил инженера по аналитике с библиотекарем — человеком, который хранит данные организации и выступает в качестве ресурса, который хочет их использовать. Мне нравится эта метафора: инженер-аналитик — это хранитель организационных знаний, а не исследователь, отвечающий на конкретный вопрос. Инженер-аналитик ведет каталог, чтобы исследователи могли выполнять свою работу более эффективно.

Инструментарий, практика и организационная роль инженера-аналитика очень быстро развиваются в режиме реального времени. Год назад такого названия не существовало. Сегодня, когда мы утвердили эту тему в качестве темы встречи, на нее пришло более 100 участников, и с каждым месяцем мы видим все больше и больше объявлений о вакансиях на эту должность. Итак, в индустрии существует множество вариантов этой идеи и этой роли, но мы все вместе выясняем это в режиме реального времени.

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

В заключение приглашаем на открытый урок OTUS, на котором обсудим, как проходить интервью на позицию DWH-аналитика для Middle+ специалистов, разберём практические кейсы и ответим на все вопросы в режиме реального времени. Записаться на встречу можно на странице курса «Data Warehouse Analyst».

© Habrahabr.ru