Обязанности: Условия:
- Разработка системного ПО среде Linux: библиотека для работы с устройствами Линукс и написание простейших драйверов устройств;
- Поддерживать разработку библиотеки на Python обеспечивающей унифицированный доступ к Linux-устройствам;
- Поддерживать разработку драйверов на С для периферийных устройств специфичных для сложноустроенных сетевых устройств (EPLD, CPLD, мультиплексоры I2C, EEPROM периферийных устройств);
- Разрабатывать и писать тесты, подтверждающие ожидаемое поведение компонентов ПО, описанных выше;
- Исправлять ошибки (баги) и улучшать производительность системы;
- Взаимодействовать с разработчиками других блоков, например, Control Plane и Data Plane, QA.
- Опыт программирования на Python;
- Опыт программирования на C/C++ (на уровне, позволяющем адаптировать код имеющихся драйверов под новые платформы);
- Опыт программирования в среде Linux;
- Операционные системы Linux на уровне понимания архитектуры данного семейства ОС, способности заглянуть в код, например ядра Linux, когда необходимо улучшить свое понимание устройства какого-то смежного компонента;
- Принципы построения сетевых инфраструктур и функционирования использующихся в них протоколах (Ethernet, IP).
Будет плюсом:
- Понимание работы шин I2C, SPI, USB, PCIe;
- Понимание спецификаций SFF (SFF-8472, SFF-8636 и пр.), CMIS (Common Management Interface Specification);
- Умение писать скрипты в shell (sh, bash, zsh и т.п);
- Опыт работы с отладчиками для Python и C;
- Опыт сборки ПО, знание make, сборочной системы ядра (Kbuild);
- Понимание современного устройства процесса разработки ПО:
- работа с кодом в системе SCM (Git, GitLab);
- применение подходов DevOps и CI/CD;
- работа с задачами в трекере (Jira и пр.), проектная работа Agile Scrum.
- 5/2, удаленный формат работы;
- Официальное трудоустройство (белая заработная плата, оплачиваемые отпуска, больничные);
- После прохождения испытательного срока ДМС.