Merge branch 'roadmap'

This commit is contained in:
2026-02-01 21:18:45 +03:00
+116 -12
View File
@@ -12,19 +12,57 @@
## Оглавление ## Оглавление
- [Основные знания](#основные-знания) - [Основные знания](#основные-знания)
- [Git и базовые инструменты](#git-и-базовые-инструменты)
- [База по Git](#база-по-git)
- [Основы Markdown](#основы-markdown)
- [Базы данных: SQL и моделирование данных](#базы-данных-sql-и-моделирование-данных)
- [База по SQL](#база-по-sql)
- [Повышение знаний SQL](#повышение-знаний-sql)
- [Моделирование данных](#моделирование-данных)
- [Python](#python)
- [Методологии разработки](#методологии-разработки)
- [1. Основы и сравнение подходов](#1-основы-и-сравнение-подходов)
- [2. Agile: Философия гибкости](#2-agile-философия-гибкости)
- [3. Scrum (Скрам)](#3-scrum-скрам)
- [4. Kanban (Канбан)](#4-kanban-канбан)
- [Практика: Как это выглядит в жизни](#практика-как-это-выглядит-в-жизни)
- [Технические навыки](#технические-навыки)
- [Продвинутый Git](#продвинутый-git)
- [Docker](#docker)
- [Практика и инструменты](#практика-и-инструменты) - [Практика и инструменты](#практика-и-инструменты)
- [Airflow](#airflow)
- [Greenplum](#greenplum)
- [Фундаментальная теория](#фундаментальная-теория)
- [Знакомство с Greenplum](#знакомство-с-greenplum)
- [Курсовая работа](#курсовая-работа)
- [Стенд в Docker Compose](#стенд-в-docker-compose)
- [Понятие сложности алгоритмов](#понятие-сложности-алгоритмов)
- [Карьера и менторство](#карьера-и-менторство) - [Карьера и менторство](#карьера-и-менторство)
- [Менторство по этому роадмапу](#менторство-по-этому-роадмапу)
- [Подготовка к собеседованиям](#подготовка-к-собеседованиям)
- [Помощь в подготовке резюме](#помощь-в-подготовке-резюме)
- [Навыки поиска работы с HH и Habr карьера](#навыки-поиска-работы-с-hh-и-habr-карьера)
- [Помощь с прохождением испытательного срока](#помощь-с-прохождением-испытательного-срока)
- [Расширенные навыки](#расширенные-навыки) - [Расширенные навыки](#расширенные-навыки)
- [ClickHouse](#clickhouse)
- [NiFi](#nifi)
- [Kafka](#kafka)
- [dbt](#dbt)
- [Софт скиллы](#софт-скиллы) - [Софт скиллы](#софт-скиллы)
- [Дополнительные материалы](#дополнительные-материалы) - [Дополнительные материалы](#дополнительные-материалы)
- [Записи ОМ](#записи-ом)
Рекомендуемый способ использования: Рекомендуемый способ использования:
- двигаться по разделам последовательно, не перепрыгивая через базу; - двигаться по разделам последовательно, не перепрыгивая через базу;
- выполнять практику и домашки, а не только смотреть материалы; - выполнять практику и домашки, а не только смотреть материалы;
- возвращаться к разделам по мере появления реальных задач. - возвращаться к разделам по мере появления реальных задач.
---
# Основные знания # Основные знания
[[к оглавлению]](#оглавление)
## Git и базовые инструменты ## Git и базовые инструменты
### База по Git ### База по Git
@@ -54,7 +92,8 @@ SQL и моделирование данных специально идут р
Бесплатный тренажер: [Интерактивный тренажер по SQL – Stepik](https://stepik.org/course/63054/promo) Бесплатный тренажер: [Интерактивный тренажер по SQL – Stepik](https://stepik.org/course/63054/promo)
Целевой уровень знания SQL - Live кодинг на собесе. Проверяем на первом мок-интервью Целевой уровень знания SQL - Live кодинг на собесе. Проверяем на первом мок-интервью
**СТЕ**
**CTE**
- Зачем нам CTE: [Getting started with CTEs | dbt Labs](https://www.getdbt.com/blog/getting-started-with-cte) - Зачем нам CTE: [Getting started with CTEs | dbt Labs](https://www.getdbt.com/blog/getting-started-with-cte)
- Подробнее про синтаксис: [PostgreSQL : Документация: 17: 7.8. Запросы WITH (Общие табличные выражения) : Компания Postgres Professional](https://postgrespro.ru/docs/postgresql/17/queries-with) - Подробнее про синтаксис: [PostgreSQL : Документация: 17: 7.8. Запросы WITH (Общие табличные выражения) : Компания Postgres Professional](https://postgrespro.ru/docs/postgresql/17/queries-with)
@@ -148,6 +187,58 @@ SQL и моделирование данных специально идут р
- уверенно проходите простой live-coding по Python для DE: прочитать CSV/JSON, отфильтровать, сгруппировать данные и посчитать агрегаты. - уверенно проходите простой live-coding по Python для DE: прочитать CSV/JSON, отфильтровать, сгруппировать данные и посчитать агрегаты.
- можете отвечать как на простые вопросы собеседований (циклы, списки, словари), так и продвинутые (итераторы, декораторы, управление памятью, базовые понятия ООП) - можете отвечать как на простые вопросы собеседований (циклы, списки, словари), так и продвинутые (итераторы, декораторы, управление памятью, базовые понятия ООП)
## Методологии разработки
> **Зачем это разработчику?**
> 1. **Работа в команде.** Вам нужно понимать «правила игры». Почему задачи двигаются именно так? Зачем мы встречаемся каждое утро на 15 минут? Почему нельзя просто взять задачу из середины списка?
> 2. **Собеседование и «легенда».** Когда вас спросят: «Как строилась работа в вашей прошлой команде?», вы должны ответить грамотно. Использование правильной терминологии (спринты, груминг, ретроспектива, WIP-лимиты) — это маркер профессионализма. Это показывает, что вы не просто писали код в вакууме, а были частью налаженного процесса.
### 1. Основы и сравнение подходов
Для начала нужно понять глобальную разницу между жестким планированием (Waterfall) и гибкой разработкой (Agile).
- [Waterfall или Agile, Scrum или Kanban: что выбрать](https://habr.com/ru/companies/kaiten/articles/906006/) — *Базовая статья. Читать внимательно, закрывает вопросы и по Waterfall, и по выбору пути.*
- [Agile, Scrum, Kanban - обзор, отличия, мифы](https://www.youtube.com/watch?v=LhA5aWjHTJw) — *Видео для закрепления. Помогает разложить кашу в голове по полочкам.*
### 2. Agile: Философия гибкости
Agile — это не метод, а философия. Scrum и Kanban — это инструменты этой философии.
- [Scrum vs Kanban: отличия и разница Agile методов](https://kaiten.ru/blog/kanban-vs-scrum/) — *Сравнение двух главных фреймворков. Важно понять, где заканчивается один и начинается другой.*
### 3. Scrum (Скрам)
Используется, когда мы создаем продукт и работаем спринтами (циклами).
*Часто встречается в продуктовых командах, где DE работает в связке с Backend/Frontend.*
- [Методология Scrum: принципы, ценности, этапы](https://kaiten.ru/blog/chto-takoie-scrum-i-kak-ispolzovat/)
### 4. Kanban (Канбан)
Используется для управления потоком задач и поддержки.
*Наиболее популярен в Data Engineering и DevOps, так как данные поступают непрерывно, и их сложно «запереть» в двухнедельный спринт.*
- [Канбан: метод, инструменты и принципы](https://kaiten.ru/blog/cto-takoe-kanban/)
### Практика: Как это выглядит в жизни
Теория — это хорошо, но на работе вы увидите конкретный интерфейс (Jira или Yandex Tracker). Важно понимать, куда нажимать и как двигать задачи.
#### 1. Jira (Мировой стандарт)
Самый популярный инструмент. Скорее всего, вы столкнетесь именно с ним.
* [Как работать с Jira на реальных проектах](https://www.youtube.com/watch?v=oPgm-fsHVfM) (15 мин) — *Отличное видео, где показывают базу: как создать задачу, как перетащить её по доске (Kanban) и что писать в комментариях. Смотреть с 04:00, где начинается практика.*
* [Создание и настройка Scrum-досок в JIRA](https://www.youtube.com/watch?v=u-u8NRyApUs) — *Если хотите увидеть, как выглядит Спринт и Бэклог изнутри.*
#### 2. Yandex Tracker (Российский стандарт)
Активно внедряется в крупных компаниях РФ. Логика та же, но интерфейс другой.
* [Начало работы в Яндекс.Трекере](https://www.youtube.com/watch?v=pdlYiijjn70) (3 мин) — *Супер-короткий официальный гайд. За 3 минуты показывают всё: очереди, доски, карточки.*
* [Настройка процесса разработки в Tracker](https://www.youtube.com/watch?v=EdKlYJR2ph0&t=397s)** (c 06:37) — *Более глубокий разбор: как выглядит очередь задач разработчика и жизненный цикл тикета.*
> **💡 Совет:**
> Не бойтесь кнопок. Главное правило любого трекера: **«Взял задачу в работу — переведи статус в In Progress»**. Это сигнал команде, что вы заняты и вас лучше не отвлекать.
**Когда блок «Методологии разработки» считаем пройденным:**
- вы в общих чертах можете объяснить разницу Waterfall vs Agile и Scrum vs Kanban;
- знаете основные мероприятия Scrum (planning / daily / review / retro) и что от вас ожидается на каждом;
- умеете работать с трекером (Jira/Tracker): создать/уточнить задачу, взять в работу, корректно двигать статусы и оставлять понятные комментарии;
- умеете своевременно сообщать о блокерах и уточнять требования, если задача «не бьётся» или в ней не хватает входных данных.
## Технические навыки ## Технические навыки
### Продвинутый Git ### Продвинутый Git
@@ -167,15 +258,6 @@ SQL и моделирование данных специально идут р
Основное предназначение для нас - учебные стенды, где мы разбираем и тренируемся с разными технологиями. На работе - иногда пригождается. На собесах спрашивают редко. Основное предназначение для нас - учебные стенды, где мы разбираем и тренируемся с разными технологиями. На работе - иногда пригождается. На собесах спрашивают редко.
### Методы разработки
Кратко знакомимся с основными подходами к организации работы в IT:
- **Водопад** — последовательная разработка,
- **Scrum / Kanban** — гибкие методологии, популярные в data-командах.
Понимание этих концепций помогает быстрее адаптироваться в новых проектах и правильно интерпретировать требования.
### Запись встреч ### Запись встреч
OBS Studio OBS Studio
- Руководство по OBS: [OBS Studio - Настройка ОБС для Записи Игр и Стрима | Настройка Микрофона в Обс и т.д - Youtube](https://www.youtube.com/watch?v=bj8VEphZ65U) - Руководство по OBS: [OBS Studio - Настройка ОБС для Записи Игр и Стрима | Настройка Микрофона в Обс и т.д - Youtube](https://www.youtube.com/watch?v=bj8VEphZ65U)
@@ -187,8 +269,12 @@ OBS Studio
- ориентируетесь в основных методологиях разработки (Scrum/Kanban/водопад) и понимаете, как в них живут задачи и отчётность; - ориентируетесь в основных методологиях разработки (Scrum/Kanban/водопад) и понимаете, как в них живут задачи и отчётность;
- при необходимости умеете настроить запись экрана/созвонов, чтобы сохранять материалы обучения. - при необходимости умеете настроить запись экрана/созвонов, чтобы сохранять материалы обучения.
---
# Практика и инструменты # Практика и инструменты
[[к оглавлению]](#оглавление)
## Airflow ## Airflow
Apache Airflow — инструмент для оркестрации ETL-процессов. Apache Airflow — инструмент для оркестрации ETL-процессов.
@@ -208,7 +294,7 @@ Apache Airflow — инструмент для оркестрации ETL-про
## Greenplum ## Greenplum
Разбираем, чем Greenplum отличается от PostgreSQL и зачем нужны MPP-хранилища. Разбираем, чем Greenplum отличается от PostgreSQL и зачем нужны MPP-хранилища.
### Фундаментальная теория (Обязательно перед видео) ### Фундаментальная теория
Прежде чем нажимать кнопки, нужно понять "физику" больших данных. Почему обычный Postgres начинает тормозить? Прежде чем нажимать кнопки, нужно понять "физику" больших данных. Почему обычный Postgres начинает тормозить?
- Мартин Клеппман, "Высоконагруженные приложения": - Мартин Клеппман, "Высоконагруженные приложения":
- Глава 1. Надежность, масштабируемость. (Разбираемся, чем вертикальное масштабирование отличается от горизонтального). - Глава 1. Надежность, масштабируемость. (Разбираемся, чем вертикальное масштабирование отличается от горизонтального).
@@ -237,7 +323,7 @@ Apache Airflow — инструмент для оркестрации ETL-про
## Курсовая работа ## Курсовая работа
К финалу роадмапа мы собираем небольшую end-to-end курсовую работу — свой первый «боеподобный» data-проект. К финалу роадмапа мы собираем небольшую end-to-end курсовую работу — свой первый «боеподобный» data-проект.
### Стенд в Docker Compose ### Стенд в Docker Compose
- Apache Airflow — оркестратор; - Apache Airflow — оркестратор;
- источник данных — TelecomX (или аналогичный открытый датасет); - источник данных — TelecomX (или аналогичный открытый датасет);
- Greenplum — основное хранилище; - Greenplum — основное хранилище;
@@ -261,8 +347,12 @@ Apache Airflow — инструмент для оркестрации ETL-про
Это помогает избегать «тормозящих» решений на собеседованиях и в реальных пайплайнах. Это помогает избегать «тормозящих» решений на собеседованиях и в реальных пайплайнах.
---
# Карьера и менторство # Карьера и менторство
[[к оглавлению]](#оглавление)
## Менторство по этому роадмапу ## Менторство по этому роадмапу
Если вы нашли этот роадмап в интернете и хотите пройти его не в одиночку, а с поддержкой ментора, можно присоединиться ко мне. Если вы нашли этот роадмап в интернете и хотите пройти его не в одиночку, а с поддержкой ментора, можно присоединиться ко мне.
@@ -307,10 +397,14 @@ Apache Airflow — инструмент для оркестрации ETL-про
- вы умеете искать и отбирать вакансии на HH и Habr Карьера, адаптируя отклики под конкретную позицию; - вы умеете искать и отбирать вакансии на HH и Habr Карьера, адаптируя отклики под конкретную позицию;
- вы прошли хотя бы пару мок-собеседований, получили обратную связь и по результатам доработали резюме и стратегию поиска. - вы прошли хотя бы пару мок-собеседований, получили обратную связь и по результатам доработали резюме и стратегию поиска.
---
# Расширенные навыки # Расширенные навыки
Эти темы выходят за рамки базового минимума для старта в Data Engineering, но дают более полное представление об экосистеме. Эти темы выходят за рамки базового минимума для старта в Data Engineering, но дают более полное представление об экосистеме.
Их цель — понимать, зачем и когда используется тот или иной инструмент, а не осваивать его на уровне администратора или DevOps-инженера. Их цель — понимать, зачем и когда используется тот или иной инструмент, а не осваивать его на уровне администратора или DevOps-инженера.
[[к оглавлению]](#оглавление)
Мы кратко знакомимся с: Мы кратко знакомимся с:
- **Apache NiFi** и **Kafka** — инструментами для построения потоковых и интеграционных пайплайнов; - **Apache NiFi** и **Kafka** — инструментами для построения потоковых и интеграционных пайплайнов;
@@ -350,12 +444,22 @@ dbt (data build tool) — инструмент для трансформации
- понимаете типичные сценарии: потоковые интеграции и очереди (Kafka/NiFi), аналитические витрины и отчёты на ClickHouse, трансформации данных в dbt; - понимаете типичные сценарии: потоковые интеграции и очереди (Kafka/NiFi), аналитические витрины и отчёты на ClickHouse, трансформации данных в dbt;
- не боитесь увидеть эти инструменты в описании вакансии и можете поддержать содержательный разговор об их месте в архитектуре. - не боитесь увидеть эти инструменты в описании вакансии и можете поддержать содержательный разговор об их месте в архитектуре.
---
# Софт скиллы # Софт скиллы
[[к оглавлению]](#оглавление)
- [Все ветви дохода в IT / Полный гайд по деньгам](https://youtube.com/live/JHClTWwK1EM) - [Все ветви дохода в IT / Полный гайд по деньгам](https://youtube.com/live/JHClTWwK1EM)
- [Гайд как писать отзывы](https://boosty.to/m0rtymerr/posts/b04040ec-0f46-4524-9c75-188a513140ad?share=post_link) - [Гайд как писать отзывы](https://boosty.to/m0rtymerr/posts/b04040ec-0f46-4524-9c75-188a513140ad?share=post_link)
- [Гайд по Антистрессу](https://youtu.be/bu0YiXOKaoU) - [Гайд по Антистрессу](https://youtu.be/bu0YiXOKaoU)
---
# Дополнительные материалы # Дополнительные материалы
[[к оглавлению]](#оглавление)
- [ananevsyu/SandBox_DB_public: Песочница для изучения различных технологий связанных с инженерией данных](https://gitflic.ru/project/ananevsyu/sandbox_db_public) - [ananevsyu/SandBox_DB_public: Песочница для изучения различных технологий связанных с инженерией данных](https://gitflic.ru/project/ananevsyu/sandbox_db_public)
- Клон проекта [dementev_dev/sandbox_db_public-форк](https://gitflic.ru/project/dementev_dev/sandbox_db_public-fork) - Клон проекта [dementev_dev/sandbox_db_public-форк](https://gitflic.ru/project/dementev_dev/sandbox_db_public-fork)
- [System Design. Разбор книги "Высоконагруженные приложения". Глава 1 - Youtube](https://www.youtube.com/watch?v=owjrIB_5go8) — отличный видео-конспект первой главы Клеппмана на русском. - [System Design. Разбор книги "Высоконагруженные приложения". Глава 1 - Youtube](https://www.youtube.com/watch?v=owjrIB_5go8) — отличный видео-конспект первой главы Клеппмана на русском.