Ozon

Go-разработчик, Группа разработки "Корзина 1"

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет
  • Go
  • Golang
  • PostgreSQL
  • Apache Kafka
  • Микросервисная архитектура
  • Docker-compose
  • Grafana
  • Prometheus
  • Kubernetes
  • k8s

Мы разрабатываем сервис, который отвечает за отрисовку страницы корзины покупателя. Результаты твоей работы увидят миллионы людей. Ты сможешь влиять на развитие корзины и чекаута. Product owner-ы нашего отдела всегда открыты к обсуждению фич.

Основные задачи команды:

  • Быстро, но качественно пилим бизнес-фичи, которые в основном связаны с внешним видом корзины на маркетплейсе: сбор данных из разных источников и перевод их в контракты UI компонентов для Backend Driven UI.
  • Обеспечиваем стабильность и высокую скорость ответа сервиса, т.к. мы находимся на пути пользователя к заказу.
  • Постоянно челленджим свои подходы к дизайну кода и тратим до 30% времени спринтов на исправление неудачных технических решений прошлого.

Что у нас есть:

  • Наш микросервис позволяет активно рефакторить код и быстро делать фичи, которые мы релизим на прод по мере готовности: продуктовые эксперименты запускаются каждую неделю.
  • Мы уделяем большое внимание качеству кода и активно пишем юнит тесты, т.к. у нас тонна бизнес-логики по сбору данных из внешних сервисов, чтобы пользователь увидел свою корзину.
  • Храним сотни гигабайт данных корзин в шардированном PostgreSQL. Иногда приходится придумывать способы конвертации такого объёма данных без потери производительности и тем более без даунтайма. Активно используем шардированный Redis.
  • Дежурства: примерно один раз в неделю. В рабочее время дежурный отвечает на вопросы других команд. В нерабочее - должен быть готов быстро подключиться на инцидент, если он затрагивает корзину.

Вам предстоит:

  • Писать поддерживаемый код.
  • Мониторить и оптимизировать производительность системы.

Ожидаем, что кандидат:

  • Имеет бэкграунд на бэкэнде на уровне senior, опыт с Go от 3-х лет.
  • Готов изучать ветвистые потоки данных, писать тесты там, где их не хватает.
  • Умеет бороться со сложностью кода, стремится писать код, понятный другим разработчикам.