💰 Зарплаты в IT в первой половине 2024: по городам, специализациям, языкам и компаниям → подробнее

Разработчик распределённого сервиса хранения метаданных и координации в YT

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

МоскваПолный рабочий день

Компания

Компания, которая развивает самую популярную в России поисковую систему и десятки других сервисов

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

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

Платформа YT — это ключевой компонент инфраструктуры хранения и обработки данных в Яндексе.Мы:

  • храним экзабайты данных;
  • используем десятки тысяч серверов;
  • выполняем десятки миллионов распределённых задач в день.

Из-за большого объема данных стандартные решения (например, стек Hadoop-технологий) не позволяют эффективно работать с задачами Яндекса. Поэтому мы разрабатываем своё решение: эффективное, удобное и масштабируемое.Основная задача нашей команды — предоставлять разработчикам надёжный, удобный и гибкий инструмент для решения задач хранения и обработки больших данных, которых постоянно становится ещё больше. Платформа YT — главный инструмент для работы с большими данными в Яндексе, её использует большинство сервисов.Мы ищем специалистов, которых интересует инфраструктурная разработка.

Вам предстоит:

  • заниматься разработкой ключевых подсистем YT, таких как сервера координации и транзакций;
  • развивать API платформы, поддерживая как новые функциональные возможности, так и новые способы использования (асинхронность, альтернативные бэкенды и т.п.);
  • работать с большими данными (скорее с инженерной точки зрения, чем с математической);
  • заниматься системным программированием;
  • познакомиться с архитектурой и устройством распределённых систем хранения и обработки данных;
  • посмотреть на реплицированные конечные автоматы (RSM) в действии;
  • принять участие в разработке и эксплуатации высоконагруженной системы, аналоги которой есть только в самых крупных IT-компаниях в мире.

Мы ожидаем, что вы:

  • знаете C++;
  • знаете классические алгоритмы и структуры данных;
  • ответственны и аккуратны.

Кроме того, приветствуется:

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