Skip to content

Commit 0a30108

Browse files
authored
Add DE Matrix
feat: add de matrix
2 parents c103db0 + 34450db commit 0a30108

File tree

6 files changed

+167
-0
lines changed

6 files changed

+167
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# 1. Software Engineering
2+
3+
Этот трек посвящен навыкам разработки программного обеспечения, включая написание чистого, поддерживаемого и тестируемого кода, а также использование современных инструментов и методологий разработки.
4+
5+
## DE1 (Junior)
6+
- Я пишу утилиты командной строки или автоматизирующие скрипты на одном языке программирования
7+
- Я понимаю базовые структуры данных и основы ООП
8+
- Я читаю чужой код и могу внести локальные правки
9+
- Я использую базовые средства отладки (breakpoints, logging)
10+
11+
## DE2 (Middle)
12+
- Я разрабатываю приложения из нескольких модулей (CLI, REST API, batch-jobs) с применением популярных библиотек и SDK
13+
- Я использую распространённые фреймворки (web/CLI, ORM, unit-test) и понимаю их архитектурные принципы
14+
- Я оформляю код по style-guide проекта, пишу README и докстринги.
15+
- Я прохожу код-ревью и оперативно правлю замечания.
16+
17+
## DE3 (Middle +)
18+
- Я провожу код-ревью коллег, аргументируя решения и улучшая качество кода
19+
- Я пишу модульные и интеграционные тесты, покрывая критический функционал
20+
- Я настраиваю CI-pipeline для проверки качества и сборки артефактов
21+
22+
## DE4 (Senior)
23+
- Я настраиваю мониторинг, логирование и алерты (Prometheus, Grafana, Grafana OnCall) для приложений;
24+
- Я управляю релизным циклом: версионирование, changelog, rollback-план;
25+
- Я оптимизирую производительность кода и памяти.
26+
- Я внедряю и развиваю стандарты код-ревью, CI/CD и release management.
27+
- Я менторю и обучаю инженеров младших уровней.
28+
29+
## DE5 (Staff)
30+
- Я проектирую архитектуру сервисов совместно с командой, задаю модули и контракты.
31+
- Я формирую технический roadmap направления и веду RFC-процессы.
32+
- Я инициирую внедрение новых языков, фреймворков или парадигм при необходимости.
33+
- Я определяю групповые стандарты разработки, качества и безопасности кода.
34+
- Я отслеживаю ресурсопотребление через профилировщики/трассировщики и устраняю bottleneck'и.
35+
- Я руковожу разработкой и поддержкой внутренних библиотек/SDK.

data-engineering/2. ETL.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# 2. ETL
2+
3+
Этот трек посвящен навыкам проектирования, разработки и поддержки ETL-пайплайнов, включая работу с распределенными системами, оркестрацию данных и оптимизацию производительности.
4+
5+
## DE1 (Junior)
6+
- Я понимаю, зачем нужны распределённые вычисления в Spark и когда их выбирать вместо однопоточных инструментов.
7+
- Я понимаю концепцию DAG в Airflow, назначение тасков, расписание и ретраи и могу объяснить, когда применять оркестрацию.
8+
- Я создаю DAG, используя PythonOperator, BashOperator и Sensor; настраиваю расписание и ретраи.
9+
- Я запускаю spark batch‑джобы до ≈ 50 GB данных, используя DataFrame API и базовые трансформации.
10+
11+
## DE2 (Middle)
12+
- Я строю DAG, использую Branch/Trigger Rules, XCom и TaskGroup, интегрируюсь с S3, БД и внешними API.
13+
- Я читаю и трансформирую данные из таблиц Iceberg, оптимизирую partitioning, persist и broadcast joins.
14+
15+
## DE3 (Middle +)
16+
- Я проектирую многоэтапные пайплайны с Sensor‑triggered и динамически генерируемыми тасками, внедряю DAG‑versioning и тесты; применяю Pools, Queues и Priority Weights для балансировки воркеров.
17+
- Я записываю данные в Iceberg‑таблицы, настраиваю partitioning и поддерживаю snapshot isolation; конфигурирую executors и shuffle service.
18+
19+
## DE4 (Senior)
20+
- Я оптимизирую производительность оркестрации, настраиваю метрики/алерты в Prometheus/Grafana и повышаю стабильность ETL-пайплайнов делая их более надежными.
21+
- Я оптимизирую Iceberg (metadata compaction, manifest merge), управляю Structured Streaming и ресурсами кластера Spark K8s.
22+
- Я создаю многоразовые ETL‑frameworks, custom Operators/Hooks, UI‑плагины и обучаю команды best‑practices.
23+
24+
## DE5 (Staff)
25+
- Я управляю lakehouse‑слоем Iceberg, обеспечиваю schema evolution и time‑travel при объёмах > 10 TB; автоматизирую CI/CD для пайплайнов.
26+
- Я формирую и документирую архитектуру оркестрации данных, политики владения DAG (code‑owners, review rules, CI‑гейты); формирую рекомендации по versioning, тестированию и security‑context; фиксирую решения в ADR и провожу архитектурные ревью.
27+
- Я формирую roadmap вычислительных движков (Spark/Trino), управляю cost‑моделью кластера, оцениваю новые фичи Iceberg и провожу PoC.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# 3. SQL • ClickHouse • Trino
2+
3+
Этот трек посвящен навыкам работы с SQL, включая написание сложных запросов, оптимизацию производительности и администрирование баз данных, таких как ClickHouse и Trino.
4+
5+
## DE1 (Junior)
6+
- Я пишу SELECT с фильтрацией, агрегацией и JOIN, CTE, window functions и аналитическими функциями.
7+
- Я понимаю основные типы данных, первичные/внешние ключи и разницу OLTP vs OLAP.
8+
- Я создаю таблицы, индексы и партиционирую данные в Clickhouse и Trino.
9+
- Я понимаю уровни изоляции транзакций и нормальные формы (1NF‑3NF).
10+
- Я выполняю распределённые запросы через несколько источников, используя существующие каталоги.
11+
12+
## DE2 (Middle)
13+
- Я создаю MergeTree‑таблицы, задаю primary key, partition key, TTL и понимаю процесс merges в Clickhouse
14+
- Я настраиваю каталоги в Trino
15+
- Я читаю system-таблицы и логи для анализа «узких мест» (дисковое I/O, merges, пробки по памяти).
16+
- Я использую Trino как слой федерации: соединяет данные из S3 + ClickHouse, делает CTAS или INSERT INTO в Iceberg.
17+
18+
## DE3 (Middle +)
19+
- Я оптимизирую схемы (LowCardinality, Sparse columns), создаю Materialized Views и Replacing/Collapsing MergeTree; настраиваю TTL‑политику, агрегирующие витрины в Clickhouse
20+
- Я знаю основные показатели кластера ClickHouse (Query, Merge, Parts, Mutation) и Trino (CPU time, blocked time, GC) и могу оперативно диагностировать 90 % типичных проблем (disk-bound merge, spill-to-disk, out-of-memory).
21+
- Я понимаю влияние типов данных и преобразований на производительность, избегаю неявных кастов.
22+
23+
## DE4 (Senior)
24+
- Я проектирую физические модели хранения под SLA запросов (hot/cold слои, сортировка, партиционирование).
25+
- Я анализирую cost‑based plan, использую session properties и Iceberg connector для оптимизации запросов.
26+
- Я умею читать основные показатели кластера Clickhouse, могу выявить любую проблему, вычислить корневую причину и предложить ряд действий для решения проблемы. Я точечно реагирую и выделяю слабое место в работе кластера
27+
28+
## DE5 (Staff)
29+
- Я настраиваю и управляю кластерами ClickHouse (репликация, шардирование, балансировка нагрузки, backup/restore) и Trino (coordinator/worker topology, resource groups, HA).
30+
- Я читаю и анализирую changelog и release‑notes ClickHouse/Trino, планирую безопасные апгрейды и тестирую миграции.
31+
- Я формирую корпоративную стратегию ClickHouse/Trino: стандарты апгрейдов, capacity‑planning, FinOps и governance каталога данных.
32+
- Я разрабатываю DR‑планы, multi‑DC репликацию и сквозное шифрование.
33+
- Я автоматизирую миграции схем и версионирование данных.
34+
- Я веду R&D новых движков и PoC, оцениваю ROI их внедрения.
35+
- Я обучаю продуктовые команды оптимизации затрат на хранение и вычисления и провожу архитектурные ревью.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# 4. Infrastructure & DevOps
2+
3+
Этот трек посвящен навыкам работы с инфраструктурой и DevOps, включая контейнеризацию, оркестрацию, CI/CD и мониторинг.
4+
5+
## DE1 (Junior)
6+
- Я запускаю контейнеры с docker run, монтирую тома и прокидываю порты.
7+
- Я собираю образ по Dockerfile и тестирую его локально.
8+
- Я пишу многостейджевые Dockerfile, оптимизирую размер образов и использую .dockerignore.
9+
- Я конфигурирую docker compose для локальной разработки нескольких сервисов и публикую образы в частный реестр.
10+
11+
## DE2 (Middle)
12+
- Я деплою приложение через kubectl apply, создаю Deployment, Service, ConfigMap и Secret.
13+
- Я задаю requests/limits, readiness/liveness probes и просматриваю логи Pod.
14+
- Я описываю базовые конфигурации для создания кластера K8s или облачных ресурсов и храню состояние удалённо.
15+
16+
## DE3 (Middle +)
17+
- Я настраиваю Ingress‑контроллер и Horizontal Pod Autoscaler.
18+
- Я использую ConfigMaps/Secrets для параметров приложения
19+
- Я создаю Helm‑chart из существующих манифестов и публикую его в репозиторий.
20+
21+
## DE4 (Senior)
22+
- Я внедряю GitOps/CI‑CD (Helm + CI, Argo CD) и управляю rollout‑стратегиями (blue‑green).
23+
- Я настраиваю базовый мониторинг: экпортёр метрик в Prometheus и дашборд в Grafana.
24+
- Я провожу пост-мортерм анализ инцидентов и обновляю SLA/SLO
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# 5. Data Modelling (dbt • Lakehouse)
2+
3+
Этот трек посвящен навыкам моделирования данных, включая проектирование схем данных, использование dbt для трансформации данных и построение Lakehouse архитектуры.
4+
5+
## DE1 (Junior)
6+
- Я понимаю разницу между fact и dimension, а также концепцию bronze → silver → gold слоёв Lakehouse.
7+
- Я строю star/snowflake схему в «silver» и веду базовые unique/not_null тесты.
8+
- Я создаю простые модели в dbt: sources, seeds, staging слой и документы (docs generate).
9+
- Я разрабатываю incremental модели dbt, настраиваю is_incremental() логику и SCD type 2 через dbt_utils.surrogate_key.
10+
11+
## DE2 (Middle)
12+
- Я применяю Lakehouse практики: материализую данные в Iceberg‑таблицы silver, оптимизирую partitioning.
13+
- Я разрабатываю и использую нейминг конвенции, оптимизирую структуру хранилища для лучшего поиска и чтения данных.
14+
- Я умею выбирать корректную структуру витрин с точки зрения фактов и измерений.
15+
16+
## DE3 (Middle +)
17+
- Я строю «gold» слой: агрегаты и дата‑марты для BI, применяя exposures и metrics в dbt.
18+
- Я создаю собственные macros/packages, использую run‑operation для backfill и автоматизирую schema tests (volume, freshness).
19+
- Я разрабатываю корпоративные стандарты моделирования (naming, folder‑structure, config блоки, docs).
20+
21+
## DE4 (Senior)
22+
- Я внедряю data contracts: описываю ожидания и SLA в meta, подключаю линтеры (sqlfluff).
23+
- Я формирую стратегию моделирования Lakehouse в компании: правила bronze/silver/gold, стандарты dbt‑кодирования и процессы review.
24+
- Я обучаю команды Best Practices, провожу миграции старых DWH на Lakehouse/dbt и курирую roadmap развития моделей.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# 6. Data Management & Governance
2+
3+
Этот трек посвящен навыкам управления данными и обеспечения их качества, безопасности и соответствия политикам, включая использование каталогов данных и внедрение процессов DMBOK.
4+
5+
## DE1 (Junior)
6+
- Я соблюдаю naming‑конвенции каталогов/таблиц/колонок и храню описания в README.
7+
- Я заполняю базовые tags и owners в OpenMetadata при создании датасета.
8+
- Я регистрирую источники данных через ingestion‑коннекторы OpenMetadata/DataHub (S3, ClickHouse, Trino).
9+
- Я описываю столбцы (description, data type) и задаю метаданные sample_data, profile.
10+
11+
## DE2 (Middle)
12+
- Я внедряю автоматические профили качества (null %, distinct %, min/max) и базовые тесты dbt tests; публикую результаты в Data Catalog.
13+
- Я создаю lineage между таблицами ETL‑пайплайна.
14+
- Я настраиваю дата‑контракты (expectations, freshness SLA) и алерты о деградации качества.
15+
16+
## DE3 (Middle +)
17+
- Я конфигурирую политики доступа (RBAC, row/column level) и PII‑классификацию через OpenMetadata; интегрирую с SAML/LDAP.
18+
- Я определяю процессы DMBOK: data ownership, stewardship, lifecycle, retention; фиксирую их в Confluence и каталоге.
19+
20+
## DE4 (Senior)
21+
- Я курирую Data Governance Board, утверждаю словарь бизнес‑метрик, управляю change‑management процессом (RFC к схемам).
22+
- Я внедряю автоматизированное кластерное тегирование чувствительных данных (PII, GDPR) и отчётность по соответствию.

0 commit comments

Comments
 (0)