Разработчик бэкенда системы складских операций в Лавку
Яндекс Лавка — это международный сервис доставки продуктов за 10–20 минут, который стал неотъемлемой частью жизни миллионов людей.
Наша команда разрабатывает платформу, которая используется на всех Лавках. Мы умеем отслеживать в реальном времени, сколько арбузов и на каких полках имеется в конкретной Лавке. Мы напрямую влияем на счастье наших пользователей, так как пытаемся исключить ситуации, когда привозят просроченный йогурт или почерневшие бананы.
Наш стек:
- Основной язык программирования — Python 3, asyncio, aiohttp, asyncpg, pytest
- Шардированый PostgreSQL — основная база данных, MongoDB — для сервера доставки событий на фронтенд, ClickHouse — для аналитики
- Очередь сообщений SQS и Logbroker (наш аналог Kafka) — для горизонтального масштабирования вычислений
- Протокол OpenAPI — для взаимодействия с фронтом (React и Vue), мобильными приложениями и внешними сервисами
- Активно используем Docker для локальной разработки и деплоя
- Покрытие кода тестами более 90%
Что нужно делать:
Развивать продукт
Вам предстоит автоматизировать нетривиальные бизнес-процессы, связанные с жизненным циклом товаров на складах и последующей доставкой заказов клиентам, разрабатывать инфраструктуру для сбора и отображения real-time-метрик, которые помогают работать эффективнее, разрабатывать идемпотентные и асинхронные API, интегрироваться с внешними сервисами, взаимодействовать с командами продукта, аналитиками и разработчиками из других направлений.
Развивать общие программные компоненты
Мы разрабатываем свой фреймворк, используемый в ключевых частях системы, делаем удобные штуки для себя и коллег, чтобы двигаться быстро и ничего не ломать.
Поддерживать высокую культуру разработки и стабильность сервиса
Вы будете проводить осмысленно код-ревью (для всего другого у нас есть ruff и black), держать code coverage близким к 90%, улучшать мониторинги и алерты для сохранения uptime 99.9%.
Мы ждем, что вы:
- Уверенно знаете любой из современных языков программирования (мы используем Python)
- Имеете опыт работы с базами данных (SQL, NоSQL), понимаете, зачем нужна денормализация данных
- Понимаете, как тесты делают жизнь разработчика и всех вокруг лучше
- Имеете опыт разработки веб-приложений
- Понимаете, как устроены *nix-подобные операционные системы
- Чувствуете себя комфортно, работая как в команде, так и самостоятельно
- Готовы расти быстро вместе с Лавкой
Будет плюсом, если вы:
- Понимаете нюансы асинхронного программирования на Python: где его можно использовать, а где не стоит
- Работали с PostgreSQL
- Имеете опыт разработки высоконагруженных веб-приложений и распределённых систем обработки данных (тысячи RPS, миллионы записей)
- Проектировали и разрабатывали сервисы с нуля
Что мы предлагаем
Расширенная медицинская страховка начинает работать с первого месяца в Яндексе. В неё входят стоматология, ежегодные чекапы, неотложная помощь за рубежом, лечение критических заболеваний, в том числе онкологии, и страхование от несчастных случаев.
А также:
- психотерапия в офисе или онлайн-сервисах;
- лазерная коррекция зрения через год работы;
- ведение беременности и роды — через два года.
Страховка для родственников по системе 80/20
Мы оплачиваем 80% стоимости ДМС для детей и супругов, вы — остальные 20%.
Юрий Мещеряков
Head of Recruitment Екома и Райдтеха
У нас многоступенчатый отбор — так получается объективнее и быстрее. Сейчас вы отправите резюме, и если всё сложится, то в ближайшие 3-5 дней мы пришлём вам приглашение. Что ждёт вас дальше, читайте на странице для подготовки к интервью.