Data Engineer нанимают не за дашборд и не за сертификат облака. Нанимают за то, что данные доезжают вовремя, в понятной схеме, без ручного копирования из пяти таблиц. Если вы умеете красиво визуализировать, но не можете объяснить, откуда берётся витрина и что будет при повторном запуске пайплайна, это другая роль.
В 2026-м вход в инженерию данных из СНГ чаще идёт через SQL, Python и один честный ETL, а не через «сразу Spark и Kafka». Ниже — чем роль отличается от аналитика, какой минимальный пайплайн уже считается доказательством и как не откликаться на senior-платформу с курсом.
Коротко:
- Data Engineer отвечает за доставку и качество данных. Data Analyst — за вопросы к уже готовым таблицам.
- Минимальный артефакт: источник → очистка → витрина → расписание → лог ошибки. Не «ноутбук с графиком».
- SQL и понимание схем важнее модного оркестратора. Оркестратор без понятного SQL — декорация.
- Не прыгайте в Spark-senior, пока нет одного стабильного пайплайна на нормальном объёме.
- Ищите вакансии по задачам (загрузка, витрины, инциденты), а не по слову Engineer в заголовке.
Чем Data Engineer отличается от аналитика
Аналитик отвечает на вопрос бизнеса: почему упала конверсия, какой сегмент растёт, что случилось на прошлой неделе. Инженер данных отвечает на другой: откуда эти цифры, как они обновляются, кто сломает витрину, если источник изменит тип поля.
На практике это разные дни. Аналитик сидит в запросах, метриках, объяснениях. Инженер — в джобах, схемах, ретраях, мониторинге и разборе «почему витрина пустая с 06:00». Смежные навыки есть: SQL нужен обоим. Но портфолио аналитика с дашбордами не заменяет пайплайн. Если вам ближе вопросы к данным, сначала честно смотрите вход в Data Analyst, а не переименовывайте себя в инженера.
Есть ещё сосед: backend, который «подкрутил пару выгрузок». Это ближе, чем дашборд, но всё равно другая работа. Backend продаёт API и домен. Data Engineer продаёт повторяемую доставку данных. Путь из Python-разработки возможен — см. как стать Python-разработчиком — но заголовок менять рано, пока нет витрины по расписанию.
Какие задачи нанимают на входе
Junior и «сильный intern» по данным в СНГ и на русскоязычной удалёнке обычно закрывают не архитектуру озера, а операционку:
- Забрать CSV / API / таблицу из продакшн-БД, положить в хранилище, не потерять типы.
- Написать SQL-трансформации: дедуп, приведение дат, словари, простые SCD.
- Поставить джоб по cron или в Airflow/Prefect/аналоге и понять, что делать, когда он упал.
- Проверить свежесть и полноту: вчерашних строк нет — это инцидент, а не «ну, завтра пересчитаем».
- Написать короткий runbook: как перезапустить, кого звать, какие таблицы трогать нельзя.
Это скучнее, чем «построить платформу». Именно это и берут. Вакансия junior DE, где в задачах «спроектируете lakehouse и ML-фичи», — не junior. Читайте тело объявления, не грейд в заголовке.
Что не считается входом
Три тупика, на которые уходит квартал:
- Курс с сертификатом и без джоба. «Прошёл Snowflake / Databricks» без репозитория, где видно ваш код загрузки и обработки, не закрывает сомнение. Сертификат — не работа и не замена пайплайну.
- Ноутбук «анализ титаника». Это аналитика или учёба. Инженеру нужно расписание, идемпотентность, схема, ошибка источника.
- Сразу Spark на кластере «как в FAANG». Без понимания обычного SQL и одной витрины это выглядит как копипаст из туториала. На входе чаще PostgreSQL / BigQuery / ClickHouse / Redshift-подобные вещи и Python, а не «я готов писать кастомные партиционеры».
Если коммерческого стажа нет, не извиняйтесь за это в первом абзаце резюме. Соберите артефакт. Как упаковать его в файл — в резюме без опыта и в профильном резюме Data Engineer.
Минимальный стек, который уже можно показать
Не учите всё облако. На вход хватает узкой связки, которую вы реально довели до конца:
- SQL. Джойны, окна, CTE, объяснение плана на пальцах, работа с датами и NULL. Без этого остальное — театр. Ориентир по глубине — SQL-roadmap.
- Python. Не «знаю pandas». Скрипт загрузки, обработка ошибок HTTP, запись батча, логи. Фреймворк оркестрации вторичен.
- Хранилище. Одна СУБД, в которой вы понимаете типы, ключи и стоимость полного скана. Не пять облаков в резюме.
- Расписание и наблюдаемость. Cron + лог или один DAG. Алерт «джоб не отработал» важнее красивого UI оркестратора.
- Git и README. Как поднять локально, какие переменные, что считать успехом прогона.
Docker полезен, если вы им реально пакуете джоб, а не добавляете строку в навыки. Kafka, Spark, dbt, Airflow — берите один инструмент под задачу пайплайна, не чеклист вакансии senior.
Какой пайплайн собрать за квартал
Один сервис, не десять курсов. Тема может быть учебной, контракт — рабочий.
Недели 1–3. Выберите источник с историей: открытый API с пагинацией, выгрузка CSV раз в день, дамп учебной БД заказов. Опишите схему сырого слоя: какие поля, какие типы, что бывает пустым. Напишите загрузку, которая не падает на повторном запуске: вчерашние файлы не дублируют факт.
Недели 4–7. Витрина под один вопрос: «заказы по дням и статусам», «события пользователя за 7 дней». SQL-трансформации в репозитории, не только в BI. Добавьте проверку: число строк не ноль, дата свежая, сумма не уехала на порядок.
Недели 8–10. Расписание. Лог. Искусственная поломка источника и короткий текст: что увидели, как починили, что добавили в проверку. Это уже история для собеседования, не «я учил Airflow».
Недели 11–12. README, диаграмма потока в двух абзацах, одно ограничение честно: нет стриминга / нет SCD2 / нет продакшн-SLA. Рекрутеру проще звать человека, который знает границу проекта.
Не называйте это «платформой данных компании». Назовите учебным пайплайном заказов. Скрытый учебный проект, который притворяется продом, вскрывается вопросом «кто пользователи и какой SLA».
Пример 1. Девяносто дней из аналитики в DE
Исход: два года SQL в отчётах, Python на уровне скриптов, нет оркестрации. Цель — junior DE в команде, где уже есть хранилище, а не «построить с нуля».
- Месяц 1. Перестать собирать новые дашборды «в портфолио». Взять один отчёт, который сейчас собирается руками, и описать его как витрину: зерно, ключи, обновление раз в сутки.
- Месяц 2. Вынести сбор в скрипт + SQL, поставить на расписание у себя. Зафиксировать два инцидента: источник отдал кривую дату; джоб отработал, витрина пустая. Короткий разбор в README.
- Месяц 3. Резюме: заголовок «Data Engineer / SQL, Python, витрины», не «аналитик, готовый к инженерии». В опыте — текущая аналитика языком доставки данных, плюс учебный пайплайн ссылкой. Отклики только туда, где в задачах загрузка и поддержка джобов, не ML-платформа.
Переход не требует уволиться в первый день. Он требует, чтобы в файле и на созвоне вы говорили про джобы и схемы, а не про «инсайты».