Eltex
C-разработчик
1 мес. назад
РоссияMiddleOnsite
cc++linuxgitmakecode reviewdockergdb
Компания Eltex ищет Middle C-разработчика для разработки программного обеспечения сетевых устройств в Новосибирске.
О компании
- Мы разрабатываем программное обеспечение для сетевых устройств, которые используются в качестве пограничных маршрутизаторов.
- Аппаратные платформы устройств также разрабатываются на нашем предприятии, поэтому мы работаем на стыке Linux, сетевых технологий и embedded-разработки.
О продукте
- Наш проект представляет собой полноценный программный стек сетевого устройства: начальные загрузчики (Bootloader); операционная система Linux; драйверы устройств и вспомогательные модули ядра; системные процессы, библиотеки и утилиты; протоколы маршрутизации и коммутации; системы управления устройством и интерфейсы для его настройки.
- Проект постоянно развивается: появляются новые аппаратные платформы, сетевые протоколы и функции, расширяются возможности управления устройствами.
- Разработка ведётся совместно с другими участниками проекта.
- Используем Code Review, статический анализ и автоматические проверки качества кода.
Обязанности
- Познакомиться с архитектурой проекта, инструментами разработки и существующим кодом.
- Стабилизация и развитие различных компонентов.
- Разработка и развитие сетевых протоколов и функций маршрутизации и коммутации.
- Реализация функциональности от конфигурирования до логики работы протокола.
- Разработка и сопровождение системных процессов и библиотек.
- Поддержка аппаратных платформ и взаимодействие с драйверами.
- Развитие интерфейсов управления устройством.
- Анализ и устранение сложных проблем на уровне приложения, ОС и сетевого стека.
- Проектирование и реализация новых компонентов.
- Рефакторинг и развитие существующего кода.
- Участие в командной разработке и прохождение Code Review.
Требования
- Уверенное знание языка C/С++ и опыт промышленной разработки на нём.
- Понимание структур данных, алгоритмов и основных принципов разработки ПО.
- Опыт разработки многопоточных приложений.
- Понимание процессов, потоков, системных вызовов и механизмов IPC в Linux.
- Опыт разработки сетевых приложений.
- Понимание принципов работы L2/L3 сетей и TCP/IP.
- Уверенная работа с Linux на уровне разработчика.
- Опыт работы с Git.
- Понимание принципов сборки проектов с использованием make и Makefile.
- Способность самостоятельно разобраться в существующем коде и архитектуре.
- Умение декомпозировать задачи на подзадачи и самостоятельно оценивать объём работ.
- Опыт проведения и прохождения Code Review.
- Умение документировать технические решения и результаты работы.
- Опыт командной разработки.
Будет плюсом
- Опыт разработки для embedded/Linux-платформ.
- Опыт разработки модулей и подсистем ядра Linux.
- Опыт работы с активным сетевым оборудованием.
- Знание сетевых протоколов маршрутизации и коммутации.
- Практический опыт использования Wireshark, tcpdump.
- Опыт отладки с использованием GDB, Valgrind, Sanitizer.
- Знание Docker.
- Опыт проектирования и разработки высоконагруженных или отказоустойчивых систем.
Условия
- Официальное трудоустройство.
- Работа в команде разработчиков с распределением ответственности по техническим направлениям.
- Возможность профессионального и технического роста.
- Участие в разработке реального продукта и принятии технических решений.
- ДМС (расширенный).
- Зеленая зона, парк, уличный спорт рядом с офисом.
- Современное офисное здание с удобной парковкой для авто и велосипедов.
- Корпоративный транспорт.
- Тренажерные залы в офисе, кикер и настолки.
- Помощь с релокацией кандидатам из других городов.