Files
de-roadmap/README.md
T

16 KiB
Raw Blame History

Основные знания

База по Git

Что такое контроль версий, когда используется, ПОЧЕМУ и как мы в обучении будем использовать. Как создать репозиторий на GitHub, сохранять в нем изменения.

Основы Markdown

Домашки по остальным темам тренируемся делать в Git, там же пишем документацию.

SQL

База по SQL

Книга: PostgreSQL. Основы языка SQL - Глава 1 "Введение в базы данных и SQL" + ДЗ

Бесплатный тренажер: Интерактивный тренажер по SQL – Stepik
Целевой уровень знания SQL - Live кодинг на собесе. Проверяем на первом мок-интервью
СТЕ

Для дальнейшей тренировки и поддержания уровня можно использовать 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, но ее вполне достаточно.

Python

2 курса по Python - простой и расширенный

Полезно, но дороговато и не обязательно: хорошее комбо SQL + Python: "Поколение Python": профи + ООП + SQL Stepik

Цель - LiveCoding простых задач Python, далее нужно будет для создания DAG Airflow

Технические навыки

Запись встреч

OBS Studio Настройка записи экрана

Git

Целевой уровень знания - понимание процесса GitFlow. Как создать ветку, влить изменения в другие ветки. Понимание, зачем. На собесах обычно не спрашивают, но нужно в работе.

Docker

Основное предназначение для нас - учебные стенды, где мы разбираем и тренируемся с разными технологиями. На работе - иногда пригождается. На собесах спрашивают редко.

Методы разработки

Кратко знакомимся с основными подходами к организации работы в IT:

  • Водопад — последовательная разработка,
  • Scrum / Kanban — гибкие методологии, популярные в data-командах.

Понимание этих концепций помогает быстрее адаптироваться в новых проектах и правильно интерпретировать требования.

Airflow

Apache Airflow — инструмент для оркестрации ETL-процессов.

Мы используем его для:

  • планирования задач,
  • отслеживания зависимостей между шагами,
  • визуализации статуса выполнения.

В обучении разворачиваем локальный стенд через docker-compose и пишем простые DAG’и на Python.

Курсовая работа

Стенд в Docker Compose

  • Apache Airflow
    • Источник данных - TelecomX
  • Postgres
  • ETL
  • Исходные коды всего - в Git

Понятие сложности алгоритмов

В Data Engineering редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода:

  • в SQL — через объём сканируемых данных, типы JOIN’ов, использование индексов;
  • в Python — через асимптотику операций с pandas/списками (например, O(n) vs O(n²)).

Это помогает избегать «тормозящих» решений на собеседованиях и в реальных пайплайнах.

Подготовка к собеседованиям

Думаем, как "сделать" опыт, от 2 лет

Помощь в подготовке резюме

Навыки поиска работы с HH и Habr карьера

Помощь с прохождением испытательного срока

Расширенные навыки

Эти темы выходят за рамки базового минимума для старта в Data Engineering, но дают более полное представление об экосистеме.
Их цель — понимать, зачем и когда используется тот или иной инструмент, а не осваивать его на уровне администратора или DevOps-инженера.

Мы кратко знакомимся с:

  • Greenplum — MPP-хранилищем на базе PostgreSQL для распределённых запросов;
  • Apache NiFi и Kafka — инструментами для построения потоковых и интеграционных пайплайнов;
  • ClickHouse — колоночной СУБД для высоконагруженной аналитики;
  • dbt — подходом к трансформации данных как кода.

Практика ограничивается минимальным рабочим примером (например, запуск в Docker, простой пайплайн или SQL-модель).

Этого достаточно, чтобы уверенно говорить об инструменте на собеседовании и понимать его место в архитектуре — а всё остальное при необходимости осваивается уже на проекте.

Greenplum

Дать теоретический материал - разница с Postgres. Предварительно: Учебный курс по Greenplum - дать только отдельные главы Контейнер с GreenPlum, несколько домашек по нему, чтобы прочувствовать работу распределенных запросов.

ClickHouse

Бесплатный курс https://yandex.cloud/ru/training/clickhouse
Платный курс ClickHouse для аналитика – Stepik

NiFi

Плейлист Apache NiFi с нуля за 3 часа. Конструктор вместо кода - Youtube - первые 4 видео. Дальше - по желанию. Делаем отдельный docker compose Postgres + Nifi В NiFi собираем генератор данных

Kafka

Лучший Гайд по Kafka для Начинающих За 1 Час - Youtube Добавляем к предыдущему docker compose Kafka. Строим поток данных NiFi->Kafka Kafka->NiFi->Postgres

dbt

dbt (data build tool) — инструмент для трансформации данных в хранилище.

Мы рассматриваем его как альтернативу «ручному» написанию сложных CTE и для понимания современного подхода к моделированию данных как кода.

Софт скиллы

Все ветви дохода в IT / Полный гайд по деньгамГайд как писать отзывы
Гайд по Антистрессу

Тех. материалы несортировано

Записи ОМ