Новые Телеком Решения (НТР)

Архитектор программного обеспечения

Не указана
  • Санкт-Петербург
  • Более 6 лет
  • Embedded Linux
  • ARM/ARM64
  • C/C++
  • Ethernet
  • TCP/IP
  • VLAN
  • ZeroMQ
  • MQTT
  • CI/CD

О проекте

Наш продукт — радиорелейное оборудование для сетей связи. Его программная часть охватывает работу с аппаратными модулями, настройку станции, диагностику и подключение к системам управления. Основные технологии — Embedded Linux, C/C++ и Python. Мы развиваем продукт с расчётом на многолетнюю непрерывную эксплуатацию, поэтому наряду с новыми функциями решаем задачи безопасности и надежности.

Архитектору предстоит определять структуру программной системы, согласовывать решения нескольких команд и доводить их до реализации с учётом возможностей оборудования и условий эксплуатации.

Обязанности

  • Разрабатывать архитектуру встроенного ПО: системный уровень, взаимодействие с оборудованием, сервисы управления и диагностики.
  • Определять границы компонентов, интерфейсы и взаимодействие ПО с модемом, коммутатором, ПЛИС и системой управления.
  • Формировать и согласовывать измеримые требования к производительности, надёжности, восстановлению после сбоев, сохранности конфигурации и безопасному обновлению ПО. Определять архитектурные решения для их выполнения.
  • Определять архитектурные меры защиты интерфейсов управления, разграничение доступа, проверку подлинности ПО и аудит действий.
  • Проводить архитектурные ревью, описывать архитектуру ПО по модели C4 и поддерживать её описание в актуальном состоянии.
  • Согласовывать решения с командами ПО, ПЛИС, аппаратной разработки и QA. Определять способы проверки архитектурных требований, участвовать в разборе сложных дефектов.

Требования

  • Опыт разработки ПО от 10 лет, включая работу архитектором ПО или на сопоставимой позиции с ответственностью за архитектуру продукта.
  • Опыт разработки embedded-систем, их вывода в серийную эксплуатацию и сопровождения.
  • Уверенное владение C/C++, Python, опыт работы с Bash, многопоточностью и межпроцессным взаимодействием.
  • Глубокое знание Embedded Linux на ARM/ARM64: U-Boot, ядро, Device Tree, BSP, драйверы. Опыт кросс-компиляции, Yocto, знакомство с Buildroot.
  • Знание Ethernet, TCP/IP, VLAN, QoS, SNMP; опыт взаимодействия с оборудованием через I²C, SPI, UART, GPIO, MDIO.
  • Опыт проектирования API и обмена сообщениями: ZeroMQ, MQTT, gRPC или аналогичные технологии. Понимание хранения конфигурации и работы с SQLite.
  • Опыт обеспечения надёжности и безопасности ПО: обработка отказов, watchdog, восстановление, обновление с откатом, аутентификация, авторизация, TLS/SSH, работа с уязвимостями.
  • Опыт CI/CD и автоматизированного тестирования, включая испытания на целевом оборудовании. В проекте используются GitLab CI/CD и Pytest.
  • Практический опыт описания архитектуры ПО по модели C4: контекст системы, контейнеры и компоненты. Умение обосновывать архитектурные решения и согласовывать их между командами. Чтение технической документации на английском языке.

Преимуществом будет: опыт разработки телекоммуникационного оборудования или систем для ответственной инфраструктуры, знание радиорелейной связи, PTP/SyncE и интеграции с ПЛИС.


Условия:
  • Развитие: профессиональный рост, команда экспертов, внутреннее и внешнее обучение;

  • Забота: ДМС, оплата 10 календарных дней нетрудоспособности в году в размере 100% заработка;

  • Комфорт: гибкое начало рабочего дня, гибридный график в любой локации присутствия или удаленный формат работы.