* 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
- Проектировали и разрабатывали сервисы с нуля
