Back-end разработчик (ElasticSearch)

Мы в REES46 (rees46.com), развиваем платформу, которая помогает интернет-магазинам зарабатывать больше денег за счет персонализированного взаимодействия с каждым посетителем (Big Data, персонализация, коллаборативная фильтрация, deep learning и вот это вот все). Платформа состоит из нескольких инструментов, связанных друг с другом: средства привлечения новых покупателей; персонализированное взаимодействие на сайте; возврат сбежавших посетителей; повторное взаимодействие с клиентами; работа с репутацией; аналитика; динамическая сегментация. Сейчас полным ходом идет разработка сервиса персонализированного товарного поиска: модуль поиска по сайту, который ищет товары и для каждого посетителя отдает индивидуальную подборку товаров. И мы ищем в команду нового бойца, который примет участие в создании этого сервиса и сделает из него лучший на северном полушарии планеты поисковый модуль для интернет-магазина. Сервис будет использоваться как на уже существующих российских, американских и европейских интернет-магазинах, так и у будущих клиентов. Особенность поисковика в том, что семантический анализатор, хоть и важен, но не единственная технология, которая должна использоваться. Помимо этого в алгоритмах применяется технология прогрессивной персонализации, Big Data алгоритмы и немного нейросети. Каждый посетитель при одинаковых поисковых запросах получает разные результаты, соответствующие только его профилю и поведению. Сейчас семантическая часть выполнена на ElasticSearch. В дальнейшем ее можно заменить на любое другое решение, если возникнет необходимость. Весь проект состоит из набора отдельных сервисов, взаимодействующих друг с другом через системы очередей, базу данных и т.д. В качестве языков программирования используются: Ruby, Java, Python, Lua. Системы хранения данных: PostgreSQL, Yandex ClickHouse, Redis. Мы не используем Hadoop и другие тормозные штуки, поэтому у нас самый быстрый на планете рекомендательный движок - 40-60ms на товарную рекомендацию. Если у вас есть хороший опыт работы с семантикой и желание создать крутейший продукт, то первую фазу отбора вы прошли. Вторая фаза: Вам придется заниматься: разработкой продукта, что очевидно; изучением аналогов и конкурентов; оптимизацией алгоритмов и проведением тестов для достижения максимальной конверсии; оптимизацией производительности, чтобы сервис поддерживал 20000 поисковых запросов в секунду с временем исполнения не дольше 60ms; построением интерфейса с красивыми отчетами. Требования: опыт разработки от 3 лет (если вы работаете всего год и при этом приложили руку к алгоритмам Яндекса или Гугла, то давайте пообщаемся); опыт создания проектов с использованием ElasticSearch, SphinxSearch, Lucene на уровне выше, чем просто проиндексировать таблицу базы и работать с базовыми настройками; боевой опыт разработки проектов на Ruby, Python, Scala/Java или PHP с использованием фреймворков; хороший опыт работы с реляционными базами данных на уровне "оно все тормозило и индексы весили в 5 раз больше, чем сама таблица, но я проанализировал запросы, пересоздал индексы с ограничениями и все взлетело"; способность планировать задачи и не сильно выбиваться из сроков; способность не мусолить (простите, рефакторить) одну и ту же фичу, а двигаться вперед, создавая новый функционал; сверхспособность "не делать то, чего не нужно делать"; грамотный русский язык; английский язык на уровне чтения документации в первоисточнике. Условия: работа в офисе в центре Питера либо удаленно из любой точки планеты, кроме Таиланда; полный рабочий день с гибким началом дня; участие в конференциях (любим, когда наши люди выступают на конференциях); чай, кофе, печеньки, кухня с плитой и холодильником, аэрохоккей, пейнтбол летом, сноуборд зимой, дождь весь год, можно ночевать в офисе, если жена выгонит из дома; если надумаете переезжать в Питер, подскажем с арендой жилья. Бонусы Поездки за границу, если потребуется Участие в конференциях в качестве докладчика Пейнтбол Аэрохоккей Дополнительные инструкции Расскажите, какой у вас есть опыт работы с ElasticSearch. Если нет опыта работы с ElasticSearch, но есть большой опыт с Solr, Sphinx, то расскажите о нем. Если с ними нет опыта, тогда расскажите о своих проектах на Ruby или Python.