Merge branch 'roadmap'
This commit is contained in:
@@ -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) — отличный видео-конспект первой главы Клеппмана на русском.
|
||||||
|
|||||||
Reference in New Issue
Block a user