описание
Привет! Меня зовут Дмитрий, я Team Lead команды разработки в отделе Сервисных маршрутизаторов. Мы разрабатываем программное обеспечение для сетевых устройств, которые используются в качестве пограничных маршрутизаторов. Аппаратные платформы устройств также разрабатываются на нашем предприятии, поэтому мы работаем на стыке Linux, сетевых технологий и embedded-разработки.
задачи
- На этапе адаптации предстоит познакомиться с архитектурой проекта, инструментами разработки и существующим кодом.
- Первые задачи будут связаны со стабилизацией и развитием различных компонентов, что позволит постепенно погрузиться в проект.
- разработкой и развитием сетевых протоколов и функций маршрутизации и коммутации
- реализацией функциональности от конфигурирования до логики работы протокола
- разработкой и сопровождением системных процессов и библиотек
- поддержкой аппаратных платформ и взаимодействием с драйверами
- развитием интерфейсов управления устройством
- анализом и устранением сложных проблем на уровне приложения, ОС и сетевого стека
- проектированием и реализацией новых компонентов
- рефакторингом и развитием существующего кода
требования
- уверенное знание языка C/С++ и опыт промышленной разработки на нём
- понимание структур данных, алгоритмов и основных принципов разработки ПО
- опыт разработки многопоточных приложений
- понимание процессов, потоков, системных вызовов и механизмов IPC в Linux
- опыт разработки сетевых приложений
- понимание принципов работы L2/L3 сетей и TCP/IP
- уверенная работа с Linux на уровне разработчика
- опыт работы с Git
- понимание принципов сборки проектов с использованием make и Makefile
- способность самостоятельно разобраться в существующем коде и архитектуре
- умение декомпозировать задачи на подзадачи и самостоятельно оценивать объём работ
- опыт проведения и прохождения Code Review
- умение документировать технические решения и результаты работы
- опыт командной разработки
- Будет плюсом: опыт разработки для embedded/Linux-платформ; опыт разработки модулей и подсистем ядра Linux; опыт работы с активным сетевым оборудованием; знание сетевых протоколов маршрутизации и коммутации; практический опыт использования Wireshark, tcpdump; опыт отладки с использованием GDB, Valgrind, Sanitizer; знание Docker; опыт проектирования и разработки высоконагруженных или отказоустойчивых систем
условия
- разрабатываем собственное сетевое оборудование и ПО полного стека — от Bootloader и Linux kernel до сетевых протоколов и интерфейсов управления
- можно глубоко погрузиться в Linux, networking и системную разработку
- работаем с реальным сетевым оборудованием, а не только с виртуальной инфраструктурой
- задачи разного уровня: от исправления отдельных проблем до проектирования и реализации новых подсистем
- можно выбрать и постепенно развивать собственное техническое направление
- разработчики участвуют в обсуждении архитектуры и принятии технических решений
- направление активно развивается: меняются архитектура, процессы и структура команд, появляются новые задачи и зоны ответственности
- для проактивных людей здесь есть пространство для инициативы: можно не только решать поставленные задачи, но и предлагать и реализовывать собственные улучшения
- используем Code Review, статический анализ и автоматические проверки качества кода
- официальное трудоустройство
- работа в команде разработчиков с распределением ответственности по техническим направлениям
- возможность профессионального и технического роста
- участие в разработке реального продукта и принятии технических решений
- ДМС (расширенный)
- зеленая зона, парк, уличный спорт рядом с офисом
- современное офисное здание с удобной парковкой для авто и велосипедов
- корпоративный транспорт
- тренажерные залы в офисе, кикер и настолки
- помощь с релокацией кандидатам из других городов
навыки
компания
Российский производитель сетевого оборудования.