Learning Platform
Глоссарий Troubleshooting
Урок 19.02 · 22 мин
Начальный
tech-stackjunior-desqlpythonairflowdbtcloud

Зачем нужна минималка

Когда новичок открывает вакансии DE, технологий в требованиях столько, что можно учить год и так и не выйти на собеседование. Спарк, Кафка, Флинк, Айсберг, Дельта, Дакдб, Снежинка, Бигквери, Редшифт, Эйрфлоу, Дагстер, Префект, ДБТ, Терраформ, Кубернетес, Линукс — список бесконечен.

Реальность: для junior работы знать всё не нужно. Нужно знать базу хорошо, а остальное добирается в работе. Эта лекция — про базу. То есть про то, что должно быть в твоей голове и в руках, чтобы пройти junior-собеседование в 2026.

Запомни принцип: глубина важнее широты для junior. Лучше знать SQL и Python отлично + один cloud / один оркестратор, чем “слышал про Spark, Kafka, Airflow, Snowflake, Databricks” по верхам. На собеседовании джуна валят на знании SQL-windows и базового Python, не на Kafka internals.

Минимальный стек Junior DE (2026)

Стек Junior DE 2026

Семь столпов — необходимый минимум

SQL
advancedSQL advanced: joins, window functions, CTE, optimization, EXPLAIN. Это самый частый предмет на собеседованиях DE — больше половины вопросов
Python
средний+Python: pandas, sqlalchemy, requests, базовый OOP. Скрипты для ETL и автоматизации. Не deep ML, не async глубоко — это перебор для джуна
Git
основыGit: branches, merge, rebase, commit messages, PR-review. Без Git в команду не возьмут
Docker
основыDocker: запустить контейнер, прочитать Dockerfile, docker-compose для локальной разработки. Не нужно K8s глубоко для junior
Cloud DWH
один изОдин cloud DWH: Snowflake / BigQuery / Redshift. Выбери один по вакансиям в твоём регионе и освой
Airflow / dbt
один изAirflow или dbt: оркестратор или трансформер. Лучше Airflow для DE; dbt — для AE. Один — обязательно
Linux
уверенный пользовательLinux: bash, файловая система, env vars, ssh, базовые команды. Не нужно быть сисадмином, но cd, ls, grep, cat, env — must
DE концепции
этот курсETL/ELT концепции — что куда грузится и в каком порядке. Этот курс уже даёт это

Разберём каждое.

SQL — самый важный навык

В 2026 году SQL продолжает быть главным языком DE. 90% задач включают SQL. На собеседовании джуна 50-70% вопросов — SQL.

Что нужно знать:

  • JOIN: INNER / LEFT / RIGHT / FULL OUTER / CROSS. Когда какой. Почему LEFT JOIN … IS NULL — это анти-JOIN.
  • Aggregation: COUNT, SUM, AVG, MIN, MAX, GROUP BY, HAVING.
  • Window functions: ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, SUM/AVG OVER. Это самая частая тема на собеседованиях. Если не уверен — ставь в приоритет.
  • CTE: WITH … AS (…). Многократно, multi-level CTE.
  • Subqueries: scalar, correlated, EXISTS / NOT EXISTS.
  • Set operations: UNION, UNION ALL, INTERSECT, EXCEPT.
  • Optimization basics: EXPLAIN, индексы, partition pruning, broadcast vs shuffle joins.

Где учить:

  • Книга “SQL Antipatterns” (Bill Karwin) — короткая, мощная.
  • StrataScratch / DataLemur / LeetCode SQL — практика на реальных задачах.
  • Курс sql-fundamentals на этой платформе.
SQL window functions: ROW_NUMBER, RANK, LAG, LEAD — самая частая тема на собеседованиях DE
TIP

Если у тебя на собеседовании DE спрашивают сложный Python или Spark — это, скорее всего, не junior-собеседование. На junior 80% времени — SQL и архитектура pipeline. Готовься фокусированно.

Python — рабочая лошадка

Python в DE — это не Python в ML и не Python в backend. Нужен:

  • Базовый OOP: классы, наследование, методы. Не нужны deep design patterns.
  • Стандартная библиотека: datetime, json, csv, pathlib, logging, collections.
  • pandas: DataFrame, чтение CSV/JSON/Parquet, GroupBy, merge, фильтры. Главный tool для small-medium-data.
  • sqlalchemy или нативные psycopg2/snowflake-connector: подключение к БД, запросы, transactions.
  • requests: REST API клиенты.
  • pytest: написать простой тест.
  • Logging: structured JSON, levels.

Что не нужно для junior:

  • Async / await глубоко — встретится позже.
  • Сложные design patterns (Factory, Strategy и пр.) — это backend-проблематика.
  • Deep ML стек (PyTorch, TF) — это для MLE.

Где учить:

  • “Fluent Python” (Luciano Ramalho) — основа.
  • pandas документация + Kaggle exercises.
  • Open source: читай Airflow DAGs или dbt python-models — там много идиоматичного DE-Python.

Git

Без Git тебя в команду не возьмут — это базовая гигиена. Что нужно:

  • git clone, git add, git commit, git push, git pull.
  • Branches: создание, переключение, merge.
  • Pull Request / Merge Request workflow.
  • Conflict resolution.
  • git log, git diff, git blame.
  • Не нужно: глубокий rebase, cherry-pick, reflog — встретится позже.

Docker

В DE Docker — это инфраструктура для локальной разработки и для production-деплоя:

  • Что такое контейнер, чем отличается от VM.
  • docker run, docker build, docker logs.
  • Простой Dockerfile (FROM python:3.12, COPY, RUN pip install).
  • docker-compose.yml — поднять локально Postgres + Airflow.

Kubernetes для junior — bonus, не required. Это для middle+.

Cloud DWH — один из

Выбери один и освой:

  • Snowflake — самый частый в РФ-международных компаниях. Учебный аккаунт free trial 30 дней.
  • BigQuery — Google Cloud, отличная free tier.
  • Redshift — AWS, реже но встречается.

Что важно:

  • Sandbox / free tier — создать аккаунт, поработать руками.
  • SQL-диалект (Snowflake SQL ≠ standard SQL в нюансах).
  • Стоимость query (warehouse credits, scan bytes).
  • COPY INTO для загрузки данных.
  • Time Travel (см. урок 16-04).

Где учить:

  • Официальные quickstarts (Snowflake QuickStarts, BigQuery sandbox).
  • “Snowflake Cookbook” / “Google Cloud Big Data Cookbook”.

Airflow или dbt

Один из двух — must для DE/AE:

Airflow (DE-fokus)

  • DAG, Task, Operator.
  • Schedule, catchup, backfill.
  • XCom, Context, Templates.
  • Retries, SLA, alerts.
  • TaskFlow API (декораторы @task).
  • LocalExecutor / CeleryExecutor / KubernetesExecutor — на уровне overview.

Где учить:

  • Курс airflow-course на этой платформе (deep-dive).
  • Astronomer Academy (бесплатные курсы).
  • GitHub examples в airflow-providers.
Airflow deep-dive: Scheduler, Executor, Worker — полная архитектура оркестратора для DE-карьеры

dbt (AE-fokus)

  • Project structure, models, sources, seeds.
  • ref(), source(), Jinja basics.
  • Materializations: view, table, incremental, ephemeral.
  • Tests: unique, not_null, accepted_values, relationships.
  • Documentation, dbt docs.

Где учить:

  • Курс dbt-fundamentals на dbt-learning (бесплатно).
  • jaffle_shop репозиторий — стандартный учебный проект.

Linux

Уровень уверенный пользователь, не сисадмин:

  • Bash basics: cd, ls, mv, cp, rm, mkdir, cat, less, grep, find, sed, awk (последние два — туда-сюда).
  • Pipes, redirects (|, >, >>).
  • Environment variables (export, printenv).
  • File permissions (chmod, chown — для понимания).
  • SSH, scp.
  • Простой shell script.

DE концепции

То, что покрыто этим курсом:

  • ETL vs ELT.
  • Batch vs streaming.
  • OLTP vs OLAP.
  • DWH / lake / lakehouse.
  • Dimensional modeling.
  • Data quality, observability.
  • Pipeline patterns (текущий модуль).

Что НЕ учить для Junior

Это типичные timewasters для джуна:

  • Spark internals: catalysts, shuffles, broadcast — middle-уровень. На junior спрашивают только что Spark — это distributed compute.
  • Kafka deep: consumer groups, partitioning, ISR — middle-уровень.
  • Kubernetes deep: DPE / SRE area.
  • Glubokiy ML — это для MLE.
  • dbt Semantic Layer / dbt Mesh — продвинутые темы.
  • Iceberg / Delta / Hudi internals — middle-уровень.
  • Database internals deep (BTree, WAL) — interesting но не required.
WARNING

Главная ошибка джунов — пытаться выучить всё на 30% и ничего на 70%. Лучше глубоко SQL + Python + один оркестратор, чем поверхностно 10 технологий. На собеседовании сразу видно, кто реально работал руками, а кто читал блог.

После Junior: куда углубляться

После 6-12 месяцев работы джуном, по интересам:

  • DWH-direction: deep SQL/dbt -> Senior AE -> Architect.
  • Pipeline-direction: deep Spark/Kafka -> Senior DE -> Tech Lead.
  • Infra-direction: Kubernetes / Terraform -> Data Platform Engineer.
  • ML-direction: MLOps, feature stores -> ML Engineer.

Дополнительные углубления — отдельные курсы платформы: airflow-course, spark-course, kafka-course, dbt-course, kubernetes-course, и так далее.

Реалистичный таймлайн

Сколько времени учить с нуля до junior-собеседования:

  • С нуля (без программирования вообще): 12-18 месяцев на full-time learning.
  • С backend-опытом (Python + SQL): 3-6 месяцев.
  • С аналитическим опытом (SQL + Excel): 6-9 месяцев на добивание Python и pipeline-понимания.
  • С DS-опытом: 3-6 месяцев на добивание SQL/Airflow/инфраструктуры.

Это медиана. Кто-то быстрее, кто-то медленнее. Главное — не учить теорию, а делать pet-проекты.

Попробуй сам

  1. Возьми чек-лист выше. Поставь себе оценку (1-5) по каждому пункту. Где 1-2 — это план учёбы на ближайшие 3 месяца.
  2. Выбери один cloud DWH (Snowflake / BigQuery). Создай free trial. Загрузи небольшой датасет (NYC taxi, GitHub events). Напиши 5 запросов с window functions.
  3. Решай 1 SQL-задачу в день на StrataScratch или DataLemur. К концу месяца — 30 задач. Это полезнее одной книги.
Проверка знанийKnowledge check
У тебя 3 месяца до целевого собеседования на Junior DE. SQL — 4/5, Python — 3/5, Airflow — 1/5, dbt — 0/5, Snowflake — 0/5, Docker — 2/5. Распланируй учёбу — что когда учить, сколько недель на что.
ОтветAnswer
Приоритеты по ROI: 1) Snowflake — 1 неделя (free trial + 20 SQL запросов + COPY INTO). 2) Airflow — 3 недели (DAG, Task, decorators, retries, написать 3 DAG-а pet-project). 3) Python addons — 2 недели (pandas advanced, requests, sqlalchemy, logging). 4) Docker — 1 неделя (Dockerfile, docker-compose с Airflow+Postgres локально). 5) dbt — 2 недели (jaffle_shop, ref/source, materializations, tests). 6) Финальные 3 недели — собрать pet-project end-to-end: API -> Python ingester -> Snowflake -> dbt -> simple dashboard. Готовиться к собесу: ежедневно SQL-задача (StrataScratch), читать вакансии, готовить рассказ про pet-project. Главное — pet-project с GitHub репо: это лучшая reach точка на собеседовании.

Проверьте понимание

Результат: 0 из 0
Прикладной
Вопрос 1 из 5. Junior-кандидат планирует подготовку к DE-собеседованию. Что должно быть в приоритете по времени учёбы?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 5