C-разработчик сетевых устройств

грейд
middle
формат
офис Новосибирск
страна
Россия
опубликована
сегодня

описание

Привет! Меня зовут Дмитрий, я 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, статический анализ и автоматические проверки качества кода
  • официальное трудоустройство
  • работа в команде разработчиков с распределением ответственности по техническим направлениям
  • возможность профессионального и технического роста
  • участие в разработке реального продукта и принятии технических решений
  • ДМС (расширенный)
  • зеленая зона, парк, уличный спорт рядом с офисом
  • современное офисное здание с удобной парковкой для авто и велосипедов
  • корпоративный транспорт
  • тренажерные залы в офисе, кикер и настолки
  • помощь с релокацией кандидатам из других городов

навыки

компания

похожие вакансии

статьи для разработчиков