Из аналитика данных в Data Engineer: путь и план
Содержание:
Зачем DA переходит в Data Engineer
DA работает с данными, которые ему подготовили. DE строит инфраструктуру, чтобы эти данные были: pipelines, DWH, real-time streams. Переход даёт: более инженерная работа (меньше PowerPoint), более стабильную карьерную траекторию (DE редко увольняют), часто более высокую медианную зарплату.
В РФ — спрос на DE стабильно высокий, потому что данные растут, а инженеров не хватает. Переход типичный: DA с уверенным SQL и желанием инженерии → DE junior+/middle. На собесе Data Engineer DA-опыт даёт преимущество — знание SQL, business context, понимание потребителей данных.
Что общего и в чём разница
Общее:
- SQL (DA знает обычно лучше — на запросы)
- Базовый Python (pandas)
- Понимание data модели (схемы, отношения)
- Базовая инфраструктура (откуда данные)
Разница:
| DA | DE | |
|---|---|---|
| SQL | анализ | + оптимизация, индексы, EXPLAIN |
| Python | scripts, notebooks | production code, classes, tests |
| Инструменты | BI tools | Spark, Airflow, Kafka, ClickHouse |
| Архитектура | потребитель | проектировщик |
| Distributed systems | basic | глубоко |
| Time series в инфраструктуре | redко | основная задача |
Что доучить
1. SQL до Senior-уровня (1-2 месяца)
DA знает запросы, DE — оптимизацию.
- EXPLAIN PLAN и performance tuning
- Индексы (B-tree, hash, GIN, BRIN, composite)
- Partitioning, materialized views
- Window functions до автоматизма
- JOIN-стратегии (hash, merge, broadcast)
Подробнее — SQL для DE.
2. Apache Spark (2-3 месяца)
Главный инструмент batch-обработки больших данных.
- Архитектура: driver, executors, partitioning
- Catalyst, shuffle, broadcast joins
- DataFrame API глубоко (PySpark)
- Optimization: skew, AQE, partitioning
Книга: «Spark: The Definitive Guide» (Chambers). Подробнее — Spark deep dive.
3. Apache Airflow (1-2 месяца)
Оркестрация batch-pipelines.
- DAG-design, идемпотентность, sensors, retry
- Backfill, catchup
- XCom, communication между tasks
- Scheduler internals (basic)
Подробнее — Airflow patterns.
4. Kafka и streaming (1-2 месяца)
Для real-time pipeline-ов.
- Partitions, consumer groups, offsets
- Exactly-once semantics
- Schema Registry
Подробнее — Kafka streaming.
5. Distributed systems (2-3 месяца)
Фундамент.
- CAP-теорема, eventual consistency
- Replication, sharding
- Failure modes в distributed системах
Книга: «Designing Data-Intensive Applications» (Kleppmann).
6. Data modeling (1-2 месяца)
- Star vs Snowflake schema
- SCD типы
- Data Vault (basic)
Подробнее — Data modeling.
План перехода
Месяцы 0-3: SQL + Python
- SQL до senior. Window functions до автоматизма. SQL для DE
- Python: классы, тесты, асинхронность basics
- Знакомство со Spark через PySpark на маленьких объёмах
- Книга «Designing Data-Intensive Applications» (Kleppmann)
Месяцы 3-6: Spark + Airflow
- Курс по Spark + pet-project (real-world dataset)
- Курс по Airflow + pet-project (DAG с retry, sensors, backfill)
- Книга «Data Pipelines with Apache Airflow» (Harenslak)
Месяцы 6-9: Kafka + DWH
- Kafka basics + pet-project (event streaming)
- ClickHouse / Snowflake / BigQuery documentation + practice
- Pet-project end-to-end: ingestion → processing → DWH → ML
Месяцы 9-12: Подача и интервью
- 10+ ML system design кейсов вслух
- LeetCode Medium 50+ задач
- Подача на DE-позиции
Где брать DE-опыт
1. На текущей работе. Самое эффективное. «Можно я займусь pipeline X?» Аналитики часто строят свои ETL — оформи как DE-experience.
2. Pet-project end-to-end. Reddit / Twitter API → Kafka → Spark → ClickHouse → dashboard. Покажет всё в одном.
3. Open-source. Контрибуть в Spark, Airflow, Kafka client libraries. Высокий signal.
4. Внутренний transfer. Перейти из DA в DE внутри компании. Меньше риска для компании, больше шанс на тебя.
Частые ошибки
- Прыгать в Spark без SQL-base. Spark — это SQL под капотом. Слабый SQL = слабый Spark.
- Игнорировать distributed systems. Без понимания CAP / eventual consistency DE не работает.
- Pet-project в Jupyter. DE — production. Pet-project должен иметь Docker, CI/CD, тесты.
- Слабая алгоритмика. На live-coding DE — LeetCode Medium регулярно. Хеш-мапы, two pointers, DP.
- Не учить SQL-оптимизацию. DA пишет SELECT, DE пишет SELECT + EXPLAIN + tuning.
Связанные темы
- Собеседование на Data Engineer
- SQL для DE
- Apache Spark на собесе DE
- Airflow на собесе DE
- Из аналитика в Data Scientist
FAQ
Сколько занимает переход?
В среднем 9-12 месяцев активного обучения + 1-3 месяца поиска. Если уже строишь pipeline на работе — быстрее.
С какого опыта DA лучше переходить?
С 2-3 лет в DA. Чем раньше — тем больше нужно компенсировать инженерным опытом.
DE или DS — что выбрать?
DE — инженерная работа, infrastructure. DS — research, модели. Выбирай по тому, что нравится: «как данные двигать» (DE) или «что в данных понять» (DS).
Нужны ли алгоритмы Leetcode для DE?
Да, базовые. Easy/Medium. Hash maps, two pointers, DP. Hard — редко.
Спрашивают ли deep learning?
В DE-командах — нет. В ML Engineering — да (это другая роль).