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.