Команда «Ф+ Сетевое оборудование», входящая в ИТ-холдинг Fplus, ищет кандидата на должность «Разработчик C++".
Холдинг Fplus входит в Toп 3 российских ИТ-компаний и занимается производством смартфонов, серверов, планшетов, персональных компьютеров, систем хранения данных под собственным брендом, дистрибуцией оборудования, а также развивает розничную сеть «Всесмарт».
Мы ищем опытного специалиста с опытом программирования на C/C++, который готов взять на себя вызов работы над системным ПО для Linux. У вас будет возможность расширить свои навыки в работе с netlink, ioctl, i2c и погрузиться в основные сетевые протоколы.
Важной частью вашей работы будет использование систем сборки, таких как cmake или make, а также уверенное владение Git и принципами тестирования ПО.
Если у вас есть опыт работы с сетевым оборудованием и сетевыми операционными системами, такими как FRRouting, это будет значительным преимуществом. Мы также оцениваем знание протоколов управления коммутаторами, опыт работы с аппаратными компонентами и навыки работы с Linux kernel.
Обязанности
- Выполнение задач, поставленных ведущим разработчиком или руководителем проекта, связанных с разработкой программного обеспечения;
- Анализ, проектирование, разработка и тестирование программного обеспечения в соответствии со стандартами, принятыми в рамках проекта;
- Создание блок-схемы алгоритмов функционирования разрабатываемых программных продуктов;
- Работа с документацией, прилагаемой разработчиком устройства;
- Оценка вычислительной сложности алгоритмов функционирования разрабатываемых программных продуктов;
- Создание новых функций программного обеспечения;
- Применение языков программирования, определенных в техническом задании на разработку системных утилит, для написания программного кода;
- Разработка и оформление контрольных примеров для проверки работоспособности ПО;
- Написание тестов для проверки работоспособности ПО;
- Проверка работоспособности ПО на основе тестовых наборов данных;
- Отладка кодовых баз и исправление ошибок;
- Отладка программных продуктов для целевой операционной системы;
- Оценка соответствия ПО требуемым характеристикам;
- Анализ кода на соответствие требованиям по читаемости и производительности;
- Написание документации.
Требования
- Опыт программирования на языке C/C++;
- Опыт разработки системного ПО для Linuх, включая работу с netlink, ioctl, i2c;
- Знание основных сетевых протоколов (TCP/IP, UDP, ICMP);
- Практический опыт работы с системами сборки на примере cmake или make;
- Уверенное владение системой контроля версий Git, включая понимание основных стратегий ветвления и слияния;
- Знание принципов тестирования ПО;
- Владение английским языком на уровне чтения документации.