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.