Senior · Удалённо из России · Москва, Россия · Английский не нужен
Навыки
Алгоритмы и структуры данных
Внимание к деталям
Avro / Parquet
Cassandra / Scylla
Распределённые системы
E-commerce
Elasticsearch
Ещё 16
Flink
gRPC
Java
Kafka
Логистика
Machine Learning
NoSQL
Ответственность за результат
152-ФЗ / персональные данные
Protobuf
Redis
Scala
SLA
Spark
Потоковая обработка
Работа в команде
О компании и продукте
Вакансия Старший разработчик Java. Гео спайдер в Ozon от 475 000 ₽/мес до налогов, совокупно 📍 Россия Москва Санкт-Петербург Иннополис Новосибирск Удалённо. Технологии/инструменты Java NoSQL Cassandra ScyllaDB Redis Привет!. Это команда специализированных индексов поиска. Миллионы пользователей каждый день ищут товары на Ozon
Мы строим распределённую систему специализированных индексов, которая собирается и обновляется через потоковую обработку на Apache Flink и выдаёт ответы за миллисекунды под нагрузкой в десятки тысяч запросов в секунду. Основные задачи команды. Разрабатываем и поддерживаем индекс доступности — фильтруем товары, которые недоступны для доставки в регион пользователя с учётом всей логистической цепочки. Разрабатываем и поддерживаем индекс сроков доставки — показываем только те товары, которые укладываются в заданный пользователем временной промежуток. Проектируем индекс цен — точное определение цены товара в поиске с учётом логистики, региональных коэффициентов и пользовательских скидок. Строим надёжные пайплайны потоковой обработки данных на Flink для постоянной синхронизации индексов с мастер-данными
Задачи
Чтобы предложить релевантные товары, поиску нужно учитывать не только текст запроса, но и сотни факторов: доступность товара в регионе, сроки доставки, итоговую цену со скидками
За эти факторы отвечают специализированные индексы — отдельные высокопроизводительные структуры данных, которые в реальном времени обогащают поисковую выдачу точной информацией о каждом товаре
Проектировать и разрабатывать новые специализированные индексы (в том числе индекс цен) — от исследования требований до продакшена
Писать высоконагруженный код на Java, работающий под нагрузкой тысяч RPS с жёсткими SLA по latency
Работать с Apache Flink — строить потоковые пайплайны для сбора, агрегации и доставки данных в индекс
Оптимизировать структуры данных и форматы хранения для быстрого поиска и фильтрации (битовые карты, compressed sorted sets, вещественные числа с заданной точностью)
Участвовать в интеграции индексов в поисковый движок
Проектировать A/B-эксперименты и следить за метриками качества поиска при изменениях в индексах
Требования
Хорошее знание Java и опыт разработки от 5 лет
Понимание классических алгоритмов и структур данных (особенно работающих с множествами, диапазонами, эффективной сериализацией)
Опыт разработки многопоточных приложений и работы с распределёнными системами
Опыт использования реляционных СУБД и/или NoSQL-хранилищ (Cassandra, ScyllaDB, Redis)
Умение тестировать собственный код и работать с чужой кодовой базой
Ответственность и аккуратность, готовность доводить задачи до конца
Умение работать в команде и договариваться с продуктовыми и DS-командами
Интегрируемся с командами ранжирования, чтобы специализированные индексы эффективно использовались в формулах поиска
Проектируем архитектуру хранения: балансируем между полнотой данных, скоростью записи и чтения, потреблением памяти
Вы будете
Будет плюсом
Опыт работы с Apache Flink (или другими стриминговыми движками: Kafka Streams, Spark Streaming)
Опыт разработки специализированных поисковых индексов или работы с Lucene / Elasticsearch / OpenSearch
Опыт алгоритмической разработки: сжатие данных, BitSet / RoaringBitmap, range-индексы, работа с floating-point в условиях компромисса скорости и точности
Опыт с протоколами gRPC, Avro / Protobuf
Образование, связанное с математикой или Computer Science
Понимание Data Science и/или ML Engineering (как модели ранжирования потребляют факторы из индексов)
Опыт работы с логистическими или ценообразовательными системами
Условия
Оптимизируем время построения и обновления индексов, чтобы изменения в логистике или ценах доходили до поиска за минуты, а не часы
Паспорт вакансии
История публикации
Появилась в Вакандии28 дней
Перепубликациинетпубликовалась один раз
Проверяли на источникеВидели 28 дней назад
Среди похожихНет данных23 из 30 · похожих вакансий слишком мало для сравнения
Откуда что взялось
Отмечено то, что вывели мы. Без пометки — значение назвал работодатель.
ГрейдSeniorвычитано из текста вакансии
Формат работыУдалённо из Россиивычитано из текста вакансии
ГеографияМосква, Россиявычитано из текста вакансии
Зарплатаот 475 000 RUB в месяцвычитано из текста вакансии
Почему на этом месте в выдаче
Порядок выдачи объявлен контрактом: свежесть решает между днями, полнота и зарплата — внутри дня.
Полнота карточки1004 из 4 полей: грейд, формат, география, зарплата
Зарплата названа100вилку назвал источник
Проверка Вакандии
Источники и свежесть
Тип источника
Агрегатор вакансий
Найдено публикаций
1
Посмотреть публикации и даты
getmatchОсновная публикация · 2026-08-13
O
Работодатель
Ozon
50 активных вакансий · вилка работодателя указана в 11%