ДОРС - первая российская компания-разработчик и производитель банковской и кассовой техники, систем самообслуживания, прикладного программного обеспечения.
В конструкторском бюро открываем вакансию Разработчика управляющего ПО для устройств банковского самообслуживания (счётчики и валидаторы купюр, банкоматы, автоматические депозитарные машины, индивидуальные банковские сейфы).
Задачи:
Термин «управляющее ПО» означает, что мы ищем специалиста, который сможет использовать протоколы низкоуровневого взаимодействия с узлами для управления ими.
- Разработка программной библиотеки для взаимодействия с аппаратными узлами (купюроприёмник, модуль спец.электроники, принтер), для Windows и Linux. Процессорные архитектуры: x86-64, aarch64
- Сборка демонстрационного примера из исходных текстов заказчика и адаптация его под особенности используемого в наших АДМ узлах
- Взаимодействие с внешними системами по протоколам https, grpc
- Настройка политики безопасности для запуска приложений в Linux и Windows
- Разработка Unit-тестов с использованием Google Test
- Разработка консольных приложений с использованием The Boost Library
Для выполнения этих задачи, программисту потребуются следующие навыки:
- Чтение технической документации на английском языке
- Умение программирования на языке C++ 14/17
- Навык использование библиотек STL, Boost
- Умение разрабатывать обобщённый код: generic-код/templates
- Навык разработки многопоточного кода с целью минимизации блокировок управляющих потоков синхронными операциями ввода/вывода
- Навык взаимодействия между компьютерами с использованием TCP/IP
- Навык разработки кода для обмена данными через USB/COM
- Навык разработки сценариев сборки приложения с помощью CMake
- Навык сборки вспомогательных библиотек (зависимостей). В частности, с помощью инструмента vcpkg
Также востребованными являются следующие навыки:
- Умение применения шаблонов проектирования (singleton, observer, facade, и т. д.)
- Умение разработки приложений с графическим пользовательским интерфейсом. Например: Qt 5
- Навык разработки однопоточных приложений с использованием асинхронного кода. Например, с использованием библиотеки Boost.Asio
- Навык разработки приложений с криптографической защитой, в частности, использование сертификатов с ключами для шифрования трафика. Например, используя библиотеки Boost.Beast, или curl
- Навык оценки эффективности алгоритма «Big O notation»
- Базовые знания архитектурных шаблонов: кэширование, балансировка нагрузки
Мы предлагаем:
- Участие в работе над уникальными проектами по разработке ПО для банковского оборудования.
- Сильную команду экспертов отрасли.
- Конкурентоспособную заработную плату (по итогам встречи), стабильные выплаты.
- Работу в уютном офисе в шаговой доступности от метро.
- Гибкий подход к графику работы