Из аналитика данных в Data Engineer: путь и план

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Зачем 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-позиции
Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Где брать 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.

Связанные темы

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 — да (это другая роль).