Junior Data Engineer (Python / Airflow)

Дата размещения вакансии: 28.07.2026
Работодатель: SWiP
Уровень зарплаты:
з/п не указана
Город:
Москва
Нежинская улица 1к4
Требуемый опыт работы:
От 1 года до 3 лет

Наша компания - лидер в области AI, в сегменте бизнеса Retail/HoReCa.

Миссия нашей компании - Мы создаем доступные, работающие автономно решения на основе AI, которые помогают расти бизнесу и увеличивать его прибыль, воплощая мечты предпринимателей по всему миру в реальность.

Наши клиенты в трех странах (Россия, Таиланд, Таджикистан); В России мы представлены в 100 городах, более 550 брендов работают с нами.

Обязанности:

  • Поддержка и развитие наших Airflow-DAG-ов кампаний: ежедневный контроль прогонов, разбор алертов и падений, доведение инцидентов до причины.
  • Доработка бизнес-логики кампаний по задачам из бэклога: изменение правил отбора, параметров и конфигураций мерчантов.
  • Проверка изменений на UAT перед выкаткой, включая точечные прогоны на отдельных мерчантах.
  • Написание тестов на изменяемую и уже существующую логику.
  • Контроль качества данных, от которых зависит контур: конфигурации мерчантов, ML-скоры, справочники; выяснение источника пропусков и некорректных значений.
  • Развитие наблюдаемости: уточнение логов, алертов и итоговых сводок прогонов.
  • Ведение документации по сервису: описание алгоритмов и runbook «алерт → действие».
  • Постепенное принятие сервиса под свою ответственность — от участия в разборах вместе с наставником до самостоятельного дежурства.

Требования:

  • ​​​​​​Python — уверенно читает и пишет процедурный код: функции, dataclass, исключения и трейсбеки, Optional/type hints на уровне чтения, datetime/timedelta. Умеет объяснить чужие 50 строк кода, не переписывая их.
  • SQL (Postgres) — SELECT/JOIN/GROUP BY/агрегаты/WHERE по датам, умеет написать запрос по выданному DDL. Понимает, что запрос бывает медленным и что такое индекс.
  • pandas — DataFrame, фильтрация, groupby, merge, понимание типов колонок и NaN/None. Без этого не читается ни один файл контура.
  • Даты и таймзоны — понимает разницу naive/aware, UTC и локального времени, умеет объяснить, почему «сегодня» в Москве и в UTC — разные дни.
  • Git — ветки, коммиты, PR, чтение diff и git log/blame.

​​​​​​​Будет плюсом (остальному научим):

  • Базовое знакомство с Airflow (даже пет-проект или лекции).
  • Уверенное владение Linux CLI и Docker (базовые команды).
  • Опыт интеграции c внешними API (REST или очереди).
  • Понимание, как устроен kubectl (хотя бы на уровне просмотра логов).
  • Знание основ ML: что такое скор модели и порог бинаризации.

Отношение к работе:

  • Желание разобраться досконально, а не «закрыть задачу» в виду того, что сервис транзакционный..
  • Готовность взять сервис под постоянное наблюдение— ежедневно смотреть алерты и сводки прогонов, замечать отклонения до того, как о них сообщит бизнес..
  • Настрой на безошибочную работу как цель, каждый сбой должен заканчиваться защитой от его повторения (проверка, тест, алерт)..
  • Планомерное улучшение качества.
  • Внимание к данным вокруг сервиса, готовность проверять входные данные и относиться к пропускам и «пустым» значениям как к дефекту, требующему выяснения источника, а не как к фону..
  • Интерес к инфраструктуре сервис, со временем самостоятельно ориентироваться в окружении (Airflow, БД, воркеры, внешние сервисы) и понимать, как состояние инфраструктуры отражается на результате прогонов..
  • Владение зоной ответственности, восприятие сервиса как своего: знать его состояние в любой момент, а не только когда пришёл алерт.

​​​​​​​Условия:

  • Официальное трудоустройство с первого дня.
  • Оклад: 65.000 на руки.
  • График: 5/2, 10:00–19:00, гибрид (офис + дом).
  • Корпоративная жизнь: корпоративы 2 раза в год, спортивные турниры, интеллектуальные игры, выездные мероприятия.