DORS

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

Не указана
  • Москва
  • Полная занятость
  • Полный день
  • От 1 года до 3 лет
  • STL
  • Qt
  • C++
  • Boost
  • Linux
  • Английский — B2 — Средне-продвинутый

ДОРС - первая российская компания-разработчик и производитель банковской и кассовой техники, систем самообслуживания, прикладного программного обеспечения.

В конструкторском бюро открываем вакансию Разработчика управляющего ПО для устройств банковского самообслуживания (счётчики и валидаторы купюр, банкоматы, автоматические депозитарные машины, индивидуальные банковские сейфы).

Задачи:

Термин «управляющее ПО» означает, что мы ищем специалиста, который сможет использовать протоколы низкоуровневого взаимодействия с узлами для управления ими.

  • Разработка программной библиотеки для взаимодействия с аппаратными узлами (купюроприёмник, модуль спец.электроники, принтер), для 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»
  • Базовые знания архитектурных шаблонов: кэширование, балансировка нагрузки

Мы предлагаем:

  • Участие в работе над уникальными проектами по разработке ПО для банковского оборудования.
  • Сильную команду экспертов отрасли.
  • Конкурентоспособную заработную плату (по итогам встречи), стабильные выплаты.
  • Работу в уютном офисе в шаговой доступности от метро.
  • Гибкий подход к графику работы