java

Java разработчик в команду "Поиск" (Одноклассники), Санкт-Петербург

Одноклассники

Одноклассники – одна из крупнейших социальных сетей. OK – самый высоконагруженный в мире сервис, написанный на Java. Большинство задач, которые возникают перед нами каждый день, не имеют готовых решений, поэтому мы используем большое количество собственных разработок. 

Команда Поиска Одноклассников ищет новых коллег, чтобы вместе развивать поиск в одном из самых больших сервисов России.

Задачи

Мы в команде Поиска отвечаем за разработку и сопровождение всех поисков, работающих внутри портала. Поисковая система на более чем 20 вертикалей крутится на 500+ инстансах в 5 дата-центрах, а объём индексируемых данных измеряется терабайтами. Такой масштаб делает проблематичным использование стандартных решений, поэтому ядром системы является свое решение на базе Lucene. Поиск Одноклассников хорошо переживает сбои даже целого дата-центра, наплывы запросов и другие форс-мажоры. За всё время нам ни разу не пришлось что-то в нём "тушить", все технические проблемы решались штатным рефакторингом нужной части с аккуратным управлением вычислительными ресурсами. При этом, мы продолжаем реализовывать идеи, с которыми к нам приходят коллеги из смежных продуктовых команд.

Мы сами ставим себе задачи, сами их решаем и запускаем в прод. Благодаря отсутствию бюрократии мы можем пробовать множество идей за малое время, экспериментально определяя их полезность. Продуктовые идеи мы проверяем проводя A/B тестирование, с которым нам помогает набор инструментов, разработанный в Одноклассниках.

Работа со многими командами позволяет попробовать разные подходы к развитию продукта, требует внимания к деталям, а также умения находить и выбирать оптимальные решения. Они могут касаться как продукта, так и технологии, т.к. часто приходится учитывать специфику разных систем хранения исходных данных, необходимости получения статистики или других дополнительных данных.
Ещё мы начинаем активно использовать машинное обучение для улучшения результатов поиска, а так же продолжаем улучшать качество в основных вертикалях.

Требования

  • Опыт разработки на Java.
  • Умение реализовывать алгоритмы с учётом условий исполнения.
  • Самостоятельность, проактивность, коммуникабельность.
  • Умение отделять существенное от второстепенного.
  • Любовь к критике, умение конструктивно давать и принимать её.
  • Умение организовывать сбор требований, техническое обсуждение, процесс разработки и внедрения решения.

Мы предлагаем

Гибкий график работы
Бонусы и скидки от партнеров
Офис в центре города
ДМС
Профессиональная команда
Интересные задачи