з/п не указана
Москва
Нежинская улица 1к4
Нежинская улица 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 раза в год, спортивные турниры, интеллектуальные игры, выездные мероприятия.