Обязанности:
- Проектировать и воплощать в коде функции блока аппаратной абстракции, обеспечивающего программирование состояния передающего уровня (Data Plane) Ethernet и IP в аппаратный компонент - специализированный обработчик передачи данных (network ASIC);
- Разрабатывать и писать тесты, подтверждающие ожидаемое поведение Data Plane;
- Исправлять ошибки (баги) и улучшать производительность системы;
- Взаимодействовать с разработчиками других блоков, например, Control Plane;
- Следить за развитием и тенденциями отрасли с целью реализации в нашем продукте функций, отвечающих запросам рынка;
- Принимать участие в планировании развития итогового продукта (roadmap).
Что нужно знать, чтобы начать работу в команде:
- Умение и опыт программирования на С - именно на этом языке написаны компоненты, в т.ч. SDK, непосредственно программирующие сетевые процессоры;
- Операционные системы Linux на уровне понимания архитектуры данного семейства ОС, способности заглянуть в код, например, ядра Linux, когда необходимо улучшить свое понимание устройства какого-то смежного компонента;
- Принципы построения сетевых инфраструктур и функционирования использующихся в них протоколах (Ethernet, IP, control plane протоколы BGP, OSPF), с умением работать со стандартами IETF RFC, IEEE и пр.
Какой экспертизой должен обладать идеальный кандидат:
- Опыт разработки ПО, непосредственно (через SDK производителя) взаимодействующего с аппаратными компонентами - программируемыми интегральными схемами, микроконтроллерами, специализированными процессорами;
- Понимание принципов работы цифровой схемотехники;
- Знание протокола связи I²C, интерфейсов SMBus и PMBus, интерфейса ACPI;
- Опыт разработки и сопровождения решений с высокими требованиями к надежности;
- Опыт разработки сервисов (daemons) в средах Linux;
- Опыт разработки патчей для Linux Kernel или других больших Open Source проектов;
- Знание архитектуры сетевого блока ядра Linux;
- Понимание современного устройства процесса разработки ПО: работа с кодом в системе SCM (Gif, GifLab), применение подходов DevOps и CI\CD, работа с задачами в трекере (Jira и пр.), проектная работа Agile Scrum.
Условия: - Место работы м. Ленинский проспект;
- Заработная плата: определяется по итогам собеседования;
- График работы 5/2;
- После прохождения испытательного срока ДМС;
- Полностью белая компания с соблюдением всех требований ТК РФ.