mirror of
https://github.com/avito-tech/playbook.git
synced 2026-03-13 21:53:21 +03:00
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
This commit is contained in:
218
bi-developers.md
218
bi-developers.md
@@ -1,103 +1,175 @@
|
||||
**BI-разработчик решает задачи, связанные с загрузкой, подготовкой и обработкой данных, созданием переиспользуемых источников и разработкой отчётности для пользователей.**
|
||||
Подробнее про BI разработчиков в Авито на [лендинге Avito team](https://career.avito.com/directions/analytics/). А в этой статье знакомим с нашим виденьем профессии BI, ожиданиями от разных грейдов и условиями перехода между ними.
|
||||
|
||||
BI-функция — на стадии развития, поэтому фокус задач может варьироваться в зависимости от аналитической команды. Ключевые направления работы:
|
||||
+ разработка автоматизированной системы отчётности: сбор и анализ требований пользователей, автоматизация бизнес-логики метрик, создание дашбордов и их продвижение;
|
||||
+ работа с ETL-процессами и витринами данных: разработка, поддержка и оптимизация витрин, организация и улучшение потоков загрузки и трансформации данных;
|
||||
+ обеспечение качества данных и отчётности: контроль актуальности корректности данных в отчётах, оптимизация скорости загрузки и обновления, устранение дублирования;
|
||||
+ формирование продового слоя витрин и отчётов: создание объектов, рекомендованных для переиспользования другими пользователями и соответствующих повышенным требованиям к качеству, стабильности, уровню сервиса, документации;
|
||||
+ системное развитие BI-отчётности: анализ потребностей бизнеса в отчётности, подбор оптимальных решений для их покрытия и мониторинг использования.
|
||||
# Матрица компетенций BI IC
|
||||
|
||||
Допускается разное соотношение «инженерных» (работа с ETL, витринами, кодом) и «репортинговых» задач (дашбординг, сбор бизнес-требований, работа с заказчиком и пользователем) в зависимости от специфики домена. Это может оказывать влияние на ожидания от конкретной роли при найме и развитии в виде большей значимости отдельных компетенций.
|
||||
## Цели и задачи BI-разработчика
|
||||
|
||||
### Краткое описание ролей
|
||||
**BI-разработчик отвечает за загрузку, подготовку и обработку данных, обеспечение их качества, создание переиспользуемых источников и разработку отчетности для пользователей.**
|
||||
|
||||
**Junior**
|
||||
BI-функция находится в стадии активного развития, поэтому фокус задач может варьироваться в зависимости от зрелости конкретной аналитической команды и домена, но есть общий для всех функционал:
|
||||
|
||||
Выполняет декомпозированные задачи под контролем тимлида:
|
||||
+ создаёт витрины и потоки данных согласно стандартам;
|
||||
+ создаёт дашборды и другие BI-объекты согласно стандартам.
|
||||
### Разработка автоматизированной системы отчетности
|
||||
- сбор и анализ требований пользователей;
|
||||
- приоритезация запросов пользователей;
|
||||
- автоматизация бизнес-логики метрик;
|
||||
- создание дашбордов и их дальнейшее развитие и продвижение.
|
||||
|
||||
**Middle**
|
||||
|
||||
Самостоятельно выполняет middle-level задачи в рамках направления/юнита:
|
||||
+ анализирует потребности ролей в данных и отчётах;
|
||||
+ разрабатывает оптимальные модели данных и витрины, оптимизирует скрипты;
|
||||
+ создаёт дашборды, подбирая оптимальные решения под задачу;
|
||||
+ планирует работу на квартальной основе, определяет приоритеты, управляет ожиданиями в рамках спринтов;
|
||||
+ развивает витрины и системы дашбордов как продукты — анализирует требования, собирает фидбеки, продвигает и развивает на базе метрик использования;
|
||||
+ осуществляет гавернанс своих данных и отчётов — следит за метриками качества, сертифицирует рекомендуемые и архивирует неиспользуемые объекты;
|
||||
+ активно участвует в коммуникациях с заказчиками, проводит обучение для пользователей.
|
||||
### Работа с ETL-процессами и витринами данных
|
||||
- разработка, поддержка и оптимизация витрин данных;
|
||||
- организация и улучшение потоков загрузки и трансформации данных.
|
||||
|
||||
**Senior**
|
||||
|
||||
Генерирует и самостоятельно выполняет senior-level задачи в рамках своей доменной области, в том числе:
|
||||
+ системно анализирует потребности ролей в данных и отчётах, планирует работу для их покрытия;
|
||||
+ разрабатывает оптимальные модели данных с учётом особенностей СУБД, оптимизирует скрипты подготовки агрегатов, ETL-процессов;
|
||||
+ развивает витрины и системы дашбордов как продукты — анализирует требования, собирает фидбеки, продвигает и развивает на базе метрик использования;
|
||||
+ планирует работу на квартальной основе, оценивает сроки и приоритеты, управляет ожиданиями стейкхолдеров, собирает обратную связь и демонстрирует результаты;
|
||||
+ формирует и поддерживает продовый слой отчётов и витрин доменной области и обеспечивает SLA данного слоя на основе метрик качества, перфоманса, актуальности, покрытия документацией, UX;
|
||||
+ проводит интервью c кандидатами и онбординг, выступает наставником.
|
||||
### Обеспечение качества данных и отчетности
|
||||
- контроль актуальности и корректности данных в отчетах;
|
||||
- оптимизация скорости загрузки и обновления;
|
||||
- устранение дублирования и несогласованностей.
|
||||
- системная работа с качеством данным (сертификация, dq-контракты)
|
||||
|
||||
**Lead (экспертный трек)**
|
||||
|
||||
Дополнительно к уровню Senior демонстрирует лидерство в рамках нескольких направлений, значимых для BI-функции, на уровне нескольких вертикалей/горизонталей/всей компании:
|
||||
+ лидерство в кросс-доменных BI-/Data-продуктах — разрабатывает и владеет BI-/Data-продуктами, развивая их на базе требований нескольких вертикалей/горизонталей;
|
||||
+ лидерство в управлении данными вертикали/горизонтали — развивает продовые слои отчётов и витрин в качестве BI-партнёра, отвечая за их SLA, ищет открытые проблемы и инициирует решения;
|
||||
+ лидерство во внедрении Self-Service BI — координирует внедрение практик в разных ролях и департаментах, а также разработку инструментов;
|
||||
+ экспертное лидерство — оптимизирует сложные ETL-пайплайны с большими объёмами данных, разрабатывает сложные технические решения, сервисы и инструменты, создаёт и внедряет стандарты разработки, визуализации данных, непосредственно участвует в развитии BI-инструментов компании;
|
||||
+ лидерство в обмене знаниями: курирует систему найма BI, разрабатывает обучающие программы, развивает BI-комьюнити, выступает на внешних мероприятиях.
|
||||
### Формирование продового слоя витрин и отчетов
|
||||
- создание объектов, рекомендованных для переиспользования;
|
||||
- обеспечение повышенных требований к качеству, стабильности, уровню сервиса и документации.
|
||||
|
||||
### Компетенции
|
||||
|
||||
**8 soft-компетенций**
|
||||
### Системное развитие BI-отчетности
|
||||
- анализ потребностей бизнеса в отчетности;
|
||||
- подбор оптимальных решений для их покрытия;
|
||||
- мониторинг использования и ценности отчетов.
|
||||
- продуктовый подход ко всему жизненному циклу отчетности
|
||||
|
||||
Зависит от сложности задач:
|
||||
|
||||
+ поиск задач;
|
||||
+ формализация и решение задачи;
|
||||
+ управление ожиданиями и планирование;
|
||||
+ продуктовый подход;
|
||||
+ не зависит от сложности задач;
|
||||
+ вклад в обмен знаниями и комьюнити;
|
||||
+ развитие BI-роли;
|
||||
+ челленджинг запросов;
|
||||
+ управление данными и BI.
|
||||
В разных командах возможно разное соотношение «инженерных» задач (ETL, витрины, код) и «репортинговых» задач (дашбординг, сбор требований, работа с заказчиком) в зависимости от домена. Это может влиять на ожидания от конкретной роли при найме и развитии, усиливая значимость отдельных навыков, но при этом дает пути развития для BI-разработчиков с разными наборами компетенций.
|
||||
|
||||
**5 hard-компетенций**
|
||||
|
||||
Не зависит от сложности задач:
|
||||
+ ETL;
|
||||
+ SQL/DWH;
|
||||
+ Redash;
|
||||
+ визуализация данных;
|
||||
+ Python (опционально).
|
||||
## Профессиональные качества BI-разработчика
|
||||
|
||||
### Базовые ожидания
|
||||
### Базовые ожидания (для всех уровней)
|
||||
- системное мышление — умение видеть целостную картину и анализировать детали;
|
||||
- эффективная коммуникация — способность объяснять сложные вещи как техническим, так и бизнес-пользователям;
|
||||
- ориентация на клиента — глубокое понимание бизнес-контекста и ценности решений.
|
||||
|
||||
Ожидается, что все BI-разработчики, независимо от уровня, обладают базовыми качествами:
|
||||
+ системное и структурированное мышление: умение видеть общую картину и при этом анализировать детали, выявлять взаимосвязи между элементами системы.
|
||||
+ эффективная коммуникация: способность ясно и доступно объяснять сложные технические нюансы, метрики и методологии как техническим специалистам, так и бизнес-пользователям.
|
||||
+ ориентация на клиента: глубокое понимание бизнес-потребностей, готовность вникать в специфику бизнеса, процессы и метрики и предлагать решения, максимально удовлетворяющие ожидания клиента.
|
||||
|
||||
### Лидерские качества
|
||||
|
||||
Ожидаются на уровне Senior и выше, но приветствуются на всех уровнях.
|
||||
Ожидаются с уровня Senior, но приветствуются на всех уровнях.
|
||||
|
||||
**Ответственность за результат**
|
||||
### Ответственность за результат
|
||||
|
||||
BI-разработчик — главный в BI-проекте. Он несёт ответственность за структурирование работ, оптимальное использование ресурсов — своих и других участников. Он не делает лишний BI-отчёт там, где требуется просто представить данные. Ставит под сомнение требования заказчика, если видит, что они неоптимальны для исходной задачи, предлагает альтернативные решения на базе опыта и практик BI.
|
||||
BI-разработчик оценивает тип задачи, которую он делает, разделяя отчёты на аналитические и операционные. Первые требуют скорости и результата, вторые заслуживают времени на создание отчёта как продукта с осознанным сбором требований, учётом потребностей разных групп пользователей, проработанным UI и продвижением. BI-разработчик вовлекает заказчика в адаптацию таких решений и архивирует отчёты, если ими перестают пользоваться, перед этим анализируя причины и возможности реанимации.
|
||||
BI-разработчик использует Fail-Fast подход, проверяя свои предположения и идеи как можно быстрее и дешевле, прежде чем вкладывать в них слишком много времени.
|
||||
Умеет аргументированно отстаивать свою позицию, однако способен вовремя остановиться и принять точку зрения, которую не разделяет.
|
||||
BI-разработчик является главным ответственным за BI-проект. Он структурирует работу, оптимально использует ресурсы, ставит под сомнение неоптимальные требования и предлагает альтернативные решения.
|
||||
Знает когда в разработке отчетности важны скорость и гибкость, а когда — осознанный продуктовый подхода, продуманный UX и продвижение. Он архивирует неиспользуемые отчеты, предварительно анализируя причины и возможности их восстановления.
|
||||
В работе применяется подход Fail-Fast — гипотезы проверяются быстро и с минимальными затратами.
|
||||
|
||||
**Инициативность и проактивность**
|
||||
### Инициативность и проактивность
|
||||
|
||||
BI-разработчик анализирует ценность своей работы для бизнеса и инициирует улучшения. Предлагает инновации, оценивает идеи, создаёт прототипы и презентует решения. BI-разработчик предвидит потенциальные проблемы и уровни риска, устраняет блокеры, разрабатывает стратегии минимизации рисков и внедряет их. Открыто говорит о текущих и возможных рисках проекта, добиваясь их осознания и принятия заказчиком. Фраза «это не входит в мои обязанности» не из лексикона BI-разработчика.
|
||||
BI-разработчик оценивает ценность своей работы для бизнеса и инициирует улучшения, предлагает инновации, создает прототипы и презентует решения. Он заранее выявляет риски, устраняет блокеры и открыто обсуждает ограничения и проблемы с заказчиком.
|
||||
Фраза «это не входит в мои обязанности» не является частью профессионального подхода BI-разработчика.
|
||||
|
||||
**Коммуникация результатов**
|
||||
### Коммуникация результатов
|
||||
|
||||
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.<br>(или)<br>При получении запроса анализирую есть ли более оптимальные решения для реализации требований | 1. Нахожу задачи не ниже middle level.<br>(или)<br>Предотвращаю ненужное создание дашбордов и витрин, подбираю подходящие инструменты для реализации <br><br>2. Участвую в формировании реестра потребностей в отчетах и витринах и их покрытия существующими объектами. | 1. Нахожу задачи не ниже senior level. <br>2 Системно анализирую потребности доменной области: несу ответственность за реестр потребностей в отчетах и витринах с оценкой их ценности для бизнеса и покрытия существующими объектами. <br>3. Участвую в разработке стратегии развития BI доменной области. |
|
||||
| **Формализация и решение задачи** <br> _Компетенция зависит от уровня проекта_ | Самостоятельная формализация, решение и интерпретация проекта уровня junior | Самостоятельная формализация, решение и интерпретация middle проекта | Самостоятельная формализация, решение и интерпретация senior проекта. | Самостоятельная формализация, решение и интерпретация lead проекта. |
|
||||
| **Управление ожиданиями и планирование** | Управляю ожиданиями в рамках непосредственной реализации задачи:<br>1. Запрашиваю приоритет у руководителя<br>2. Уведомляю менеджера об изменениях сроков. | 1. Даю обоснованные оценки для своих задач.<br>2. Планирую свои задачи на уровне нескольких спринтов, согласую планы и приоритеты с менеджером и стейкхолдером.<br>3. Проактивно коммуницирую с заказчиком относительно сроков и рисков.<br>4. Уведомляю менеджера о конфликте задач или изменениях сроков, предлагаю варианты решения. | 1. Планирую задачи на уровне квартала, согласую планы со стейкхолдерами.<br>2. Определяю приоритеты, учитывая весь комплекс факторов<br>3. Даю заказчикам свои коммиты и отвечаю за достижение результата.<br>4. Формулирую свои / декомпозирую командные ОКРы и отвечаю за их исполнение. | 1. Планирую сложные и длительные (больше квартала) проекты<br>2. Строю роадмапы с участием других команд / функций и согласовываю их со всеми заинтересованными сторонами.<br>3. Оцениваю весь комплекс факторов и рисков, влияющих на сроки |
|
||||
| **Продуктовый подход к отчетам и данным** | Анализирую причины, почему мои BI/дата-объекты не используются, предпринимаю действия по реанимации или архивирую. | По моим BI/дата объектам:<br>1. Провожу регулярный анализ использования объектов, собираю обратную связь и реализую меры для прокачки продуктовых метрик отчетности<br>2. Оптимизирую структуру отчетности, реанимирую или архивирую неиспользуемые объекты<br>3. Контролирую автосертификацию объектов.<br>4. Социализирую свои BI/дата объекты (демо, обучение, release-notes). | В дополнение к уровню Middle<br>- Курирую реализацию продуктового подхода в рамках моей доменной области.<br>- Поддерживаю высоким уровень сертификации отчетов и витрин в домене.<br>- Участвую в разметке и ревью ключевых отчетов, датасетов и витрин. | В дополнение к уровню Senior:<br><br>1. Лидирую функциональный проект, согласованный с Head of BI на уровне нескольких доменных областей первого уровня всей BI функции.<br><br>2. Анализирую потенциальную и фактическую ценность ключевых BI решений/проектов, возврат инвестиций. |
|
||||
| **Обмен знаниями и развитие BI роли** <br> Два трека на выбор:<br>1) (О) Обмен знаниями <br>2) (Р) Развитие BI роли <br> Для senior+ необходимо на middle уровне проявлять второй трек. | Не ожидается. | О: Презентую результаты своей работы на аудиторию шире, чем непосредственные заказчики моей команды. Публикую гайды/инструкции для базы знаний, которыми воспользовались другие люди<br><br>Р: Вношу свой вклад в развитие найма, онбординга или обучения (пишу материалы для обучения/онбординга, <br>или создаю новые задачи/кейсы для технических секций, <br>или провожу технические секции) | <br>О: Социализирую использование сложных инструментов и подходов к разработке <br>(или) Презентую свою работу/ делюсь своими наработками и знаниями на общих для функции/компании мероприятиях<br>(или) Вношу весомый вклад в развитие функционального проекта BI <br>(или) Пишу внешние статьи / участвую в меропритиях<br>Р: Провожу интервью с кандидатами и вношу вклад в развитие найма <br>(или) являюсь наставником или ментором BI dev | О: Выступаю с докладами на внешних митапах и конференциях <br>(или) Курирую или организую внутренние или внешние мероприятия для обмена знаниями,<br><br>Р: Отвечаю за развитие одного из этапов найма<br>(или) курирую один из образовательных треков (онбординг, обучающие курсы, менторские программы) |
|
||||
|
||||
|
||||
### Hard skills
|
||||
|
||||
В оценке хардов мы используем не уровни грейдов, а балльную систему. Каждая компетенция оценивается от 0 до 3 баллов, и итоговый грейд определяется по их сумме. Это сделано для того, чтобы обеспечить гибкость оценки биайщика: в одной команде требуется более инженерный склад компетенций, в другой более репортинговый. В некоторых командах отчетность делается в BI системе, в некоторых генерируется в питоне и рассылается внешним пользователям.
|
||||
|
||||
| **Компетенция** | **Описание** | **L1** | **L2** | **L3** |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| **ETL** | Проектирование оптимальной модели данных и схемы хранения, преобразования, нормализации и обновления данных. Устранение ошибок в ETL-процессах, оптимизация модели данных и бизнес-логики для ускорения, внедрение проверок качества | 1. Знаю базовый синтаксис описания загрузок в DDS.<br>Могу построить витрину в DMA слое и датасет в Redash с учетом бизнес логики и потребностей использования.<br><br>2. Умею находить и исправлять ошибки в ETL-процессах.<br>Контролирую отсутствие избыточности хранения данных. | 1. Могу спроектировать и реализовать оптимальную модель данных<br>Схема хранения и преобразования данных оптимальна Построенная схема данных закрывает потребность в данных по выбранной сущности в рамках одного продукта.<br><br>2. Могу оптимизировать модель данных и предложить оптимизацию бизнес логики для ускорения получения результата.<br>Есть успешный пример оптимизации с улучшением скорости обработки данных. | 1. Могу спроектировать и реализовать оптимальную модель данных<br><br>2. Итоговый результат работы модели данных стабильно и контролируемо работает в проде, закрывает потребность в данных по выбранной сущности, переиспользуется в других командах и полезен для них, документирован, сами объекты покрыты тестами/алертами.<br><br>3. В модели используется большое количество объектов с значительной обработкой данных <br>В качестве подтверждения требуется отзыв DWH инженера. |
|
||||
| **SQL/DWH** | Свободное владение SQL, написание оптимальных запросов для работы с большими данными, учет особенностей Vertica, ClickHouse и Trino, контроль перфоманса | 1. Свободно владею SQL: могу написать правильный и оптимальный запрос к известному источнику данных. Знаю OLAP специфику SQL, Оконные функции, CTE<br>2. Пишу оптимизированные SQL-запросы. Использую разные СУБД в зависимости от задач (vertica, trino, clickhouse) | Контролирую метрики перфоманса существующих обработок данных, используя особенности разных СУБД | 1. Пишу и оптимизирую SQL код высокой сложности: 3V (Volume, Velocity, Variety) <br><br>2. Использую в решении задач, связанных с хранилищем не SQL-решения там, где такие решения позволяют добиться значимой оптимизации.<br><br>3. Итоговый результат стабильно работает в проде, используется пользователями и полезен для них, логика работы и бизнес-смысл документированы.<br><br>В качестве подтверждения требуется отзыв DWH инженера. |
|
||||
| **Redash** | Владение инструментом - Создание базового и продвинутого функционала дашбордов, корректное использование датасетов для оптимизации скорости | 1. Я владею функционалом redash для выполнения базовых требований в дашборду: создание чартов, параметров, кверей, произвожу дебагинг элементов<br><br>2. Могу подключаться к источникам.<br>Делаю корректный выбор между датасетом и live подключением, с учетом использования кверей, чартсов и параметров | 1. Я использую построении отчетов более сложные функциональные элементы:<br>- Расчет в дашборде сравнительных показателей (DoD,MoM, YoY)<br>- Вычисления с использованием параметров (например расчет top-N, split by в чарте)<br>- Ссылки для навигации между связными дашбордами, другими приложениями<br>- Использую кросс-фильтрацию между чартами и дрилл-даун функционал.<br><br>2. Могу использовать несколько датасетов для оптимизации скорости работы.<br>Понимаю ограничения использования различных источников, использую их оптимально. | В дополнение к уровню 2:<br><br>1. Я создаю Redash отчеты высокой сложности.<br>- Создаю систему дашбордов как приложение, состоящее из нескольких дашей разного типа, с разными пользовательскими сценариями для 3+ бизнес сущностей, высокими требованиями к качеству визуализации, с обоснованным использованием сложных технических решений<br>- Итоговый отчет стабильно работает в проде, логика и технические элементы документированы, сам отчет сертифицирован.<br>- Датасеты отчета оптимальны - не содержат нехарактерных для clickhouse методов обработки и типов данных и имеют специфические алерты на качество данных.<br><br>В качестве подтверждения требуется ревью проекта.<br><br>2. Вношу вклад в развитие продукта - предложил фичу, набравшую 10+ голосов и принятую в беклог продукта, или сделал pull request, принятый в проде продукта |
|
||||
| **Визуализация данных** | Выбор чартов под задачу, Выбор оптимального layout дашборда в зависимости от кейса, работа с UX, цветом, формой, шрифтами и другими визуальными элементами | 1. Умею подбирать базовые типы графиков (bar, stacked, line charts, tree map, area chart, таблицы, фактоиды) исходя из задачи. <br> 2. Я применяю базовые требования (чеклист) к дизайну и UI/UX в BI: <br> - Настроены фильтры и экшены <br> - Есть футер/хедер <br> - Подписи, легенды, тултипы адекватно оформлены <br> - Цвета, шрифты, форматы чисел выбраны из стандартных палитр <br> - Документация и подсказки в интерфейсе <br> - Есть индикатор актуальности данных | 1. Использую расширенный набор чартов, в том числе boxplots, scatterplot, heatmaps, treemaps, waterfalls, sankey, фактоиды с динамиков и дельтами, таблицы с доп фунционалом. Применяю основные принципы дизайна дашбордов. <br> 2. Я разрабатываю и согласую мокап дашборда с Заказчиком. Аргументирую свои решения, выбор графиков на встречах с бизнесом, обосновывая их оптимальность. | В дополнение к уровню 2: <br> 1. Мои дашборды не содержат ошибок с точки зрения принципов визуализации данных и соответствуют расширенным требованиям: <br>- Layout, чарты и структура отчета оптимальны для бизнес задачи, данных и аудитории.<br> - Нет ошибок в работе с цветом в дашбордах <br> - Используются продвинутые принципы дизайна дашбордов (Тафти, гештальт, etc) <br> В качестве подтверждения требуется ревью проекта. <br> 2. Вношу вклад в развитие культуры визуализации: <br> - cоздал переиспользуемый шаблон в echarts <br> (или) принял участие в "прожарке" в качестве участника или в члена жюри. <br> - (или) разработал учебный продукт/материал, используемый как часть общекорпоративного подхода.<br> - (или) обучил коллег применять принципы дизайна дашбордов (в рамках ИПР, менторства) |
|
||||
| **Python** | Дополнительный: <br> анализ данных с циклами, pandas, requests и PoC на plotly, разработка алгоритмов и автоматизированные микросервисов в PaaS | 1. Владею базовыми методами обработки данных и решаю точечные задачи. Циклы, условия, pandas, requests. Умею подключиться к вертике из питона. <br> 2. Могу получить данные с системы источника и провести их анализ для раскладки. <br> 3. Мой код отвечает условию читаемости. <br> 4. Могу накидать PoC на plotly. | Составляю алгоритмы из базовых инструментов, описанных в уровне 1, для решения задач. <br> Т.е. на выходе получается фреймворк для регулярного решения типовых задач при процессинге данных. | Создаю автоматизированные решения для внутренних или внешних пользователей (тулы для генерации дайжестов, слайдов, рассылок, ботов, инсайтов и т.д.) <br> Решение: <br> - Включает написание микросервиса в PaaS. <br> - Включает заведение метрик для сервиса в графане. <br> - Не дублирует существующие функции инструментов платформы и имеет доказанную пользу бизнесу. <br> - Стабильно работает в проде, логика и технические элементы документированы. <br> В качестве подтверждения требуется отзыв разработчика. |
|
||||
|
||||
|
||||
#### Минимальные требования к Hard скиллам
|
||||
|
||||
После того, как каждая хард компетенция оценена, делается вывод какому грейду это соответствует
|
||||
|
||||
| **Junior BI Developer** | **BI Developer** | **Senior BI Developer** | **Lead BI Developer** |
|
||||
| --- | --- | --- | --- |
|
||||
| Сумма баллов >= 4<br><br>Минимальные уровни:<br>SQL/DWH = 1<br>Redash = 1<br>ETL = 1<br>Визуализация данных = 1 | Сумма баллов >= 7<br>Баллы по каждой компетенции >= указанных уровней:<br><br>Минимальные уровни по компетенциям:<br>SQL/DWH = 2<br>Redash = 2<br>ETL = 2<br>Визуализация данных = 1<br><br>Опциональный вариант с Python:<br>Компетенция Python - может использоваться при нехватке баллов для достижения требуемой общей суммы.<br>При этом повышается требование к общей сумме баллов до >= 8 | Сумма баллов >= 8<br>Хотя бы одна из компетенций = 3.<br> Баллы по каждой компетенции >= указанных уровней:<br>Минимальные уровни по компетенциям:<br>SQL/DWH = 2<br>Redash = 2<br>ETL = 2<br>Визуализация данных= 1<br><br>Опциональный вариант с Python:<br>Компетенция Python - может использоваться при нехватке баллов для достижения требуемой общей суммы.<br>При этом повышается требование к общей сумме баллов до >= 9. | Сумма баллов >= 9<br>Хотя бы две компетенции = 3.<br>Баллы по каждой компетенции >= указанных уровней:<br><br>Минимальные уровни по компетенциям:<br>SQL/DWH = 2<br>Redash = 2<br>ETL = 2<br>Визуализация данных = 1<br><br>Опциональный вариант с Python:<br>Компетенция Python - может использоваться при нехватке баллов для достижения требуемой общей суммы.<br>При этом повышается требование к общей сумме баллов до >= 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
|
||||
|
||||
Reference in New Issue
Block a user