Files
dev-roadmap-avito-playbook/bi-developers.md
astigo a81bd77bb4 Update bi dev matrix (#118)
* Update bi-developers.md

* Update bi-developers.md

* Update bi-developers.md

* Update bi-developers.md

* Update bi-developers.md

* Update bi-developers.md

* Update bi-developers.md

* Update bi-developers.md

* Update bi-developers.md

* Update readme.md

* Update bi-developers.md
2026-02-13 17:10:44 +03:00

39 KiB
Raw Permalink Blame History

Подробнее про BI разработчиков в Авито на лендинге Avito team. А в этой статье знакомим с нашим виденьем профессии BI, ожиданиями от разных грейдов и условиями перехода между ними.

Матрица компетенций BI IC

Цели и задачи BI-разработчика

BI-разработчик отвечает за загрузку, подготовку и обработку данных, обеспечение их качества, создание переиспользуемых источников и разработку отчетности для пользователей.

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

Разработка автоматизированной системы отчетности

  • сбор и анализ требований пользователей;
  • приоритезация запросов пользователей;
  • автоматизация бизнес-логики метрик;
  • создание дашбордов и их дальнейшее развитие и продвижение.

Работа с ETL-процессами и витринами данных

  • разработка, поддержка и оптимизация витрин данных;
  • организация и улучшение потоков загрузки и трансформации данных.

Обеспечение качества данных и отчетности

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

Формирование продового слоя витрин и отчетов

  • создание объектов, рекомендованных для переиспользования;
  • обеспечение повышенных требований к качеству, стабильности, уровню сервиса и документации.

Системное развитие BI-отчетности

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

В разных командах возможно разное соотношение «инженерных» задач (ETL, витрины, код) и «репортинговых» задач (дашбординг, сбор требований, работа с заказчиком) в зависимости от домена. Это может влиять на ожидания от конкретной роли при найме и развитии, усиливая значимость отдельных навыков, но при этом дает пути развития для BI-разработчиков с разными наборами компетенций.

Профессиональные качества BI-разработчика

Базовые ожидания (для всех уровней)

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

Лидерские качества

Ожидаются с уровня Senior, но приветствуются на всех уровнях.

Ответственность за результат

BI-разработчик является главным ответственным за BI-проект. Он структурирует работу, оптимально использует ресурсы, ставит под сомнение неоптимальные требования и предлагает альтернативные решения. Знает когда в разработке отчетности важны скорость и гибкость, а когда — осознанный продуктовый подхода, продуманный UX и продвижение. Он архивирует неиспользуемые отчеты, предварительно анализируя причины и возможности их восстановления. В работе применяется подход Fail-Fast — гипотезы проверяются быстро и с минимальными затратами.

Инициативность и проактивность

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

Коммуникация результатов

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

Саморазвитие

BI-разработчик открыт к обучению и изменениям, применяет новые знания на практике и делится ими с командой. Он ищет новые вызовы, предлагает инициативы, ставит амбициозные цели и стремится к высоким стандартам качества.

Краткое описание грейдов

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

Junior BI-разработчик

Выполняет декомпозированные задачи под контролем тимлида, но управляет ожиданиями в рамках этих задач самостоятельно.

Middle BI-разработчик

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

Senior BI-разработчик

Генерирует и самостоятельно выполняет задачи высокого уровня сложности и неопределенности в рамках своей доменной области, управляет ожиданиями стейкхолдеров и своей нагрузкой на горизонте квартала.

Lead BI-разработчик (экспертный трек)

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

Компетенции

На данный момент у нас 5 софт компетенций (с оценками по уровням J -> M -> S -> L) и 5 хард компетенций (с балльной оценкой 1-2-3).

Софт компетенции подтверждаются на каждом перформанс-ревью (2 раза в год). Мы ожидаем, что разработчик проявляет все софт компетенции на своем уровне, провал в софтах - весомый повод для менеджера задуматься о корректировках. Синьоры также каждое ревью защищают BI проект, который комплексно оценивается по уровню сложности и импакта.

Для оценки уровня проекта разработан “Калькулятор сложности”. Критерии в нем созданы так, чтобы оценивать уровень проектов разной направленности - как инженерный так и репортинговый. Оцененный проект используется для защиты компетенции "Формализация и решение задачи".

Хард скиллы подтверждаются только при переходе на новый уровень (1->2, 2->3), старые значения сохраняют свои уровни. Уровни 1 и 2 защищаются на калибровках, уровень 3 - через защиту в проекте и отзывы назначаемого жюри.

Комплексно, матрица компетенций выглядит следующим образом:

Soft skills

Компетенция 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
О: Выступаю с докладами на внешних митапах и конференциях
(или) Курирую или организую внутренние или внешние мероприятия для обмена знаниями,

Р: Отвечаю за развитие одного из этапов найма
(или) курирую один из образовательных треков (онбординг, обучающие курсы, менторские программы)

Hard skills

В оценке хардов мы используем не уровни грейдов, а балльную систему. Каждая компетенция оценивается от 0 до 3 баллов, и итоговый грейд определяется по их сумме. Это сделано для того, чтобы обеспечить гибкость оценки биайщика: в одной команде требуется более инженерный склад компетенций, в другой более репортинговый. В некоторых командах отчетность делается в BI системе, в некоторых генерируется в питоне и рассылается внешним пользователям.

Компетенция Описание 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. Умею подключиться к вертике из питона.
2. Могу получить данные с системы источника и провести их анализ для раскладки.
3. Мой код отвечает условию читаемости.
4. Могу накидать PoC на plotly.
Составляю алгоритмы из базовых инструментов, описанных в уровне 1, для решения задач.
Т.е. на выходе получается фреймворк для регулярного решения типовых задач при процессинге данных.
Создаю автоматизированные решения для внутренних или внешних пользователей (тулы для генерации дайжестов, слайдов, рассылок, ботов, инсайтов и т.д.)
Решение:
- Включает написание микросервиса в PaaS.
- Включает заведение метрик для сервиса в графане.
- Не дублирует существующие функции инструментов платформы и имеет доказанную пользу бизнесу.
- Стабильно работает в проде, логика и технические элементы документированы.
В качестве подтверждения требуется отзыв разработчика.

Минимальные требования к Hard скиллам

После того, как каждая хард компетенция оценена, делается вывод какому грейду это соответствует

Junior BI Developer BI Developer Senior BI Developer Lead BI Developer
Сумма баллов >= 4

Минимальные уровни:
SQL/DWH = 1
Redash = 1
ETL = 1
Визуализация данных = 1
Сумма баллов >= 7
Баллы по каждой компетенции >= указанных уровней:

Минимальные уровни по компетенциям:
SQL/DWH = 2
Redash = 2
ETL = 2
Визуализация данных = 1

Опциональный вариант с Python:
Компетенция Python - может использоваться при нехватке баллов для достижения требуемой общей суммы.
При этом повышается требование к общей сумме баллов до >= 8
Сумма баллов >= 8
Хотя бы одна из компетенций = 3.
Баллы по каждой компетенции >= указанных уровней:
Минимальные уровни по компетенциям:
SQL/DWH = 2
Redash = 2
ETL = 2
Визуализация данных= 1

Опциональный вариант с Python:
Компетенция Python - может использоваться при нехватке баллов для достижения требуемой общей суммы.
При этом повышается требование к общей сумме баллов до >= 9.
Сумма баллов >= 9
Хотя бы две компетенции = 3.
Баллы по каждой компетенции >= указанных уровней:

Минимальные уровни по компетенциям:
SQL/DWH = 2
Redash = 2
ETL = 2
Визуализация данных = 1

Опциональный вариант с Python:
Компетенция Python - может использоваться при нехватке баллов для достижения требуемой общей суммы.
При этом повышается требование к общей сумме баллов до >= 10.

Требования к переходу между грейдами

Переходы между уровнями - это не что-то само собой разумеющееся или что случается по истечению времени: сначала BI Разработчик начинает полноценно перформить на следующем уровне и только потом происходит переход.

Условия переходов между уровнями

Есть два ключевых условия перехода:

  1. Подтверждение soft скилов в матрице компетенций на следующем уровне
  2. Выполнение условий по хардам (минимальный уровень компетенций, минимальная сумма баллов по уровням хардов)

Junior BI → Middle BI

От JBI ждут роста до следующего уровня в течение 1 года. Переход осуществляется по результатам калибровки при подтверждении оценки Хороший результат+

Middle BI → Senior BI

От Middle BI ждут роста до следующего уровня в течение 1 - 2 х лет. К уровню Senior BI должны стремиться все BI разработчики. Дальнейший рост необязателен. Обязательные условия перехода: Для soft-компетенции (Формализация и решение задачи) проект описывается и презентуется на калибровках с помощью Калькулятора синьорности BI проекта Для hard-компетенции уровня 3 проект оформляется и проходит ревью назначенного жюри Переход осуществляется по результатам калибровки при подтверждении оценки Хороший результат+. После того как сотрудник достиг уровня Senior BI он может продолжить рост как по экспертной позиции Lead BI, так и по менеджерской - Team Lead BI.

Senior BI → Lead BI (IC role)

Для перехода на уровень Lead: Оформленный и защищенный проект lead-уровня, с подтверждением его уровня влияния и ценности Как минимум две компетенции из софтовой секции должны подтверждаться в рамках участия в функциональном проекте BI и подтверждаться на уровне Head of BI. Минимум 2 хард компетенции защищены на 3 балла перед жюри Переход осуществляется по результатам калибровки

Senior BI → Team Lead BI

Решение принимается в составе DL/UL, Head of BI по предложению DL/UL. Обязательные условия: Обоснование необходимости данной роли Как минимум две компетенции из софтовой секции должны подтверждаться в рамках участия в функциональном проекте BI и подтверждаться на уровне Head of BI. Acting роль является обязательной перед промо Для калибровки BI Team Lead используется матрица компетенций BI Managers levels