Разработчик С++ (Qt)
Инжиниринговый Центр Железнодорожного ТранспортаОписание
Мы ищем опытного и серьезного разработчика C++ для участия в создании и развитии ответственных цифровых продуктов в сфере железнодорожного транспорта. Вам предстоит работа над сложными desktop-приложениями с богатым UI, клиент-серверным взаимодействием и высокой требовательностью к надежности и производительности.
Вы будете выполнять следующие обязанности:
-
Полноценное участие в разработке и поддержке модульного desktop-приложения на Qt (QWidgets).
-
Проектирование и реализация клиент-серверной логики, включая работу с различными сетевыми протоколами.
-
Создание и поддержка пользовательских интерфейсов высокой сложности (работа с деревьями, кастомизированными виджетами, MVC-архитектурой).
-
Разработка и поддержка библиотек общего назначения для тиражируемого функционала.
-
Написание технической документации (технические спецификации, API).
-
Участие в полном цикле разработки: анализ требований, проектирование, реализация, code review, рефакторинг, написание тестов, отладка.
В этих целях Вам необходимы:
-
Опыт коммерческой разработки на С++ от 3-х лет, уверенное владение стандартами C++11/14/17, понимание новшеств C++20.
-
Глубокое знание и опыт применения STL, современных идиом и шаблонов проектирования.
-
Опыт работы с фреймворком Qt (5/6) от 3-х лет, в частности с QWidgets.
Обязательное и глубокое знание сетевых протоколов и технологий:
HTTP/HTTPS, REST API, работа с JSON (сериализация/десериализация).
WebSocket для двусторонней связи в реальном времени.
gRPC как плюс или готовность к быстрому освоению.
-
Понимание механизмов аутентификации и авторизации: OAuth 2.0, JWT, Basic Auth.
-
Понимание принципов асинхронного программирования в Qt (сигналы-слоты, event loop, QtConcurrent) и в целом (std::async, futures/promises).
-
Опыт работы с SQL (написание запросов, оптимизация) и одним из промышленных серверов СУБД: PostgreSQL или MS SQL Server.
-
Умение проектировать и работать со сложными структурами данных, опыт реализации и оптимизации операций с деревьями.
-
Понимание основ работы распределенных систем.
-
Практический опыт работы с Git (ветвление, merge/rebase, проведение code review).
-
Навыки написания unit-тестов с использованием одного из фреймворков: Qt Test, Google Test, Catch2 и т.п.
-
Умение читать и анализировать чужой код, способность к самостоятельной работе и принятию технических решений.
Будет значительным преимуществом:
-
Опыт работы с потоковыми протоколами (например, для передачи телеметрии).
-
Знакомство с языками Go, Python и понимание их экосистем.
-
Опыт работы в domain-области (транспорт, логистика, телематика).
-
Знание CI/CD принципов, опыт настройки сборок (CMake), скриптовой автоматизации.
Если Вы работаете у нас, мы гарантируем Вам:
- Конкурентоспособную заработную плату;
- Гибкий график работы;
- Полное соблюдение трудового законодательства;
- Эффективную, прозрачную премиальную систему;
- ДМС;
- Работа в комфортном офисе А класса;
- Комфортное, оборудованное место для приема пищи с бесплатным кофе;
- обучение за счёт компании.
Если наша вакансия заинтересовала Вас, нажмите на кнопку Откликнуться на вакансию и мы ответим Вам!