Следует coding standards команды для C++/Qt. Использует clang-format и Qt Creator code style. Пишет читаемый код с понятными именами. Проходит code review без критических замечаний.
Роли · Desktop Developer (Qt/C++) · Junior
Что должен уметь Junior }
8 ключевых навыков, всего 53. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Тестирование и QA, Контроль версий и коллаборация.
Ключевые навыки для Junior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 3
Понимает основы многопоточности в Qt: использование QThread для фоновых задач, соединения signal-slot между потоками, базовое понимание привязки потоков в системе событий Qt. Следует командным конвенциям поддержания отзывчивости UI с рабочими потоками.
Понимает Qt ownership model: parent-child для QObject. Использует QScopedPointer и std::unique_ptr. Знает правила delete для QObject без parent. Избегает dangling pointers через QPointer.
Тестирование и QA · 1
Пишет unit-тесты через Qt Test (QTest) с QCOMPARE и QVERIFY. Тестирует signals/slots через QSignalSpy. Понимает test fixtures и data-driven тесты в Qt Test.
Контроль версий и коллаборация · 2
Участвует в code review как ревьюи для Qt/C++ кода. Применяет замечания рецензентов, понимает coding standards. Оставляет простые комментарии по читаемости кода.
Использует Git для ежедневной работы: commit, push, pull, branch. Понимает gitflow для Qt-проектов. Работает с .gitignore для исключения build-артефактов Qt.
Desktop Development · 2
Понимает основы MVVM в контексте Qt/QML. Разделяет View (QML) и ViewModel (C++ QObject с Q_PROPERTY). Реализует property binding между QML и C++ backend.
Знает основы Qt 6 и C++17. Создаёт простые виджеты через Qt Designer, использует signals/slots для связывания логики. Работает в Qt Creator, собирает проекты через qmake/CMake.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Middle
53 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.
- Качество кода и рефакторинг: Осведомлённость → Применение
- Многопоточное программирование: Осведомлённость → Применение
- Управление памятью: Осведомлённость → Применение
- Code Review: Осведомлённость → Применение
- Git Advanced: Осведомлённость → Применение
- MVVM Pattern: Осведомлённость → Применение
- Qt / C++ Desktop: Осведомлённость → Применение
- Unit-тестирование: Осведомлённость → Применение
- Алгоритмы и сложность: Осведомлённость → Применение
- Асинхронное программирование: Осведомлённость → Применение
} в открытой матрице компетенций: 53 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.