BI-разработчик отвечает за загрузку, подготовку и обработку данных, обеспечение их качества, создание переиспользуемых источников и разработку отчетности для пользователей.
BI-функция находится в стадии активного развития, поэтому фокус задач может варьироваться в зависимости от зрелости конкретной аналитической команды и домена, но есть общий для всех функционал.
- сбор и анализ требований пользователей;
- приоритезация запросов пользователей;
- автоматизация бизнес-логики метрик;
- создание дашбордов и их дальнейшее развитие и продвижение.
- разработка, поддержка и оптимизация витрин данных;
- организация и улучшение потоков загрузки и трансформации данных.
- контроль актуальности и корректности данных в отчетах;
- оптимизация скорости загрузки и обновления;
- системная работа с качеством данным (сертификация, dq-контракты).
- создание объектов, рекомендованных для переиспользования;
- обеспечение повышенных требований к качеству, стабильности, уровню сервиса и документации.
- анализ потребностей бизнеса в отчетности;
- подбор оптимальных решений для их покрытия;
- мониторинг использования и ценности отчетов.
- продуктовый подход ко всему жизненному циклу отчетности.
В разных командах возможно разное соотношение «инженерных» задач (ETL, витрины, код) и «репортинговых» задач (дашбординг, сбор требований, работа с заказчиком) в зависимости от домена. Это может влиять на ожидания от конкретной роли при найме и развитии, усиливая значимость отдельных навыков, но при этом дает пути развития для BI-разработчиков с разными наборами компетенций.
- системное мышление — умение видеть целостную картину и анализировать детали;
- эффективная коммуникация — способность объяснять сложные вещи как техническим, так и бизнес-пользователям;
- ориентация на клиента — глубокое понимание бизнес-контекста и ценности решений.
Ожидаются с уровня Senior, но приветствуются на всех уровнях.
BI-разработчик является главным ответственным за BI-проект. Он структурирует работу, оптимально использует ресурсы, ставит под сомнение неоптимальные требования и предлагает альтернативные решения. BI-разработчик различает аналитические и операционные отчеты: первые требуют скорости и гибкости, вторые — осознанного продуктового подхода, продуманного UX и продвижения. Он архивирует неиспользуемые отчеты, предварительно анализируя причины и возможности их восстановления. В работе применяется подход Fail-Fast — гипотезы проверяются быстро и с минимальными затратами.
BI-разработчик оценивает ценность своей работы для бизнеса и инициирует улучшения, предлагает инновации, создает прототипы и презентует решения. Он заранее выявляет риски, устраняет блокеры и открыто обсуждает ограничения и проблемы с заказчиком. Фраза «это не входит в мои обязанности» не является частью профессионального подхода BI-разработчика.
BI-разработчик ясно формулирует мысли, выбирает подходящие каналы коммуникации, уверенно презентует результаты и вовлекает аудиторию в обсуждение. Умеет влиять на решения других специалистов — инженеров, аналитиков, руководителей бизнеса.
BI-разработчик открыт к обучению и изменениям, применяет новые знания на практике и делится ими с командой. Он ищет новые вызовы, предлагает инициативы, ставит амбициозные цели и стремится к высоким стандартам качества.
В зависимости от грейда у нас разные ожидания от soft- и hard-компетенций, но в любом случае мы ожидаем, что BI-разработчик любого грейда способен работать автономно и ответственно в рамках выделенного ему проекта того или иного масштаба.
Выполняет декомпозированные задачи под контролем тимлида, но самостоятельно управляет ожиданиями в рамках этих задач.
Самостоятельно выполняет задачи в рамках направления или юнита, приоритезирует и договаривается со стейкхолдерами. Свои сроки и приоритеты валидирует у тимлида, управляет своей нагрузкой на горизонте месяца.
Генерирует и самостоятельно выполняет задачи высокого уровня сложности и неопределенности в рамках своей доменной области, управляет ожиданиями стейкхолдеров и своей нагрузкой на горизонте квартала.
Дополнительно к уровню Senior демонстрирует лидерство в направлениях, значимых для BI-функции, нескольких вертикалей, горизонталей или всей компании. Может проявляться как в экспертном лидерстве, так и в проектном или кросс-функциональном. Штучный специалист, который решает проблемы экстра-сложности.
На данный момент у нас 5 софт-компетенций (с оценками по уровням J -> M -> S -> L) и 5 хард-компетенций (с балльной оценкой 1-2-3).
Софт компетенции подтверждаются на каждом перформанс-ревью (2 раза в год). Мы ожидаем, что разработчик проявляет все софт-компетенции на своем уровне, провал в софтах — весомый повод для менеджера задуматься о корректировках. Синьоры также каждое ревью защищают BI-проект, который комплексно оценивается по уровню сложности и импакта. Они самостоятельно оценивает свой проект с помощью «Калькулятора сложности» по 12 критериям, которые созданы так, чтобы синьорным мог быть и инженерный, и репортинговый проект.
Хард-скиллы подтверждаются только при переходе на новый уровень (1->2, 2->3), старые значения сохраняют свои уровни. Уровни 1 и 2 защищаются на калибровках, уровень 3 – через защиту в проекте и отзывы назначаемого жюри.
Комплексно матрица компетенций выглядит следующим образом:
| Компетенция | Junior BI-Developer | BI-Developer | Senior BI-Developer | Lead BI-Developer |
|---|---|---|---|---|
| Поиск и управление задачами | Не ожидается. | Нахожит задачи не ниже junior level. При получении запроса анализирует, есть ли более оптимальные решения для реализации требований. |
1. Находит задачи не ниже middle level. Предотвращает ненужное создание дашбордов и витрин, подбирает подходящие инструменты для реализации. 2. Участвует в формировании реестра потребностей в отчетах и витринах, а также в их покрытии существующими объектами. |
1. Находит задачи не ниже senior level. 2 Системно анализирует потребности доменной области: несет ответственность за реестр потребностей в отчетах и витринах с оценкой их ценности для бизнеса и покрытия существующими объектами. 3. Участвует в разработке стратегии развития BI-доменной области. |
| Формализация и решение задачи Компетенция зависит от уровня проекта |
Самостоятельная формализация, решение и интерпретация проекта уровня задач junior. | Самостоятельная формализация, решение и интерпретация middle-проекта. | Самостоятельная формализация, решение и интерпретация senior-проекта. | Самостоятельная формализация, решение и интерпретация lead-проекта. |
| Управление ожиданиями и планирование | Управляет ожиданиями в рамках непосредственной реализации задачи: 1. Запрашивает приоритет у руководителя 2. Уведомляет менеджера об изменениях сроков. |
1. Дает обоснованные оценки для своих задач. 2. Планирует свои задачи на уровне нескольких спринтов, согласовывает планы и приоритеты с менеджером и стейкхолдером. 3. Проактивно коммуницирует с заказчиком относительно сроков и рисков. 4. Уведомляет менеджера о конфликте задач или изменениях сроков, предлагает варианты решения. |
1. Планирует задачи на уровне квартала, согласует планы со стейкхолдерами. 2. Определяет приоритеты, учитывая весь комплекс факторов 3. Дает заказчикам свои коммиты и отвечает за достижение результата. 4. Формулирует свои / декомпозирует командные ОКР и отвечает за их исполнение. |
1. Планирует сложные и длительные (больше квартала) проекты 2. Строит роадмапы с участием других команд / функций и согласовывает их со всеми заинтересованными сторонами. 3. Оценивает весь комплекс факторов и рисков, влияющих на сроки. |
| Продуктовый подход к отчетам и данным | Анализирует причины, почему его BI/дата-объекты не используются, предпринимает действия по реанимации или архивирует. | По своим BI/дата объектам: 1. Проводит регулярный анализ использования объектов, собирает обратную связь и реализует меры для прокачки продуктовых метрик отчетности. 2. Оптимизирует структуру отчетности, реанимирует или архивирует неиспользуемые объекты. 3. Контролирует автосертификацию объектов. 4. Социализирует свои BI/дата объекты (демо, обучение, release-notes). |
В дополнение к уровню Middle: - Курирует реализацию продуктового подхода в рамках своей доменной области. - Поддерживает высокий уровень сертификации отчетов и витрин в домене. - Участвует в разметке и ревью ключевых отчетов, датасетов и витрин. |
В дополнение к уровню Senior: 1. Лидирует функциональный проект, согласованный с Head of BI на уровне нескольких доменных областей первого уровня всей BI-функции. 2. Анализирует потенциальную и фактическую ценность ключевых BI-решений/проектов, возврат инвестиций. |
| Обмен знаниями и развитие BI-роли Два трека на выбор: 1) (О) Обмен знаниями 2) (Р) Развитие BI-роли Для senior+ необходимо на middle-уровне проявлять второй трек. |
Не ожидается. | О: Презентует результаты своей работы на аудиторию шире, чем непосредственные заказчики его команды. Публикует гайды/инструкции для базы знаний, которыми воспользовались другие люди. Р: Вносит свой вклад в развитие найма, онбординга или обучения (пишет материалы для обучения/онбординга, или создает новые задачи/кейсы для технических секций, или проводит технические секции) |
О: Социализирует использование сложных инструментов и подходов к разработке. Презентует свою работу/ делится своими наработками и знаниями на общих для функции/компании мероприятиях. (или) Вносит весомый вклад в развитие функционального проекта BI. (или) Пишет внешние статьи в блог компании на Хабре / участвует в меропритиях. Р: Проводит интервью с кандидатами и вносит вклад в развитие найма. (или) Является наставником или ментором BI dev. |
О: Выступает с докладами на внешних митапах и конференциях. (или) Курирует или организует внутренние или внешние мероприятия для обмена знаниями, Р: Отвечает за развитие одного из этапов найма. Курирует один из образовательных треков (онбординг, обучающие курсы, менторские программы). |
| Компетенция | Описание | L1 | L2 | L3 |
|---|---|---|---|---|
| ETL | Проектирование оптимальной модели данных и схемы хранения, преобразования, нормализации и обновления данных. Устранение ошибок в ETL-процессах, оптимизация модели данных и бизнес-логики для ускорения, внедрение проверок качества | 1. Знает базовый синтаксис описания загрузок в DDS. Может построить витрину в DMA слое и датасет в Redash с учетом бизнес-логики и потребностей использования. 2. Умеет находить и исправлять ошибки в ETL-процессах. Контролирует отсутствие избыточности хранения данных. |
1. Может спроектировать и реализовать оптимальную модель данных Схема хранения и преобразования данных оптимальна Построенная схема данных закрывает потребность в данных по выбранной сущности в рамках одного продукта. 2. Может оптимизировать модель данных и предложить оптимизацию бизнес логики для ускорения получения результата. Есть успешный пример оптимизации с улучшением скорости обработки данных. |
1. Может спроектировать и реализовать оптимальную модель данных 2. Итоговый результат работы модели данных стабильно и контролируемо работает в проде, закрывает потребность в данных по выбранной сущности, переиспользуется в других командах и полезен для них, документирован, сами объекты покрыты тестами/алертами. 3. В модели используется большое количество объектов с значительной обработкой данных В качестве подтверждения требуется отзыв DWH-инженера. |
| SQL/DWH | Свободное владение SQL, написание оптимальных запросов для работы с большими данными, учет особенностей Vertica, ClickHouse и Trino, контроль перфоманса | 1. Свободно владеет SQL: может написать правильный и оптимальный запрос к известному источнику данных. Знает OLAP-специфику SQL, оконные функции, CTE 2. Пишет оптимизированные SQL-запросы. Использует разные СУБД в зависимости от задач (Vertica, Trino, Clickhouse) |
Контролирует метрики перформанса существующих обработок данных, используя особенности разных СУБД | 1. Пишет и оптимизирует SQL-код высокой сложности: 3V (Volume, Velocity, Variety) 2. Использует в решении задач, связанных с хранилищем не SQL-решения там, где такие решения позволяют добиться значимой оптимизации. 3. Итоговый результат стабильно работает в проде, используется пользователями и полезен для них, логика работы и бизнес-смысл документированы. В качестве подтверждения требуется отзыв DWH-инженера. |
| Redash | Владение инструментом - Создание базового и продвинутого функционала дашбордов, корректное использование датасетов для оптимизации скорости | 1. Владеет функционалом Redash для выполнения базовых требований в дашборду: создание чартов, параметров, кверей, произвожу дебагинг элементов 2. Может подключаться к источникам. Делает корректный выбор между датасетом и live-подключением, с учетом использования кверей, чартсов и параметров |
1. Использует в построении отчетов более сложные функциональные элементы: - Расчет в дашборде сравнительных показателей (DoD,MoM, YoY) - Вычисления с использованием параметров (например расчет top-N, split by в чарте) - Ссылки для навигации между связными дашбордами, другими приложениями - Использует кросс-фильтрацию между чартами и дрилл-даун функционал. 2. Может использовать несколько датасетов для оптимизации скорости работы. Понимает ограничения использования различных источников, используя их оптимально. |
В дополнение к уровню 2: 1. Создает Redash-отчеты высокой сложности. - Создает систему дашбордов как приложение, состоящее из нескольких дашей разного типа, с разными пользовательскими сценариями для 3+ бизнес сущностей, высокими требованиями к качеству визуализации, с обоснованным использованием сложных технических решений - Итоговый отчет стабильно работает в проде, логика и технические элементы документированы, сам отчет сертифицирован. - Датасеты отчета оптимальны - не содержат нехарактерных для Clickhouse методов обработки и типов данных и имеют специфические алерты на качество данных. В качестве подтверждения требуется ревью проекта. 2. Вносит вклад в развитие продукта - предлагает фичу, набравшую 10+ голосов и принятую в беклог продукта, или сделал pull request, принятый в проде продукта. |
| Визуализация данных | Выбор чартов под задачу, Выбор оптимального layout дашборда в зависимости от кейса, работа с UX, цветом, формой, шрифтами и другими визуальными элементами | 1. Умеет подбирать базовые типы графиков (bar, stacked, line charts, tree map, area chart, таблицы, фактоиды) исходя из задачи. 2. Применяет базовые требования (чеклист) к дизайну и UI/UX в BI: - Настроены фильтры и экшены - Есть футер/хедер - Подписи, легенды, тултипы адекватно оформлены - Цвета, шрифты, форматы чисел выбраны из стандартных палитр - Документация и подсказки в интерфейсе - Есть индикатор актуальности данных |
1. Использует расширенный набор чартов, в том числе boxplots, scatterplot, heatmaps, treemaps, waterfalls, sankey, фактоиды с динамиков и дельтами, таблицы с дополнительным фунционалом. Применяет основные принципы дизайна дашбордов. 2. Разрабатывает и согласует мокап дашборда с заказчиком. Аргументирует свои решения, выбор графиков на встречах с бизнесом, обосновывая их оптимальность. |
В дополнение к уровню 2: 1. Дашборды не содержат ошибок с точки зрения принципов визуализации данных и соответствуют расширенным требованиям: - Layout, чарты и структура отчета оптимальны для бизнес-задачи, данных и аудитории. - Нет ошибок в работе с цветом в дашбордах - Используются продвинутые принципы дизайна дашбордов (Тафти, гештальт, etc) В качестве подтверждения требуется ревью проекта. 2. Вношу вклад в развитие культуры визуализации: - cоздал переиспользуемый шаблон в echarts Принял участие в «прожарке» в качестве участника или в члена жюри. - разработал учебный продукт/материал, используемый как часть общекорпоративного подхода. - обучил коллег применять принципы дизайна дашбордов (в рамках ИПР, менторства) |
| Python | Дополнительный: анализ данных с циклами, pandas, requests и PoC на plotly, разработка алгоритмов и автоматизированных микросервисов в PaaS |
1. Владеет базовыми методами обработки данных и решаю точечные задачи. Циклы, условия, pandas, requests. Умеет подключиться к Vertica из Python. 2. Может получить данные с системы источника и провести их анализ для раскладки. 3. Его код отвечает условию читаемости. 4. Может накидать PoC на plotly. |
Составляет алгоритмы из базовых инструментов, описанных в уровне 1, для решения задач. То есть на выходе получается фреймворк для регулярного решения типовых задач при процессинге данных. |
Создает автоматизированные решения для внутренних или внешних пользователей (тулы для генерации дайжестов, слайдов, рассылок, ботов, инсайтов и прочее). Решение: - Включает написание микросервиса в PaaS. - Включает заведение метрик для сервиса в графане. - Не дублирует существующие функции инструментов платформы и имеет доказанную пользу бизнесу. - Стабильно работает в проде, логика и технические элементы документированы. В качестве подтверждения требуется отзыв разработчика. |
Переходы между уровнями - это не что-то само собой разумеющееся или что случается по истечению времени: сначала BI-разработчик начинает полноценно перформить на следующем уровне и только потом происходит переход.
Есть два ключевых условия перехода:
- Подтверждение soft-скиллов в матрице компетенций на следующем уровне.
- Выполнение условий по хардам (минимальный уровень компетенций, минимальная сумма баллов по уровням хардов).
От JBI ждут роста до следующего уровня в течение одного года. Переход осуществляется по результатам калибровки при подтверждении оценки Хороший результат+.
От Middle BI ждут роста до следующего уровня в течение одного года или двух лет. К уровню Senior BI должны стремиться все BI разработчики. Дальнейший рост необязателен. Обязательные условия перехода:
- для soft-компетенции (формализация и решение задачи) проект описывается и презентуется на калибровках с помощью Калькулятора синьорности BI проекта
- для hard-компетенции уровня 3 проект оформляется и проходит ревью назначенного жюри
- переход осуществляется по результатам калибровки при подтверждении оценки Хороший результат+. После того как сотрудник достиг уровня Senior BI он может продолжить рост как по экспертной позиции Lead BI, так и по менеджерской - Team Lead BI.
Для перехода на уровень Lead:
- оформленный и защищенный проект lead-уровня, с подтверждением его уровня влияния и ценности;
- как минимум две компетенции из софтовой секции должны подтверждаться в рамках участия в функциональном проекте BI и подтверждаться на уровне Head of BI;
- минимум две hard-компетенции защищены на 3 балла перед жюри;
- переход осуществляется по результатам калибровки.
Решение принимается в составе DL/UL, Head of BI по предложению DL/UL. Обязательные условия:
- обоснование необходимости данной роли;
- как минимум две компетенции из софтовой секции должны подтверждаться в рамках участия в функциональном проекте BI и подтверждаться на уровне Head of BI;
- acting-роль является обязательной перед промо.
Для калибровки BI Team Lead используется матрица компетенций BI Managers levels.