Python-разработчик в складские операции Лавки
Яндекс Лавка — сервис быстрой доставки продуктов и товаров первой необходимости. Наша команда разрабатывает бэкенд платформы, которая автоматизирует бизнес-процессы на складах Лавки. Мы отслеживаем в реальном времени, сколько продуктов и на каких полках хранится в каждом дарксторе, и помогаем совершенствовать складские процессы. Благодаря нашей системе кладовщики быстро и чётко собирают заказы, а курьеры и роботы доставки привозят только свежие продукты.
Мы используем:
- Python 3, asyncio, aiohttp, asyncpg, pytest
- шардированный PostgreSQL как основную базу данных
- MongoDB для сервера доставки событий на фронтенд
- ClickHouse для аналитики
- Amazon SQS для очереди сообщений
- OpenAPI для взаимодействия с фронтендом (React и Vue), мобильными приложениями и внешними сервисами
- Docker для локальной разработки и деплоя
- покрытие кода тестами — более 90%
- AI-инструменты
Задачи и обязанности
Развитие продукта
Вам предстоит автоматизировать сложные бизнес-процессы, связанные с жизненным циклом товаров на складах и доставкой заказов клиентам, разработать инфраструктуру для сбора и отображения метрик в реальном времени, создавать идемпотентные и асинхронные API, интегрироваться с внешними сервисами, работать в кросс-функциональной команде и тесно сотрудничать с продактами, аналитиками, дизайнерами и тестировщиками.
Совершенствование архитектуры системы
Чтобы поддержать рост Лавки, нам нужно создавать гибкие, масштабируемые и отказоустойчивые сервисы. Мы постоянно улучшаем техническую архитектуру, внедряя новшества без ущерба для скорости разработки и стабильности работы. Сейчас перед нами стоит большая задача: распиливать монолит и добавлять сервисы на Go. В данный момент уже есть пара сервисов на Go.
Поддержка культуры разработки и стабильности сервиса
Нужно будет осмысленно проводить код-ревью, держать codecoverage близким к 90%, улучшать мониторинги и алерты для сохранения uptime 99,9%.
Больше о бэкенде в Яндексе — в канале Yandex for Backend
Требования
- Уверенно знаете Python
- Работали с базами данных: SQL, NoSQL
- Понимаете, зачем нужна денормализация данных, где и когда использовать документоориентированные и колоночные СУБД
- Умеете писать тесты и понимаете, как они делают жизнь разработчика и всех вокруг лучше
- Занимались разработкой веб-приложений
- Понимаете, как устроены *nix-подобные операционные системы
- Способны работать в команде и самостоятельно
- Готовы быстро расти вместе с Лавкой
Дополнительные требования
- Понимаете нюансы асинхронного программирования на Python: где его можно использовать, а где не стоит
- Работали с PostgreSQL
- Разрабатывали высоконагруженные веб-приложения и распределённые системы обработки данных с тысячами RPS и миллионами записей
- Разрабатывали приложения на Go
- Проектировали и разрабатывали сервисы с нуля