Ozon

Разработчик Java, Факторы ранжирования

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • От 1 года до 3 лет
  • IT
  • Разработка поисковых технологий
  • Java

Поиск в Ozon - это десятки миллионов пользователей каждый день, огромный RPS, низкий latency, распределённые системы и большие данные. Команда Факторов занимается end-to-end разработкой фичей для ранжирования в поиске и каталоге: от настройки etl-процессов для подготовки данных до внедрения механизмов применения новых фичей в сервисах Поиска. Мы ищем талантливых разработчиков, которые помогут нам совершенствовать и развивать нашу инфраструктуру обработки данных и расчета фичей, используя современные технологии и подходы.

Наш стек:

  • На бекенде пишем на Java (сейчас в большинстве сервисов 21 версия и мы стараемся поддерживать актуальную версию) и собственная платформа.
  • В качестве DI используем Guice, опыт работы со Spring тоже приветствуется.
  • Gitlab ci/cd с множеством сред для разработки и тестирования.
  • В своих микро-сервисах применяем ML-модели и используем свой Feature Store для получения фичей и Feature Meta Store для хранения метаинформации о фичах.
  • Используем Redis для горячего хранения данных и Postgresql для хранения метаинформации, также используется ClickHouse (и в перспективе ScyllaDB).
  • Данные храним в S3 & hdfs.
  • ETL на Spark & Flink.
  • Процессим данные через Kafka.
  • Kubernetes для оркестрации.
  • Логирование и метрики идут через Prometheus, Graylog, OpenTracing (Jaeger).
  • Стандартный джентельменский набор Jira, Confluence и Gitlab.

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

  • Разрабатывать новые фичи (плагины) для улучшения качества ранжирования в поиске и каталоге.
  • Делиться фичами (интегрировать и интегрироваться) со смежными отделами Рекламы и Рекомендаций.
  • Развивать собственные Feature Store и Feature Meta Store.
  • Оптимизировать узкие по производительности места. Взаимодействовать с DS/DE внутри команды и со смежными командами внутри департамента Поиска (Платформа, Верхний Поиск, Продукты).
  • Покрывать свой код юнит-тестами.
  • Ревьюить своих тиммейтов.
  • Писать документацию.

Будет плюсом:

  • Опыт работы с большими объёмами данных и понимаете, как эффективно их обрабатывать.
  • Знакомы с принципами распределённых систем, умеете работать с микросервисной архитектурой.
  • Непосредственная работа с поисковыми движками: Elastic Search, Solr, Sphinx.
  • Опыт построения ETL, DWH, Data Lake.
  • Опыт алгоритмической разработки, например, сжатия данных.
  • Знакомство с Data Science и/или ML Engineering.
  • Образование, связанное с математикой или Computer Science.
  • Знание Python.

Мы ожидаем:

  • Хорошее знание Java и опыт разработки от 2 лет.
  • Знание классических алгоритмов и структур данных.
  • Опыт разработки многопоточных приложений и распределённых систем.
  • Опыт использования реляционных СУБД и (или) NoSQL-хранилищ.
Мы предлагаем:
  • Динамичный и быстроразвивающийся бизнес, ресурсы, возможность сделать вместе лучший продукт на рынке e-commerce.

  • Свободу действий в принятии решений.

  • Достойный уровень заработной платы.

  • Профессиональную команду, которой мы гордимся.

  • Возможность развиваться вместе с нашим бизнесом.