👀 Дизайнеры, какая команда подходит вам по вайбам? Проверяйте на Вайб-чеке→ vibe.habr.com

Node.js developer

Зарплата

до 150 000 ₽

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

Санкт-ПетербургПолный рабочий деньМожно удаленно

Компания

Агентство спортивного маркетинга

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

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

Leningrad Media - крупная компания в сфере спортивного маркетинга. В Санкт-Петербурге мы занимаемся разработкой и поддержкой спортивных сайтов и приложений, ежемесячная аудитория которых составляет уже более 1 000 000 человек.

В нашем арсенале только собственные продукты. На сегодняшний день два флагманских проекта https://stavka.tv и https://scores24.live/ru, плюс около 10 небольших сайтов.

Сейчас нам крайне необходим Node.js разработчик. Мы делаем ярко-выраженную ставку на технологичность своих проектов и максимальную автоматизацию. Собрать воедино кучу разношерстных данных и заставить их обрабатываться так, как удобно клиенту - основная задача того, кого мы ищем.

Обязанности:

  • Разработка, поддержка и оптимизация кода веб-сервисов (Node.js).

У нас много разных задач, вот одна из них:

  • Обеспечение проектов качественными спортивными данными.В качестве источника спортивных данных мы используем несколько коммерчески доступных фидов, ни один из которых в отдельности не покрывает наши потребности.

В зависимости от целевых рынков разные источники обеспечивают низкие задержки, высокую достоверность или подробность, но для получения качественных продуктов требуется объединение сильных качеств нескольких источников. Мы стараемся показывать гол до того, как его увидят зрители по телевизору. Это происходит тогда, когда соответствующие данные появятся в одном из источников. Если другой источник прислал имя забившего гол игрока, а чуть позже добавил имя ассистента - показать эту информацию, а если данные в разных источниках противоречат друг другу - попытаться определить наиболее правдоподобную информацию по совокупности источников и предыстории.

Если два источника утверждают, что текущий счёт 1:0 и 0:0, то, вероятно, последний имеет большую задержку. Однако если он до этого прислал 1:0 и затем 0:0, то, скорее, его задержка, наоборот, минимальна, гол был отменён и право меньшинство. Это сложная задача, как и сопоставление сущностей между разными источниками данных. Если один источник прислал состав игроков на матч, а другой раньше успел прислать имя автора гола, для того чтобы имя игрока в обоих случаях было одинаковым, приходится приложить усилия. Возможно, что в одном источнике указана фамилия с инициалами, а в другом —прозвище, и они на разных языках. Зато нельзя сказать, что вся работа сводится к рутине.

Как правило, в секунду по всем видам спорта обрабатывается 15-50 обновлений (с учётом приоритетов и допустимости изменения порядка обработки), чтобы данные были актуальными без ущерба для корректности.

Требования:

  • Уверенные знания JavaScript, понимание принципов работы Node.js;
  • Опыт разработки серверных решений на основе Node.js + NoSQL (MongoDB, ElasticSearch, Cassandra или подобное);
  • Умение разбираться в чужом коде;
  • Опыт работы с VCS (Git);
  • Английский на уровне чтения технической документации;
  • Опыт работы с RabbitMQ;
  • Опыт работы с Docker;
  • Знание Go будет плюсом, но не обязательно.

Условия:

  • Конкурентоспособная заработная плата;
  • Удаленный формат работы или работа из офиса, по желанию;
  • Связь через Slack, Zoom, Telegram, постановка целей через Jira;
  • Бонусы за достижение целей;
  • Поощрение личностного и карьерного развития;
  • Поощрение смелых идей и нестандартных решений;
  • Неформальная рабочая атмосфера, без лишней бюрократии.

Зарплата по результатам собеседования, отталкиваемся от ваших пожеланий и опыта.

Отдельно отмечаем, что “Ленинград” - это не один проект и не только технологии, отмеченные выше. У нас несколько сложных продуктов и очень много планов. Поэтому если чувствуешь желание попробовать себя здесь, но не подходишь по каким-то параметрам - откликайся, пиши, обязательно поговорим.

Можете писать в телеграм @grrachevski по поводу вакансии