Бекенд-разработчик мессенджера

Санкт-ПетербургБэкенд, C++, LinuxСпециалист
В большом количестве сервисов и приложений Яндекса уже используются чаты или их использование планируется в будущем.

Это могут быть:

  • чаты с компаниями на странице результатов веб-поиска;
  • чаты трансляций в Яндекс.Эфире;
  • корпоративный мессенджер;
  • комментарии в Яндекс.Новостях;
  • мессенджер, встроенный в Поисковое приложение и в мобильный Яндекс.Браузер, и т. п.
Для работы чатов требуется сложная серверная часть, обеспечивающая эффективность передачи, обработки, чтения и сохранения сообщений. Помимо обеспечения производительности и горизонтальной масштабируемости этой системы, есть также множество задач, связанных с бизнес-логикой, таких как, например, улучшение качества поиска и персональных рекомендаций публичных чатов.
Основной язык разработки — C++ 17, стек технологий включает как общеизвестные технологии (PostgreSQL, gRPC, WebSocket), так и внутренние разработки Яндекса, среди которых есть своя база данных класса NewSQL, своя персистентная очередь, MapReduce-система и др.

Для решения этих задач вам понадобятся:

  • хорошее знание C++;
  • хорошее знание алгоритмов и структур данных;
  • опыт разработки под Linux;
  • опыт написания многопоточных программ;
  • опыт разработки распределенных, высоконагруженных и отказоустойчивых систем.

Плюсами будут:

  • знание сетей и протоколов;
  • опыт работы с базами данных;
  • уверенная работа с командной строкой Unix;
  • опыт применения скриптовых языков, особенно Python.