Привет! Это команда Поисковая платформа
Миллионы пользователей каждый день ищут товары на Ozon. Большое количество разработчиков и data scientist-ов вовлечены в процессы улучшения пользовательского опыта: разработку моделей машинного обучения, поддержку новых признаков ранжирования, проведение аналитики поисковых сессий. В самом сердце этих процессов живёт Поисковая платформа — движок, на котором работает поиск Ozon. Он обязан выдерживать огромные нагрузки, поддерживать современные ML-решения и лёгкое внедрение продуктовых фичей.
Основные задачи команды Поисковой платформы:
- Постоянно следим за производительностью поискового движка, ищем способы сделать его быстрее.
- Оптимизируем процесс индексации, чтобы поддерживать базу поиска в актуальном состоянии и быстрее доставлять обновления пользователям поиска.
- Активно работаем с DS-командами, чтобы использовать в поисковом движке новые технологии, например большие языковые модели. Занимаемся не только интеграцией, но и проектированием решений для оптимизации времени исполнения запроса.
- Наши непосредственные пользователи — продуктовые разработчики в поиске и команды DS. Разрабатываем для них инструменты, которые позволяют воплотить в жизнь продуктовые фичи. Скоуп работ — от поддержки новых типов данных в индексе до разработки своих DSL для поиска или признаков ранжирования.
Наш стек: Java 21, Lucene, Kafka, ScyllaDB, ClickHouse, Redis, PostgreSQL, S3, k8s, Spark
Вы будете:
- В команде индексации — участвовать в проектировании и разработке быстрообновляемого хранилища мастер-данных для поиска, подсистемы потоковой и пакетной обработки данных для аналитики и построения поискового индекса, интегрироваться с DS-решениями для анализа данных поискового индекса.
- В команде базового поиска — оптимизировать поисковый движок, заниматься вопросами оптимального хранения данных и скорости их обновления, поддерживать и совершенствовать архитектуру распределённого поискового движка.
- В команде среднего поиска — разработка высоконагруженного сервиса ранжирования и координации распределенного поиска.
- В команде инструментов поисковой платформы - разрабатывать сервисы и инструменты для мониторинга и управления поисковыми кластерами платформы, а также заниматься развитием и оптимизацией инфраструктуры поисковой платформы
Нам важно:
- Хорошее знание Java и опыт разработки от 2 лет.
- Знание классических алгоритмов и структур данных.
- Опыт разработки многопоточных приложений и распределённых систем.
- Опыт использования реляционных СУБД и (или) NoSQL-хранилищ.
- Ответственность и аккуратность, умение тестировать собственный код и работать с чужим.
- Умение работать в команде.
Будет плюсом:
- Непосредственная работа с поисковыми движками: Elastic Search, Solr, Sphinx
- Опыт построения ETL, DWH, Data Lake
- Опыт алгоритмической разработки, например сжатия данных
- Образование, связанное с математикой или Computer Science
- Знакомство с Data Science и/или ML Engineering