Коротко о вакансии
- Зарплата
- 150 000 – 200 000 ₽ в месяц
- Работодатель
- АО «ОКБ мэи»Все вакансии работодателя · 6
- Формат
- Полный день
- Оформление
- уточняйте у работодателя
- Опыт
- Более 6 лет
- Как откликнуться
- по телефону работодателя — номер откроется после входа
Требования к кандидату
- Образование: высшее образование — бакалавриат
- Опыт работы: от 6 лет
- Квалификация: инеженр-программист
- Навыки: Навык работы с Linux, Проектирование архитектуры, Умение разбираться и работать с чужим кодом, Навык работы с Объектно-ориентированным программированием (ООП) / Object-oriented programming (OOP), Исправление, устранение ошибок, Проведение code review (ревью кода), Разработка программного обеспечения, Навыки программирования, Навык работы с STL, Рефакторинг/оптимизация программного кода, XML, STL, Docker, C++, Qt, Навык работы с Linux, Проектирование архитектуры, Умение разбираться и работать с чужим кодом, Навык работы с Объектно-ориентированным программированием (ООП) / Object-oriented programming (OOP), Исправление, устранение ошибок, Проведение code review (ревью кода), Разработка программного обеспечения, Навыки программирования, Навык работы с STL, Рефакторинг/оптимизация программного кода, XML, STL, Docker, C++, Qt
- Опыт работы от 6 лет обязателен
- Высшее образование (Программная инженерия, математика, системный анализ) Умение проектировать многопоточные приложения на C++17 с использованием Qt5 (QThread, сигналы/слоты, QMutex)
- Умение применять архитектурные и проектные паттерны (MVC, MVVM, Observer, Factory, Singleton, Dependency Injection и др.)
- Умение читать и анализировать чужой код на C++/Qt, выявлять архитектурные проблемы и предлагать решения
- Умение настраивать и использовать системы контроля версий (Git), включая ветвление, ревью, разрешение конфликтов
- Умение проводить профилирование и оптимизацию кода (valgrind, gprof, встроенные средства Qt)
- Умение разрабатывать и оформлять архитектурную документацию (UML, ADR, схемы)
- Умение обеспечивать безопасность приложения: защита от утечек памяти, переполнений буфера, гонок данных, корректная обработка исключений
- Умение работать с сетевыми протоколами (TCP/IP, локальные сокеты, RS-232, RS-422, RS-485) для организации взаимодействия компонентов
- Знание Astra Linux SE 1.7.3: архитектура ОС, мандатное управление доступом, дискреционный и мандатный доступ
- Знание C++17: стандартная библиотека (STL), умные указатели, лямбда-выражения, move-семантика, шаблоны, многопоточность, исключения
- Знание Qt5: QWidgets, QML (желательно), сигналы и слоты, модель/представление, QThread, QMutex, QReadWriteLock, QSettings, работа с ресурсами (.qrc), CMake
- Знание архитектурных паттернов и стилей: слоистая архитектура, MVC, MVVM, клиент-сервер, событийно-ориентированная, микросервисы (для распределённых систем)
- Знание UML: диаграммы классов, компонентов, последовательности, состояний, развёртывания
- Знание сетевых технологий: стек TCP/IP, сокеты, форматы обмена (JSON, XML, Protobuf)
Место работы и занятость
- График: полный рабочий день
- Место работы: г. Москва, Красноказарменная улица, 14
Описание вакансии
Проектирование архитектуры программного обеспечения в соответствии с выбранным стилем (слоистая, MVC/MVVM, клиент-сервер, модульная), определение ключевых компонентов и их взаимодействия. Определение внутренних и внешних интерфейсов (API, протоколы обмена, форматы данных) с учётом ограничений Astra Linux SE. Разработка технической документации на архитектуру: UML-диаграммы (классов, компонентов, последовательности, развёртывания), описание архитектурных решений (ADR), схемы развёртывания. Выбор технологий, библиотек и инструментов в рамках утверждённого стека (C++17, Qt5, CMake, Git). Проведение ревью кода и архитектурных решений, контроль соблюдения принятой архитектуры и стандартов кодирования. Оптимизация производительности и потребления ресурсов приложения (профилирование, многопоточность, работа с памятью).
