Разработчик распределенных систем

Яндекс — это данные. Это то, что мы потребляем и производим. Мы обрабатываем петабайты данных на сотнях тысяч машин в миллионах контейнеров каждую секунду. И этой обработкой нужно эффективно управлять.

Мы разрабатываем Kubernetes в Яндексе — Yandex Planner. Yandex Planner обеспечивает инфраструктуру управления ресурсами (оборудование) и сервисами (контейнеры) во внутреннем облаке Яндекса, где живут: Поиск, баннерные системы, кластеры MapReduce и просто все остальные сервисы Яндекса. Именно нам доверили разрабатывать решение, влияющее на весь Яндекс. Наша область интересов затрагивает всю инфраструктуру Яндекса: серверы, сети, пропускную способность и разделение I/O, предсказание нагрузки и распределение ресурсов, сетевые топологии внутри датацентров и между датацентрами. Реализуется это решение в виде особенно важных отказоустойчивых горизонтально масштабируемых географически распределенных систем.

Мы понимаем, что опыт разработки высоконагруженных отказоустойчивых географически распределенных систем получить сложно, поэтому если у вас такого опыта нет, но по всем остальным критериям вы подходите, мы с удовольствием прочтем ваше резюме, встретимся, поговорим и всему научим!

Вы сможете:

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

Какие задачи вас ждут

  • дизайн, разработка и автоматизация Yandex Planner и окружающей экосистемы;
  • анализ производительности, поиск узких мест, мониторинг и интерпретация работы системы, планирование роста и масштабированиe;
  • разбор сложных ситуаций как на уровне приложений, так и на уровне оборудования;
  • оптимизация прикладных и аппаратных решений;
  • взаимодействие с другими командами Яндекса для поддержки их решений в экосистеме Yandex Planner.

Мы ждём, что вы

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

Будет плюсом, если вы

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

Мы свяжемся с вами в течение недели.

Fri Feb 09 2024 12:47:58 GMT+0300 (Moscow Standard Time)