Найди работу
← К поиску

Программист C++

Обязанности

  • Проектирование архитектуры программного обеспечения в соответствии с выбранным стилем (слоистая, MVC/MVVM, клиент-сервер, модульная), определение ключевых компонентов и их взаимодействия.
  • Определение внутренних и внешних интерфейсов (API, протоколы обмена, форматы данных) с учётом ограничений Astra Linux SE.
  • Разработка технической документации на архитектуру: UML-диаграммы (классов, компонентов, последовательности, развёртывания), описание архитектурных решений (ADR), схемы развёртывания.
  • Выбор технологий, библиотек и инструментов в рамках утверждённого стека (C++17, Qt5, CMake, Git).
  • Проведение ревью кода и архитектурных решений, контроль соблюдения принятой архитектуры и стандартов кодирования.
  • Оптимизация производительности и потребления ресурсов приложения (профилирование, многопоточность, работа с памятью).

Требования

  • Опыт работы от 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).

Условия

Оптимальные

Социальный пакет

  • Оплата отдыха/ наличие ведомственного учреждения отдыха
  • Добровольное медицинское страхование

Требования к кандидату

Образование
Высшее образование — бакалавриат
Опыт работы
От 6 г.

Навыки и документы

Навыки
Навык работы с Linux; Проектирование архитектуры; Умение разбираться и работать с чужим кодом; Навык работы с Объектно-ориентированным программированием (ООП) / Object-oriented programming (OOP); Исправление, устранение ошибок; Проведение code review (ревью кода); Разработка программного обеспечения; Навыки программирования; Навык работы с STL; Рефакторинг/оптимизация программного кода; XML; STL; Docker; C++; Qt
Языки
B2 — средне-продвинутый — LanguageKnowledge

Данные по вакансии

Сфера деятельности
Машиностроение
График работы
Полный рабочий день
Условия труда
Оптимальные
Место/тип рабочего места
Нет; Да
Медицинские требования
Медкнижка: Не указано
Количество рабочих мест
1
Адрес места работы
Город Москва, Красноказарменная улица, дом: 14;, с.3
Проживание
Нет

Дополнительные сведения

Перспектива карьерного роста
Нет
Типовая должность
Программист C++

Контакты по вакансии

  • Контактное лицо: Давыденко Ангелина Ивановна
  • Эл. почта: davydenko.ai@okbmei.ru
  • Телефон: +7(985) 047-25-74
Источник: Работа России Внешняя вакансия из открытого источника.
Перейти к источнику