Инженер платформы товарных данных (Python, PostgreSQL)
Описание
Компания DOMEO — российская компания, лидер среди сервисов по капитальному ремонту и дизайну квартир и частных домов. На рынке более 10 лет, представлены в Москве, Санкт-Петербурге и Сочи. Мы развиваем платформу товарных данных — единое хранилище всех товаров компании. Система уже работает: модуль, БД, структура, обслуживает внутренние сервисы (конфигуратор, планировщик, заказы, загрузку поставщиков). Ищем инженера, который возьмёт платформу под свою ответственность: базу данных, загрузку, выдачу данных и надёжность. Это не аналитика и не DWH — платформа обслуживает живые сервисы в реальном времени. Разработку ведём вместе с ИИ-агентами: они пишут значительную часть кода, а инженер ставит задачи, проверяет результат и отвечает за архитектуру и качество. В разборе данных поставщиков помогают ИИ-модели. Стек: PostgreSQL 16, Python / FastAPI / SQLAlchemy, Redis, Object Storage, Docker, GitHub Actions; российское облако. Что предстоит делать: Проектировать и развивать схему PostgreSQL: товары, предложения поставщиков, цены и наличие; Строить и развивать загрузку данных поставщиков: пакетная обработка, идемпотентность, возобновление после сбоя, контроль отклонений; Участвовать в разборе данных поставщиков с помощью ИИ-моделей: профили поставщиков, сопоставление категорий и характеристик, передача спорных случаев человеку; Развивать слой выдачи данных для других систем: стабильный формат, постраничная выдача, кэширование, чтение с реплики; Оптимизировать производительность: индексы (включая partial), планы запросов, большие таблицы; менять базу на работающем сервисе без остановки; Отвечать за роли и права доступа к данным; Отвечать за восстановление базы за согласованное время: бэкапы, регулярные проверки восстановления, репликация и переключение при отказе, мониторинг; Участвовать в выборе и развитии инфраструктуры под платформу; Работать в связке с ИИ-агентами: ставить задачи, проверять код и SQL, принимать результат по замерам и тестам; Дорабатывать систему по итогам разбора инцидентов, закрывая причину, а не симптом. Требования: Python на продакшн-уровне от 3 лет: FastAPI, SQLAlchemy, asyncio; PostgreSQL как основная база сервиса от 3 лет, а не только источник для аналитики; Понимание устройства PostgreSQL: MVCC, транзакции и блокировки, автовакуум, WAL; Уверенный SQL и PL/pgSQL: функции, триггеры, пакетная обработка вместо построчной; Опыт очередей и фоновых воркеров, повторная обработка без дублей; Оптимизация по замерам: EXPLAIN (ANALYZE, BUFFERS), pg_stat_statements; Миграции на живом сервисе без остановки; Опыт эксплуатации: Docker, мониторинг, бэкапы и восстановление базы; Ежедневное использование ИИ-инструментов в разработке (Claude Code, Codex, Cursor или аналоги) и умение проверять их результат; Самостоятельность: готовность вести участок, принимать решения и оформлять их; Готовность работать в офисе в Москве. Будет плюсом: Репликация, PgBouncer, партиционирование; Outbox, событийная синхронизация сервисов; Опыт с каталогами товаров, фидами поставщиков, e-commerce, PIM; Опыт интеграции LLM и локальных моделей; Kubernetes. Условия: График: 09:00–18:00 или 10:00–19:00 (перерыв 1 час), сб/вс и праздники — выходные; Современный офис, оборудованная кухня, места для отдыха; Бесплатная йога в спортивном пространстве офиса; Детская комната — если нужно взять ребёнка с собой; Зарплата: обсуждается по итогам интервью.