Perl-разработчик (команда Relap, Рекомендательные сервисы)

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

Место встречи лучших

Описание вакансии

Условия работы

Relap.io — рекомендательный проект, помогающий медиа стать лучше и к тому же заработать денег. С помощью наших технологий пользователи смотрят больше страниц на сайте и более вовлечены в потребление контента. В месяц мы отдаем 50 миллиардов рекомендаций и среди них какое-то количество рекламы. Среди наших клиентов: Ria, Российская газета, КоммерсантЪ, Новая газета, Woman, Aвтовзгляд, Kanobu, медиапроекты VK и многие другие медиа, которые читают каждый день.

Как мы работаем?

Интернет-СМИ заинтересованы в том, чтобы их статьи чаще просматривались, а также у каждого читателя была большая глубина просмотра их сайта. В этом им помогают наши виджеты, типа «Популярное», «Вас может заинтересовать» и т.д. Часто они выглядят как сетка из плиток, часть из которых является рекламой, которую откручиваем мы сами, а потом делимся рекламными доходами с паблишером. В итоге получается «win-win» схема, от которой выигрывают все.

Для того чтобы рекомендовать другие страницы с этого сайта, мы должны их сперва скачать, проанализировать, а потом, собрав с них статистику и применив коллаборативную фильтрацию, мы должны их (вместе с рекламой) отдать с бэкенда по апи в фронтендовские виджеты за 100–200мс.
Для попадания в столь узкие временные рамки архитектура проекта выстроена максимально асинхронно (очереди и отложенная обработка), обтыкана кешами со всех сторон и просто оптимизирована (как код, так и запросы в базы).

Технологии, которые мы применяем:

Основной язык разработки на бэкенде — это Perl. В нашей опытной команде много специалистов, которые будут рады помочь в его изучении. Кроме того, мы стараемся не пилить свои велосипеды, а использовать готовые и проверенные инструменты — серверный фреймворк Mojolicious для обработки входящих запросов и ООП-фреймворк Moo.
В последнее время мы начали потихоньку переписывать нашу систему на Golang.
Стараемся писать автоматические тесты (юнит, функциональные) для всех новых фичей для повышения качества кода (меньше багов) и большей уверенности (что ты чего-то не сломаешь) при последующих изменениях.

Основной OLTP базой данных у нас выступает Postgres, OLAP — Clickhouse. Кроме того, мы используем Redis как NoSql in-memory бд и persistent message queue broker, а также Memcache как cache.

Задачи:

  • интеграции с новыми рекламными партнерами (RTB и не только);
  • внедрение новых рекламных форматов;
  • улучшение наших кабинетов — рекламного и паблишерского;
  • различные усовершенствования работы нашей рекламной платформы — более точное следование основному рекламному протоколу OpenRTB, добавление различных таргетингов на те или иные свойства юзера (например, пол и возраст) или домена-страницы;
  • оптимизация работы нашего CDN и нарезки картинок-миниатюр для рекламы и рекомендаций;
  • усовершенствование внутренних админок.

Требования:

  • уверенное знание стандартных библиотек Perl — от 5 лет;
  • хорошее знание SQL — мы используем PostgreSQL и Clickhouse;
  • умения профилировать и оптимизировать высоконагруженные приложения;
  • необходим опыт работы в крупных проектах, с большими объемами данных и высокими нагрузками на один сервис (10+k qps);
  • опыт самостоятельной проработки, декомпозиции и постановки задач, умение узнавать недостающие требования у заказчиков или проджект-менеджеров.

Будет плюсом:

  • знание и опыт использования стандартных библиотек Golang — от 2 лет;
  • опыт работы с NoSQL БД, например Redis, MongoDB, Memcache;
  • знакомство с такими Perl библиотеками и фреймворками, как Mojolicious и Moo.​​​​​​

Работа в VK— это:

  • возможность создавать продукты и сервисы, которые меняют к лучшему жизнь миллионов пользователей;
  • амбициозные задачи, масштабные проекты и возможности для профессионального роста;
  • совместные интересы и увлечения: помогаем раскрывать таланты и отлично проводить свободное время;
  • работа в команде профессионалов из разных сфер, которые всегда готовы поделиться опытом;
  • программа благополучия: заботимся о здоровье и хорошем самочувствии сотрудников.

Мы будем рады твоему отклику и, при обоюдном интересе, предложим условия и проекты, от которых не захочется отказываться.​​​​​