Описание вакансии
Условия работы
Searchanise — облачный поиск (Search as a service) для интернет-магазинов на самых популярных платформах в мире: Shopify, Magento, CS-Cart и OpenCart.
О проекте
Зачем делать поиск, когда на любом сайте он уже есть? Мало сайтов имеют хороший поиск, поскольку его сложно разработать с нуля:
- Хороший поиск сложней чем mysql like ‘%%’. Для качественного поиска нужны сложные алгоритмы и специальные решения.
- Хороший поиск находит нужный результат, делает подсказки, работает с синонимами и фильтрует результаты.
- Хороший поиск быстрый. С ростом количества запросов поиска на сайте сервер начинает работать медленно, особенно на сложных запросах.
- Хороший поиск повышает конверсию. По нашим исследованиям пользователи интернет-магазинов с Searchanise покупают вдвое больше.
Техническая реализация
Мы разработали приложения для популярных движков интернет-магазинов. Каждое приложение отправляет товары на индексацию, направляет поиск через наши сервера и добавляет виджеты подсказок для результатов поиска. Всё просто: PHP, MySQL, JavaScript.
Ядро полнотекстового поиска работает на Sphinx. Его собираем из исходных кодов, патчим, упаковываем в RPM и распространяем из репозитория. У нас 19 поисковых серверов со Sphinx, данные для которых индексируются сразу-же после их обновления
Searchanise — сложный и нагруженный проект: 600 000 000 поисковых запросов по 15 000 000 товаров в 3 000 интернет-магазинов. Основной язык разработки в команде PHP, но требующие производительности компоненты мы пишем на C, Erlang и Python.
На фронтенде мы используем NGINX, который мы также компилируем из исходников. Apache в роли сервера приложений, Redis для очередей запросов к API, а Percona Server с мультимастер репликацией — основная СУБД.
С нагрузкой в 250 запросов в секунду справляются 5 физических серверов с 128 GB RAM и 24 CPU каждый. Ферма состоит из 35 виртуальных серверов с CentOS.
Автоматизируем инфраструктуру с Puppet, следим за метриками в Zabbix, собираем релизы в Jenkins.
Требования
- Вы программист и можете писать почти на любом языке.
- Вам нужно понимать, как работают CMS и как разрабатывать приложения для них. Каждый разработчик в команде может исправить баг или добавить функциональность.
- Вам нужно понимать или хотеть понимать, как работает поиск внутри.
- В команде есть DevOps инженер, однако вы должны понимать принципы построения масштабируемых веб-приложений и распределенных систем.
Мы ищем того, кто прочел до этого момента и не испугался.
Наша команда
Мы существуем с 2013 года, начав как небольшой стартап из двух программистов. Сейчас в нашей команде работает 7 классных специалистов: 3 инженера-программиста, техлид, 2 специалиста поддержки и менеджер продукта.
Чем нужно будет заниматься?
У нас большой список задач, где нужно проектировать и писать код под руководством техлида.
Бонусы
- слаженная молодая команда с кучей активностей и движняком;
- официальная заработная плата, социальные гарантии и соцпакет;
- бесплатное профессиональное обучение тренинги/конференции/семинары;
- спортзал с железом, грушей и велотренажером;
- кафе в офисе (завтраки, обеды) + кофемашина;
- развлекалки в виде Xbox, пинг-понг, настольный хоккей, музыкальные инструменты и т.д.;
- разумно гибкий график, абсолютно адекватное руководство и отсутствие любых бюрократических явлений;
- красивый, свежеотремонтированный офис.
Дополнительные инструкции
В резюме вместо списка рабочих мест лучше укажите, какими проектами (можно без конкретных названий) вам приходилось заниматься, и какова при этом была ваша роль.