Files
dev-roadmap-avito-playbook/bi-developers.md
2025-10-16 20:32:25 +03:00

104 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**BI-разработчик решает задачи, связанные с загрузкой, подготовкой и обработкой данных, созданием переиспользуемых источников и разработкой отчётности для пользователей.**
BI-функция — на стадии развития, поэтому фокус задач может варьироваться в зависимости от аналитической команды. Ключевые направления работы:
+ разработка автоматизированной системы отчётности: сбор и анализ требований пользователей, автоматизация бизнес-логики метрик, создание дашбордов и их продвижение;
+ работа с ETL-процессами и витринами данных: разработка, поддержка и оптимизация витрин, организация и улучшение потоков загрузки и трансформации данных;
+ обеспечение качества данных и отчётности: контроль актуальности корректности данных в отчётах, оптимизация скорости загрузки и обновления, устранение дублирования;
+ формирование продового слоя витрин и отчётов: создание объектов, рекомендованных для переиспользования другими пользователями и соответствующих повышенным требованиям к качеству, стабильности, уровню сервиса, документации;
+ системное развитие BI-отчётности: анализ потребностей бизнеса в отчётности, подбор оптимальных решений для их покрытия и мониторинг использования.
Допускается разное соотношение «инженерных» (работа с ETL, витринами, кодом) и «репортинговых» задач (дашбординг, сбор бизнес-требований, работа с заказчиком и пользователем) в зависимости от специфики домена. Это может оказывать влияние на ожидания от конкретной роли при найме и развитии в виде большей значимости отдельных компетенций.
### Краткое описание ролей
**Junior**
Выполняет декомпозированные задачи под контролем тимлида:
+ создаёт витрины и потоки данных согласно стандартам;
+ создаёт дашборды и другие BI-объекты согласно стандартам.
**Middle**
Самостоятельно выполняет middle-level задачи в рамках направления/юнита:
+ анализирует потребности ролей в данных и отчётах;
+ разрабатывает оптимальные модели данных и витрины, оптимизирует скрипты;
+ создаёт дашборды, подбирая оптимальные решения под задачу;
+ планирует работу на квартальной основе, определяет приоритеты, управляет ожиданиями в рамках спринтов;
+ развивает витрины и системы дашбордов как продукты — анализирует требования, собирает фидбеки, продвигает и развивает на базе метрик использования;
+ осуществляет гавернанс своих данных и отчётов — следит за метриками качества, сертифицирует рекомендуемые и архивирует неиспользуемые объекты;
+ активно участвует в коммуникациях с заказчиками, проводит обучение для пользователей.
**Senior**
Генерирует и самостоятельно выполняет senior-level задачи в рамках своей доменной области, в том числе:
+ системно анализирует потребности ролей в данных и отчётах, планирует работу для их покрытия;
+ разрабатывает оптимальные модели данных с учётом особенностей СУБД, оптимизирует скрипты подготовки агрегатов, ETL-процессов;
+ развивает витрины и системы дашбордов как продукты — анализирует требования, собирает фидбеки, продвигает и развивает на базе метрик использования;
+ планирует работу на квартальной основе, оценивает сроки и приоритеты, управляет ожиданиями стейкхолдеров, собирает обратную связь и демонстрирует результаты;
+ формирует и поддерживает продовый слой отчётов и витрин доменной области и обеспечивает SLA данного слоя на основе метрик качества, перфоманса, актуальности, покрытия документацией, UX;
+ проводит интервью c кандидатами и онбординг, выступает наставником.
**Lead (экспертный трек)**
Дополнительно к уровню Senior демонстрирует лидерство в рамках нескольких направлений, значимых для BI-функции, на уровне нескольких вертикалей/горизонталей/всей компании:
+ лидерство в кросс-доменных BI-/Data-продуктах — разрабатывает и владеет BI-/Data-продуктами, развивая их на базе требований нескольких вертикалей/горизонталей;
+ лидерство в управлении данными вертикали/горизонтали — развивает продовые слои отчётов и витрин в качестве BI-партнёра, отвечая за их SLA, ищет открытые проблемы и инициирует решения;
+ лидерство во внедрении Self-Service BI — координирует внедрение практик в разных ролях и департаментах, а также разработку инструментов;
+ экспертное лидерство — оптимизирует сложные ETL-пайплайны с большими объёмами данных, разрабатывает сложные технические решения, сервисы и инструменты, создаёт и внедряет стандарты разработки, визуализации данных, непосредственно участвует в развитии BI-инструментов компании;
+ лидерство в обмене знаниями: курирует систему найма BI, разрабатывает обучающие программы, развивает BI-комьюнити, выступает на внешних мероприятиях.
### Компетенции
**8 soft-компетенций**
Зависит от сложности задач:
+ поиск задач;
+ формализация и решение задачи;
+ управление ожиданиями и планирование;
+ продуктовый подход;
+ не зависит от сложности задач;
+ вклад в обмен знаниями и комьюнити;
+ развитие BI-роли;
+ челленджинг запросов;
+ управление данными и BI.
**5 hard-компетенций**
Не зависит от сложности задач:
+ ETL;
+ SQL/DWH;
+ Redash;
+ визуализация данных;
+ Python (опционально).
### Базовые ожидания
Ожидается, что все BI-разработчики, независимо от уровня, обладают базовыми качествами:
+ системное и структурированное мышление: умение видеть общую картину и при этом анализировать детали, выявлять взаимосвязи между элементами системы.
+ эффективная коммуникация: способность ясно и доступно объяснять сложные технические нюансы, метрики и методологии как техническим специалистам, так и бизнес-пользователям.
+ ориентация на клиента: глубокое понимание бизнес-потребностей, готовность вникать в специфику бизнеса, процессы и метрики и предлагать решения, максимально удовлетворяющие ожидания клиента.
### Лидерские качества
Ожидаются на уровне Senior и выше, но приветствуются на всех уровнях.
**Ответственность за результат**
BI-разработчик — главный в BI-проекте. Он несёт ответственность за структурирование работ, оптимальное использование ресурсов — своих и других участников. Он не делает лишний BI-отчёт там, где требуется просто представить данные. Ставит под сомнение требования заказчика, если видит, что они неоптимальны для исходной задачи, предлагает альтернативные решения на базе опыта и практик BI.
BI-разработчик оценивает тип задачи, которую он делает, разделяя отчёты на аналитические и операционные. Первые требуют скорости и результата, вторые заслуживают времени на создание отчёта как продукта с осознанным сбором требований, учётом потребностей разных групп пользователей, проработанным UI и продвижением. BI-разработчик вовлекает заказчика в адаптацию таких решений и архивирует отчёты, если ими перестают пользоваться, перед этим анализируя причины и возможности реанимации.
BI-разработчик использует Fail-Fast подход, проверяя свои предположения и идеи как можно быстрее и дешевле, прежде чем вкладывать в них слишком много времени.
Умеет аргументированно отстаивать свою позицию, однако способен вовремя остановиться и принять точку зрения, которую не разделяет.
**Инициативность и проактивность**
BI-разработчик анализирует ценность своей работы для бизнеса и инициирует улучшения. Предлагает инновации, оценивает идеи, создаёт прототипы и презентует решения. BI-разработчик предвидит потенциальные проблемы и уровни риска, устраняет блокеры, разрабатывает стратегии минимизации рисков и внедряет их. Открыто говорит о текущих и возможных рисках проекта, добиваясь их осознания и принятия заказчиком. Фраза «это не входит в мои обязанности» не из лексикона BI-разработчика.
**Коммуникация результатов**
BI-разработчик чётко формулирует мысли, выбирает подходящие каналы коммуникации для представления результатов. Уверенно презентует материалы, вовлекает аудиторию в обсуждение, создавая формат живого рассказа. Способен наладить продуктивную коммуникацию на всех уровнях и решать возникающие вопросы в процессе работы. Умеет влиять на решения, принимаемые другими специалистами (инженерами, руководителями бизнеса и т. д.).
**Саморазвитие**
BI-разработчик открыт к обучению и саморазвитию, новым знаниям. Применяет их на практике и делится с коллегами. Вдохновляет команду и поддерживает культуру открытости к изменениям. Постоянно находится в поиске новых вызовов, предлагает свежие проекты или новый взгляд на старые. Ставит амбициозные цели, не боится браться за сложные задачи и стремится к высоким стандартам.