Проектировать и воплощать в коде функции сетевой ОС, относящиеся к Control Plane, в виде вспомогательных сервисов, такие как: - синхронизация различных состояний между сетевыми устройствами (например MC-LAG); - реализация API и CLI для доступа к отдельным сетевым функциям устройства (REST API, Netconf, gNMI).
Разрабатывать и писать тесты, подтверждающие ожидаемое поведение разрабатываемых сервисов;
Исправлять ошибки (баги) и улучшать производительность системы;
Взаимодействовать с разработчиками других блоков, например, Data Plane;
Следить за развитием и тенденциями отрасли с целью реализации в нашем продукте функций, отвечающих запросам рынка;
Принимать участие в планировании развития итогового продукта (roadmap).
Требования:
Операционные системы Linux на уровне понимания архитектуры данного семейства ОС, способности заглянуть в код, например ядра Linux, когда необходимо улучшить свое понимание устройства какого-то смежного компонента.
Принципы построения сетевых инфраструктур и функционирования использующихся в них протоколах (Ethernet, IP, control plane протоколы BGP, OSPF), с умением работать со стандартами IETF RFC, IEEE и пр.
Опыт программирования на Python
Опыт работы с CLI сетевых устройств
Будет плюсом:
Опыт разработки и сопровождения решений с высокими требованиями к надежности
Опыт разработки сервисов (daemons) в среде Linux
Понимание современного устройства процесса разработки ПО:
работа с кодом в системе SCM (Git, GitLab)
применение подходов DevOps и CI/CD
работа с задачами в трекере (Jira и пр.), проектная работа Agile Scrum