Разработчик бэкенда системы складских операций в Лавку (Python)

Зарплата 250000 - 450000р.
Компания Яндекс
Город Москва
Требуемый опыт От 3 лет
Опубликована 25 марта 2024 г.
К сожалению, эта вакансия уже закрыта. Но вы можете посмотреть другие вакансии
Яндекс Лавка - это международный сервис доставки продуктов за 10–20 минут, который стал неотъемлемой частью жизни миллионов людей. Наша команда разрабатывает платформу, которая используется на всех Лавках. Мы умеем отслеживать в реальном времени, сколько арбузов и на каких полках имеется в конкретной Лавке. Мы напрямую влияем на счастье наших пользователей, так как пытаемся исключить ситуации, когда привозят просроченный йогурт или почерневшие бананы.
Наш стек:
  • Основной язык программирования — Python 3, asyncio, aiohttp, asyncpg, pytest
  • Шардированый PostgreSQL — основная база данных, MongoDB — для сервера доставки событий на фронтенд, ClickHouse — для аналитики
  • YT — наш аналог MapReduce для обработки больших данных
  • Очередь сообщений SQS и Logbroker (наш аналог Kafka) — для горизонтального масштабирования вычислений
  • Протокол OpenAPI — для взаимодействия с фронтом (React и Vue), мобильными приложениями и внешними сервисами
  • Активно используем Docker для локальной разработки и деплоя
  • Покрытие кода тестами более 90%
Какие задачи вас ждут:
Развивать продукт
Вам предстоит автоматизировать нетривиальные бизнес-процессы, связанные с жизненным циклом товаров на складах и последующей доставкой заказов клиентам, разрабатывать инфраструктуру для сбора и отображения real-time-метрик, которые помогают тысячам сотрудников работать эффективнее, разрабатывать идемпотентные и асинхронные API, интегрироваться с внешними сервисами, взаимодействовать с командами продукта, аналитиками и разработчиками из других направлений.
Развивать общие программные компоненты
Мы разрабатываем свой фреймворк, используемый в ключевых частях системы, делаем удобные штуки для себя и коллег, чтобы двигаться быстро и ничего не ломать.
Поддерживать высокую культуру разработки и стабильность сервиса
Вы будете проводить осмысленно код-ревью (для всего другого у нас есть ruff и black), держать codecoverage близким к 90%, улучшать мониторинги и алерты для сохранения uptime 99.9%.
Мы ждём, что вы:
  • Уверенно знаете любой из современных языков программирования (мы используем Python)
  • Имеете опыт работы с базами данных (SQL, NоSQL), понимаете, зачем нужна денормализация данных
  • Понимаете, как тесты делают жизнь разработчика и всех вокруг лучше
  • Имеете опыт разработки веб-приложений
  • Понимаете, как устроены *nix-подобные операционные системы
  • Чувствуете себя комфортно, работая как в команде, так и самостоятельно
  • Готовы расти быстро вместе с Лавкой
Будет плюсом, если вы:
  • Понимаете нюансы асинхронного программирования на Python: где его можно использовать, а где не стоит
  • Работали с PostgreSQL
  • Имеете опыт разработки высоконагруженных веб-приложений и распределённых систем обработки данных (тысячи RPS, миллионы записей)
  • Проектировали и разрабатывали сервисы с нуля