Embedded software engineer (C++)

Прямой работодатель  Yandex Infrastructure ( infra.yandex.ru )
Москва, Россия
Сеньор
Информационные технологии • Разработка • C++ • Boost • STL • Hardware • IoT/IIoT • Embeded • Производство • Телекоммуникации
13 марта
Работа в офисе
Опыт работы более 5 лет
от 360 000 ₽
Работодатель  Yandex Infrastructure
Описание вакансии

Больше 15 лет Яндекс строит собственные дата-центры, совместно с партнёрами создаёт и дорабатывает оборудование для них: серверы, полки для устройств PCIe, дисковые полки, устройства для резервирования питания. За всеми этими устройствами нужно следить, нужно удалённо управлять ими и собирать метрики.

Для этих целей уже много лет мы используем OpenBMC — опенсорсный Embedded Linux для контроллера серверной материнской платы. С его помощью можно удалённо узнать всё о состоянии сервера, получить доступ к ОС, а также управлять сотнями тысяч серверов. А ещё всё — вообще всё — можно автоматизировать.

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

Разработка архитектуры программно-аппаратных решений
Вы будете проектировать архитектуру для новых устройств дата-центров, учитывая нюансы эксплуатации, управления и тестирования. Важно закладывать возможность измерения различных параметров и обеспечивать design for manufacturability.

Поиск и решение проблем на стыке software и hardware
Предстоит диагностировать сложные проблемы, используя все инструменты дебага: от дебажных принтов и GDB до работы с осциллографом и анализа принципиальных схем вместе со схемотехниками.

Взаимодействие с опенсорс-сообществом
Вы будете регулярно синхронизировать наш форк OpenBMC с upstream, взаимодействовать с сообществом и мейнтейнерами проекта, участвовать в развитии экосистемы.

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

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

  • Уверенно владеете C++ и разрабатывали на этом языке
  • Знаете классические алгоритмы, структуры данных и шаблоны проектирования
  • Разрабатывали под Embedded Linux
  • Умеете разрабатывать клиент-серверные приложения и знаете сетевые протоколы
  • Умеете решать нестандартные задачи и находить первопричины проблем
  • Работали с системами контроля версий
  • Умеете читать техническую документацию на английском языке

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

  • Занимались системным программированием для Linux или bare metal на стыке software и hardware
  • Участвовали в открытых опенсорс-проектах
  • Умеете читать и понимать принципиальные схемы электронных устройств
  • Работали с BMC (Baseboard Management Controller) или аналогичными системами
  • Знаете специфику работы дата-центров и серверного оборудования

Загрузка формы отклика...