Principal backend engineer / Python
Навыки: Python, REST, CI/CD, Базы данных, Разработка программного обеспечения, Google Cloud Platform, Redis. Квалификация: Senior. Специализации: Бэкенд разработчик.
YoloPrice - embeddable e-commerce платформа, встраиваемая в мобильные приложения.
YoloPrice отвечает за поиск товаров, данные и цены, сравнение предложений, синхронизацию и другие ключевые e-commerce сценарии.
Backend и мобильный SDK - два самостоятельных технических контура со своей бизнес-логикой. Backend работает с большим количеством внешних источников и обеспечивает real-time и периодический сбор и обработку данных без готовых товарных фидов.
Сегодня платформа работает с 300+ магазинами и маркетплейсами. В backend есть задачи распределенных систем, интеграций, data pipelines и e-commerce логики. Часть процессов использует ML, который встроен непосредственно в продукт.
Кого ищем
Ищем Backend Engineer, который станет техническим owner’ом backend-направления YoloPrice.
Основная часть backend уже работает в production. Предстоит отвечать за его развитие и техническое состояние: развивать существующие сервисы, рефакторить их там, где это необходимо, улучшать архитектуру, разбираться с production-проблемами и реализовывать новые задачи.
Это роль для инженера, которому интересно влиять на backend целиком, а не только закрывать отдельные задачи. Нужно понимать, как устроена система, видеть связи между сервисами и принимать технические решения с учетом их влияния на весь продукт.
При этом backend находится на стыке e-commerce, данных и ML. Не требуется быть ML-инженером - модели уже являются частью продукта.
Чем предстоит заниматься
- Развивать и поддерживать backend-платформу и ее бизнес-логику.
- Отвечать за техническое состояние и развитие backend-направления в целом.
- Поддерживать сервисы сбора и обработки данных из внешних источников.
- Разрабатывать и поддерживать интеграции с внешними сервисами.
- Разбираться с production-проблемами: работать с логами, находить причины сбоев и устранять их.
- Проводить рефакторинг и технические улучшения существующих сервисов.
- Развивать архитектуру backend и принимать технические решения по ее дальнейшему развитию.
- Улучшать мониторинг, диагностику и эксплуатацию сервисов.
- Самостоятельно разбирать новые задачи, предлагать решения и реализовывать их на backend.
- Работать вместе с SDK-инженером над задачами, затрагивающими оба технических контура.
Что важно
- 7+ лет коммерческой backend-разработки.
- Хорошее понимание HTTP, REST API, сетевого взаимодействия и асинхронного программирования.
- Опыт разработки и поддержки production-систем.
- Умение быстро разобраться в существующем коде и найти причину проблемы.
- Умение видеть систему целиком и оценивать влияние изменений на связанные части системы.
- Опыт разработки backend для реального пользовательского продукта, где стабильность сервисов напрямую влияет на пользовательский опыт.
- Готовность работать с Python: основная часть текущего backend-кода написана на Python.
- Способность самостоятельно принимать технические решения и отвечать за результат.
- Умение самостоятельно вести задачу от постановки до результата.
- Готовность быть техническим owner’ом backend-направления, а не только исполнителем отдельных задач.
Будет плюсом
- Опыт backend-разработки на Go или JVM-стеке (Java/Kotlin).
- Опыт работы с системами сбора и обработки данных в реальном времени.
- Опыт работы с распределенными системами и data pipelines.
- Опыт работы с ML-компонентами в production.
- Google Cloud, включая Cloud Run.
- Docker, CI/CD.
- Мониторинг, логирование и observability.
- Опыт работы с B2C-продуктами.
Технологический стек
Python, Google Cloud / Cloud Run, Docker, CI/CD, REST API, внешние API и источники данных, data pipelines, ML-компоненты.
Условия
- Полная занятость.
- 2000 –2300 ₽/час в зависимости от опыта.
- При полной загрузке - до 420 тыс. ₽/мес.
- Удаленная работа с возможностью посещать офис.
- ИП, самозанятость или патент.
- Прямое взаимодействие с командой и регулярные встречи по ВКС.
Как мы работаем
- Без лишней бюрократии.
- Задачи обсуждаем вместе, а решение и реализацию оставляем за вами.
- Внутри backend-направления много уже работающего кода, поэтому значительная часть работы - разобраться в системе, понять ограничения и выбрать разумное техническое решение.
- Если возникает проблема, разбираемся в причине и ищем решение, которое делает систему надежнее.
- Советуемся, критикуем и предлагаем.
- Ожидаем, что инженер не просто реализует задачи, а постепенно формирует и улучшает техническую сторону backend-направления.