Создаёт индексы для ускорения extraction-запросов: B-tree для равенств, composite для multi-column WHERE. Использует EXPLAIN для проверки использования индексов в ETL-запросах.
Роли · Data Engineer · Junior
Что должен уметь Junior }
24 ключевых навыков, всего 64. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Базы данных, Облако и инфраструктура, Data Engineering.
Ключевые навыки для Junior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Базы данных · 9
Выполняет миграции схем data warehouse: CREATE/ALTER TABLE через SQL-скрипты. Понимает идемпотентность DDL. Тестирует миграции на dev-среде перед production.
Оптимизирует SQL-запросы для ETL: избегает SELECT *, использует WHERE для фильтрации на стороне источника. Понимает pushdown predicates. Анализирует EXPLAIN для поиска full table scans.
Проектирует таблицы data warehouse: star schema (fact + dimension), типы SCD (Type 1, 2). Создаёт staging, intermediate и mart слои. Понимает нормализацию и денормализацию для аналитики.
Понимает базовые концепции репликации БД: primary-replica топология, синхронная и асинхронная репликация, replication lag. Мониторит здоровье реплик через стандартные инструменты. Следует runbook команды для failover-процедур и настройки connection string.
Пишет базовые CQL-запросы для чтения и вставки данных в таблицы Cassandra. Понимает ключи партиционирования и кластерные колонки в существующих схемах. Следует принципам моделирования данных, установленным командой.
Понимает важность backup в data pipelines: checkpoint файлы, intermediate results. Использует snapshot перед destructive операциями. Знает как восстановить данные из staging-таблиц.
Пишет аналитические запросы в ClickHouse: SELECT с GROUP BY, ORDER BY, LIMIT. Понимает MergeTree engine и партиционирование. Вставляет данные через INSERT и использует tabular форматы.
Пишет SQL-запросы для извлечения данных: SELECT с JOIN, GROUP BY, оконные функции. Работает с psycopg2/SQLAlchemy. Понимает типы PostgreSQL: JSONB, arrays, timestamps with timezone.
Облако и инфраструктура · 1
Понимает сетевые основы для data pipelines: TCP/IP для database connections, DNS для service discovery. Настраивает connectivity между ETL и источниками данных через VPN/VPC peering.
Data Engineering · 14
Понимает принципы медальонной архитектуры (bronze/silver/gold). Загружает данные в raw-зоны с помощью пакетных загрузчиков и реестров схем. Следует установленным паттернам для размещения Parquet/ORC файлов и метаданных каталога.
Создаёт Airflow DAGs: PythonOperator, BashOperator, task dependencies. Понимает execution date, catchup, schedule interval. Мониторит runs в Airflow UI. Дебажит failed tasks через логи.
Понимает основы Apache Spark для дата-инженерии: API RDD/DataFrame, базовые трансформации и действия, чтение/запись Parquet/CSV/JSON. Следует командным паттернам для структуры PySpark-задач, конфигурации SparkSession и выделения ресурсов кластера.
Использует Dagster или Prefect для построения и планирования базовых ETL-пайплайнов. Понимает концепции assets, tasks и flow. Мониторит выполнение пайплайнов и обрабатывает повторные запуски при временных сбоях.
Использует data catalog для поиска датасетов: просматривает описания таблиц, владельцев, lineage. Документирует свои таблицы: описания полей, business glossary terms.
Понимает data contracts: schema definition, SLA (freshness, completeness). Следует установленным контрактам при создании таблиц. Документирует schema своих data products.
Читает data lineage графы: понимает откуда данные приходят и куда уходят. Использует lineage для impact analysis при изменении источников. Документирует зависимости своих моделей.
Пишет базовые data quality checks: NOT NULL, unique constraints, value ranges. Использует dbt tests или Great Expectations для валидации. Понимает метрики: completeness, accuracy, timeliness.
Создаёт базовые таблицы хранилища в Snowflake, BigQuery или Redshift, следуя командным конвенциям. Применяет простые стратегии партиционирования и кластеризации для типовых паттернов запросов. Строит простые ELT-пайплайны для загрузки сырых данных в staging-зону с базовыми трансформациями.
Создаёт dbt-модели: SELECT-запросы с ref() и source(), staging и mart модели. Пишет generic tests (unique, not_null). Понимает DAG и зависимости между моделями.
Понимает основы Delta Lake / Apache Iceberg. Работает с простыми ETL-задачами. Использует SQL для базовой обработки данных.
Обрабатывает данные через pandas: read_csv/read_parquet, фильтрация, группировка, merge. Понимает DataFrame API. Работает с типами данных и missing values (fillna, dropna).
Пишет SQL для ETL: INSERT INTO SELECT, MERGE для upserts, CTE для readable transformations. Использует оконные функции (ROW_NUMBER, LAG, LEAD) для data processing.
Понимает основы Kafka Streams, включая двойственность KStream/KTable. Пишет простые потоковые consumers и producers для этапов загрузки данных в pipeline.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Middle
64 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.
- Prometheus и Grafana: Осведомлённость → Применение · становится ключевым
- Архитектура Data Lake: Осведомлённость → Применение
- Индексирование БД: Осведомлённость → Применение
- Миграции БД: Осведомлённость → Применение
- Оптимизация запросов: Осведомлённость → Применение
- Основы сетей: Осведомлённость → Применение
- Проектирование схем данных: Осведомлённость → Применение
- Репликация и High Availability: Осведомлённость → Применение
- Apache Airflow: Осведомлённость → Применение
- Apache Cassandra: Осведомлённость → Применение
} в открытой матрице компетенций: 64 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.