Новые Телеком Решения (НТР)
Архитектор программного обеспечения
- 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% заработка;
-
Комфорт: гибкое начало рабочего дня, гибридный график в любой локации присутствия или удаленный формат работы.