Требования:
- Опыт работы от 5 лет в разработке на C++.
- Уверенное знание языка программирования C++ и его особенностей.
- Опыт проектирования и разработки сложных архитектурных решений на C++, включая применение шаблонов проектирования (Design Patterns) и принципов SOLID.
- Глубокое понимание многопоточного программирования и опыт работы с потоками и синхронизацией в C++ (например, std::thread, std::mutex, std::condition_variable и т.д.).
- Знание основных структур данных и алгоритмов, опыт их применения и оптимизации в контексте разработки на C++.
- Умение писать эффективный, надежный и масштабируемый код на C++ с учетом производительности и памяти.
- Опыт отладки и профилирования приложений на C++ для выявления узких мест и улучшения производительности.
- Понимание основных принципов работы операционных систем (Linux/Unix, Windows) и опыт работы с ними на уровне, достаточном для разработки на C++.
Обязанности:
- Разработка сложных и высокопроизводительных программных продуктов на C++ согласно требованиям и спецификациям.
- Участие в проектировании архитектуры и дизайна программного обеспечения, принятие архитектурных решений и разработка архитектурных документов.
- Оптимизация производительности и эффективности разработанных решений, включая профилирование и оптимизацию кода.
- Проведение тестирования разработанного кода, отладка и исправление ошибок, обеспечение высокого уровня надежности и стабильности программного продукта.
- Помощь менее опытным членам команды, обучение новых сотрудников, участие в code review и передача опыта и знаний в области C++ разработки.
- Взаимодействие с другими членами команды, включая разработчиков, тестировщиков, аналитиков и менеджеров проекта, для достижения общих целей проекта.