Embedded software engineer (C++)
Прямой работодатель Yandex Infrastructure ( infra.yandex.ru )
Опыт работы более 5 летот 360 000 ₽
Больше 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) или аналогичными системами
- Знаете специфику работы дата-центров и серверного оборудования
