25 KiB
О роадмапе
Этот роадмап — конспект моих подходов к обучению Data Engineering.
Он подойдёт тем, кто хочет:
- системно войти в профессию с нуля или близкого к нулю уровня;
- закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, GreenPlum);
- подготовиться к собеседованиям и первым рабочим задачам.
Роадмап можно проходить самостоятельно или вместе со мной в формате менторства.
Если хотите идти с поддержкой ментора — напишите в Telegram: @dementev_dev.
Оглавление
- Основные знания
- Практика и инструменты
- Карьера и менторство
- Расширенные навыки
- Софт скиллы
- Дополнительные материалы
Рекомендуемый способ использования:
- двигаться по разделам последовательно, не перепрыгивая через базу;
- выполнять практику и домашки, а не только смотреть материалы;
- возвращаться к разделам по мере появления реальных задач.
Основные знания
Git и базовые инструменты
База по Git
Что такое контроль версий, когда используется, ПОЧЕМУ и как мы в обучении будем использовать. Как создать репозиторий на GitHub, сохранять в нем изменения.
- Что такое Git для Начинающих / GitHub за 30 минут / Git Уроки - Youtube
- Книга Pro Git - читать главу 1
Основы Markdown
- Язык Markdown и файл README | Git и GitHub для начинающих - Youtube
- Markdown и его возможности: простой способ оформления текста
- Синтаксис Markdown: подробная шпаргалка для веб-разработчиков / Skillbox Media
Домашки по остальным темам тренируемся делать в Git, там же пишем документацию.
SQL
База по SQL
Книга: PostgreSQL. Основы языка SQL - Глава 1 "Введение в базы данных и SQL" + ДЗ
Бесплатный тренажер: Интерактивный тренажер по SQL – Stepik
Целевой уровень знания SQL - Live кодинг на собесе. Проверяем на первом мок-интервью
СТЕ
- Зачем нам CTE: Getting started with CTEs | dbt Labs
- Подробнее про синтаксис: PostgreSQL : Документация: 17: 7.8. Запросы WITH (Общие табличные выражения) : Компания Postgres Professional
Для дальнейшей тренировки и поддержания уровня можно использовать Database - LeetCode. Хорошая подборка задачек: SQL 50 - Study Plan - LeetCode
Повышение знаний SQL
Смотрим курс от Postgres Pro DEV1
Темы - от "Введение" до "SQL" включительно, "Управление доступом", "Резервное копирование". Для лучшего усваивания материала проделываем все примеры и домашние задания из конспектов лекция.
С темой "PL/pgSQL" можно ознакомиться обзорно.
Для развития навыков инженера будет полезно лабораторные работы делать не в виртуальной машине, а в docker контейнере. Предложенный (не обязательный) вариант - в каталоге postgres-bookings репозитория.
Для дальнейшего закрепления материала - читаем книгу PostgreSQL. Основы языка SQL
- Глава 8 - Индексы + ДЗ
- Глава 9 - Транзакции
- Глава 10 - Повышение производительности + ДЗ
Вопросы оптимизации запросов хорошо описаны в курсе QPT от Postgres Pro. Полученные навыки применимы для работы в том числе с GreenPlum, и частично, другими БД. На момент написания, видеолекции были доступны только для старой версии Postgres 13, но ее вполне достаточно.
Моделирование данных
Понимание того, как устроены данные и зачем они нужны, — ключ к качественным ETL-процессам.
Мы кратко разбираем:
- Основные подходы: нормализованные (3NF) vs денормализованные (звезда, снежинка)
- Что такое staging, marts, слои raw / clean / business
- Как проектировать таблицы под конкретные сценарии использования
Цель — не стать архитектором, а уметь читать и объяснять структуру данных, чтобы писать осмысленные запросы и трансформации.
Материалы:
- Яндекс Практикум: что такое нормализация, простыми словами (для самых начинающих)
- Базы данных. 1,2,3 нормальные формы. - Youtube
- Введение в структуру хранилища данных
- Теория про Slowly Changing Dimensions: SCD
- Еще про Data Vault:
- Введение в Data Vault - Хабр
- Основы Data Vault - Хабр
- DataVault за 10 минут - Youtube
- Статья «Что такое Data Vault: моделирование КХД для архитектора Big Data» — обзор, плюсы/минусы, контекст применения.
- Гибкие методологии проектирования Data Vault и Anchor Modeling | Евгений Ермаков | karpov.courses
- Лекция в рамках курса по DWH: именно «Основы Data Vault, создаем первую модель» — хороший формат: теория + пример.
- Доклад - практический пример: Денис Лукьянов — Data Vault 2.0. Когда внедрять, проблемы применения при построении DWH на Greenplum
- Краткая теория про DWH - повторим еще раз, в другом изложении
- Хорошее общее введение в модели данных дано в статье и докладе от Yandex: Как мы внедрили свою модель хранения данных — highly Normalized hybrid Model. Доклад Яндекса
Python
- Если совсем не знакомы с Python, начинаем с курса "Поколение Python": курс для начинающих – Stepik
- Изучаем глубже и "оттачиваем" live coding: "Поколение Python": курс для продвинутых – Stepik
- Продолжение "базы", спрашиваемой на собеседованиях, по Python: "Поколение Python": курс для профессионалов. Курс очень полезный, но платный.
- "Продвинутые" темы:
- ООП
- Tproger: «ООП простыми словами»
- Введение в ООП
- Яндекс Учебник: «Объектная модель Python: классы, поля и методы»
- [Real Python: OOP in Python (tutorial)](https://realpython.com/python3-object-oriented]
- Jupyter Lab
- Блог Практикума: «Что такое Jupyter Notebook: как установить и открыть»
- Готовая реализация Jupyter Lab, включающая в себя Spark, в Docker: https://github.com/dementev-dev/jupyter-spark-docker
- Pandas
Полезно, но дороговато и не обязательно: хорошее комбо SQL + Python — "Поколение Python": профи + ООП + SQL – Stepik
Цель — уверенно решать простые задачи на Python в формате live-coding; дальше эти навыки пригодятся для создания DAG Airflow.
Технические навыки
Продвинутый Git
- Сжатый, но емкий видеогайд: GIT, GitHub, GitLab. Полный АКТУАЛЬНЫЙ гайд ЗА ПОЛТОРА ЧАСА. Без этого выгонят с работы - Youtube
- Книга: Pro Git - главы
- 2 Основы Git
- 3 Ветвление в Git
- 5 Распределённый Git
- 6 GitHub
- Курс работы с Git и GitLab - ЭФКО ЦПР | YouTube плейлист
Целевой уровень знания - понимание процесса GitFlow. Как создать ветку, влить изменения в другие ветки. Понимание, зачем. На собесах обычно не спрашивают, но нужно в работе.
Docker
Основное предназначение для нас - учебные стенды, где мы разбираем и тренируемся с разными технологиями. На работе - иногда пригождается. На собесах спрашивают редко.
Методы разработки
Кратко знакомимся с основными подходами к организации работы в IT:
- Водопад — последовательная разработка,
- Scrum / Kanban — гибкие методологии, популярные в data-командах.
Понимание этих концепций помогает быстрее адаптироваться в новых проектах и правильно интерпретировать требования.
Запись встреч
OBS Studio Настройка записи экрана
Практика и инструменты
Airflow
Apache Airflow — инструмент для оркестрации ETL-процессов.
Мы используем его для:
- планирования задач,
- отслеживания зависимостей между шагами,
- визуализации статуса выполнения.
Материалы:
Greenplum
Разбираем, чем Greenplum отличается от PostgreSQL и зачем нужны MPP-хранилища.
Предварительно:
- Простое введение: Greenplum | Что это такое и как оно работает? - Youtube
- Оно же, но текстом: https://halltape.github.io/HalltapeRoadmapDE/GREENPLUM/
- Визуализатор распределения Greenplum
- Бесплатный, но большой учебный курс от Yandex: https://yandex.cloud/ru/training/greenplum
- Учебный курс по Greenplum от datafiner — взять только отдельные главы.
Практика (минимум, который мы делаем вместе, чтобы уверенно чувствовать себя на собеседованиях):
Сложные варианты с виртуалками — только если менти сильно захочет, в базовый путь не включаем.
Курсовая работа
Стенд в Docker Compose
- Apache Airflow
- Источник данных - TelecomX
- GreenPlum
- ETL
- Исходные коды всего - в Git
Понятие сложности алгоритмов
В Data Engineering редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода:
- в SQL — через объём сканируемых данных, типы JOIN’ов, использование индексов;
- в Python — через асимптотику операций с pandas/списками (например, O(n) vs O(n²)).
Это помогает избегать «тормозящих» решений на собеседованиях и в реальных пайплайнах.
Карьера и менторство
Менторство по этому роадмапу
Если вы нашли этот роадмап в интернете и хотите пройти его не в одиночку, а с поддержкой ментора, можно присоединиться ко мне.
Что даёт менторство:
- структурный план прохождения роадмапа под вашу ситуацию;
- разбор вопросов по SQL / DWH / Airflow и другим темам из этого документа;
- разбор домашних заданий и код-ревью;
- помощь с подготовкой к собеседованиям (резюме, мок-интервью).
Как записаться
Просто напишите мне в Telegram: @dementev_dev
со словами «Хочу пройти роадмап с ментором» — дальше всё обсудим.
Подготовка к собеседованиям
Цель блока — сформировать «опыт от 2 лет» и уметь корректно его показать в резюме и на собеседовании.
Помощь в подготовке резюме
- Видео от ОМ по составлению резюме
- Попытки менти написать, моя обратная связь - итеративно
Навыки поиска работы с HH и Habr карьера
- Как накрутить опыт в резюме | «Ультимативный гайд» @digital_ninja
- Как подтвердить опыт без трудовой / Хабр против работяг
- Как успешно пройти испытательный срок в IT | «Ультимативный гайд» c @digital_ninja - Youtube
- Видео по прохождению собесов от ОМ.
- Мои комментарии к нему, мой опыт
- Первые тренировки мок собесы, обратная связь
Помощь с прохождением испытательного срока
- Как успешно пройти испытательный срок в IT | «Ультимативный гайд» c @digital_ninja - Youtube
- Испытательный срок - доклад - Boosty
Расширенные навыки
Эти темы выходят за рамки базового минимума для старта в Data Engineering, но дают более полное представление об экосистеме.
Их цель — понимать, зачем и когда используется тот или иной инструмент, а не осваивать его на уровне администратора или DevOps-инженера.
Мы кратко знакомимся с:
- Apache NiFi и Kafka — инструментами для построения потоковых и интеграционных пайплайнов;
- ClickHouse — колоночной СУБД для высоконагруженной аналитики;
- dbt — подходом к трансформации данных как кода.
Практика ограничивается минимальным рабочим примером (например, запуск в Docker, простой пайплайн или SQL-модель).
Этого достаточно, чтобы уверенно говорить об инструменте на собеседовании и понимать его место в архитектуре — а всё остальное при необходимости осваивается уже на проекте.
ClickHouse
Бесплатный курс https://yandex.cloud/ru/training/clickhouse
Платный курс ClickHouse для аналитика – Stepik
NiFi
Плейлист Apache NiFi с нуля за 3 часа. Конструктор вместо кода - Youtube — первые 4 видео, дальше — по желанию.
Практика (делаем вместе):
- собираем отдельный стенд в Docker Compose с Postgres и NiFi;
- в NiFi настраиваем простой генератор данных.
Kafka
Лучший Гайд по Kafka для Начинающих За 1 Час - Youtube
Практика: Практика (делаем вместе):
- расширяем предыдущий стенд, добавляя Kafka;
- строим поток данных: NiFi → Kafka;
- добавляем обратный поток: Kafka → NiFi → Postgres.
dbt
dbt (data build tool) — инструмент для трансформации данных в хранилище.
Мы рассматриваем его как альтернативу «ручному» написанию сложных CTE и для понимания современного подхода к моделированию данных как кода.
Софт скиллы
- Все ветви дохода в IT / Полный гайд по деньгам
- Гайд как писать отзывы
- Гайд по Антистрессу
Дополнительные материалы
- ananevsyu/SandBox_DB_public: Песочница для изучения различных технологий связанных с инженерией данных
- Клон проекта dementev_dev/sandbox_db_public-форк
- Индексы в БД - Youtube
- Spark + Iceberg in 1 Hour - Memory Tuning, Joins, Partition - Youtube
- Введение в устройство Parquet и Iceberg - habr
- Введение в Apache Iceberg. Основы, архитектура, как работает?
- Алгоритмы: теория и практика. Методы – Stepik
- Алгоритмы: теория и практика. Структуры данных – Stepik
- Apache Hadoop для самых маленьких: HDFS, RACK-AWARENESS, репликация и Data Locality - Youtube
- Книга. Введение в Apache Kafka для системных аналитиков и проектировщиков интеграций
- Перевод документации dbt на русский язык