Мы ищем инженера-программиста с опытом разработки встроенного ПО для сетевого оборудования. Основной фокус -- реализация и поддержка функциональности L2/L3-коммутаторов: протоколы, управление портами, CLI/web-интерфейсы, взаимодействие с аппаратной платформой. Вы будете частью команды, создающей собственное сетевое оборудование: от железа до прошивки.
Обязанности
- Разработка и отладка приложений для сетевых устройств (C, embedded linux), работа с низкоуровневыми API, системными вызовами, сокетами
- Имплементация L2/L3 функционала, такого как VLAN, STP, IGMP, ACL, LACP, DHCP, GVRP и др.
- Работа с проприетарным SDK Marvell
- Разработка консольного пользовательского интерфейса на языке Lua
- Изучение работы различных протоколов по RFC или стандартам 802.1, 802.3 для их имплементации
- Ручное и автоматическое тестирование функционала, производительности, проверка совместимости с изделиями других вендоров
Требования
- Знания сетевых технологий на advanced уровне
- Знания ОС Linux с позиции прикладного разработчика (gdb, strace, gcc, make), хорошее знание его сетевого стека, в т.ч. сетевые утилиты (ping, tcpdump, ip(8) и др.)
- Навык программирования и отладки на языке C
- Опыт написания многопоточного кода
- Общие знания Computer Science: алгоритмы и их сложность, оптимизация, архитектура компьютера (процессор, память, кэш, ввод/вывод), битовые операции, процесс сборки приложения
- Общие знания методологии разработки: ООП, процедурное программирование, git, командная разработка, общение с заказчиками
- Умение читать техническую документацию на английском языке, умение разбираться в объемных стандартах (RFC, 802.1, 802.3) и находить нужную информацию
- Понимание для чего можно использовать LLM, а что лучше написать руками
- Знание других языков (C++, Lua, Python) будет плюсом
Задайте вопрос работодателю
Вакансия опубликована 28 мая 2025 в Минске