Разработчик в команду Perforator

Код тысяч сервисов Яндекса выполняется на миллионах ядер, и любая оптимизация в масштабах всей компании позволяет сэкономить значительное количество ресурсов. Есть множество механизмов для нахождения узких мест, но лучше всего себя показывает always-on-профилировщик — он выполняется на всех серверах одновременно и позволяет получать подробные профили того окружения, в котором исполняется код.

Мы смогли построить Perforator — эффективное и неинвазивное решение, позволяющее профилировать все процессы во внутреннем облаке без настройки со стороны пользователя. Cистема состоит из трех основных частей:

  • Хостовый агент. Выполняется на всех серверах в дата-центре
  • Бэкенд. Собирает минутные профили с агентов
  • Хранилище. Позволяет строить профили по произвольным запросам

Мы успешно выкатили Perforator внутри Яндекса, а в этом году выпускаем продукт в opensource — вы сможете разрабатывать технологии мирового масштаба. А ещё мы планируем разработать и внедрить сложные и важные фичи и оптимизации на уровне всей компании.

Наш стек:

  • C++ и Gо. Не страшно, если вы не владеете Go, но готовы научиться: язык простой, и мы готовы помочь с его освоением. Без знания C++ будет сложно: требовательные к производительности места мы пишем на «плюсах»
  • Мы пишем под Linuх, анализируем процессы внутри ядра с помощью eBPF (урезанный по функциональности диалект C)
  • Храним профили в ClickНouse, S3, PostgreSQL

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

Поддержка профилирования интерпретируемых языков
Предстоит поддерживать профилирование интерпретируемых языков Python, Java, Node.js. Мы хорошо профилируем нативные языки и учимся обрабатывать интерпретируемые или JIT-компилируемые языки.

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

Off-CPU-профилирование
Сейчас мы профилируем только on-CPU-события, например, такты процессора. Нужно научиться анализировать не только время исполнения на процессоре, но и вне его.

Ещё одна задача — раскраска строк кода в зависимости от количества ресурсов, потраченных на их исполнение. Так мы узнаем, к примеру, что re-hash HashMap съедает 100 тысяч ядер по всему флоту, а разработчики поймут, насколько важно оптимизировать их код.

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

  • Хорошо знаете базовые алгоритмы и структуры данных
  • Разбираетесь в механизмах работы компьютера и операционных систем
  • Умеете писать надёжный и читаемый многопоточный код

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

  • Не боитесь копаться во внутренностях работы программ, готовы сидеть часами в GDB или RR
  • Слышали про eBPF и код ядра Linux
  • Знакомы с ассемблером и calling convention. Понимаете, зачем нужны frame pointers и как с ними раскрутить стек, зная только значение RBP
  • Что-то знаете о форматах ELF и DWARF
  • Разбираетесь в распределённых системах
  • Успешно участвовали в CTF

#инфраструктура_поиска

Что мы предлагаем

Расширенная медицинская страховка начинает работать с первого месяца в Яндексе. В неё входят стоматология, ежегодные чекапы, неотложная помощь за рубежом, лечение критических заболеваний, в том числе онкологии, и страхование от несчастных случаев.

А также:
  • психотерапия в офисе или онлайн-сервисах;
  • лазерная коррекция зрения через год работы;
  • ведение беременности и роды — через два года.
Страховка для родственников по системе 80/20

Мы оплачиваем 80% стоимости ДМС для детей и супругов, вы — остальные 20%.

В Яндексе есть всё, чтобы постоянно развиваться и учиться новому: внутренняя образовательная платформа, менторство и программы для начинающих и опытных руководителей.

А также:
  • оплата участия в профильных конференциях;
  • скидка 50% на изучение иностранных языков.

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

Во всех крупных офисах Яндекса есть спортзалы со всем необходимым: тренажёрами, спортивным инвентарём, душевыми, шкафчиками для одежды и вещей.

Можете заниматься самостоятельно, а можете с корпоративным тренером.

А также:
  • бесплатные онлайн-тренировки с FITMOST;
  • скидки в фитнес-клубах, бассейнах, студиях йоги, скалодромах и других местах.
Спортивный клуб Яндекса

В Яндексе есть спортивный клуб и много спортивных команд. У них есть свои лидеры, чаты, программы тренировок. А ещё они регулярно участвуют в забегах, триатлонах, «Гонке героев», футбольных и других соревнованиях.

Вы сможете присоединиться к существующим командам или собрать свою.

Гибкий график

У нас нет фиксированного времени начала и конца рабочего дня — работайте так, как удобно вам и вашей команде.

Гибридный формат

Если для ваших задач не нужно быть в офисе каждый день, можно приходить 2–3 раза в неделю.

Всё для детей

Страхование, детские дни в офисе, подарки на рождение детей и чекапы при планировании беременности.

Жилищные займы

Льготная ставка на покупку жилья и улучшение жилищных условий — в зависимости от стажа, позиции и результатов ревью. Действует для сотрудников, работающих в российских офисах Яндекса.

Спасибо за отклик!

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

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