💎Про компанию:
Мы являемся резидентами Сколково и развиваем программно-аппаратный комплекс для предсменных и периодических медосмотров. Это реальный продукт на стыке embedded-разработки и современного интерфейса.
Ищем инженера, которому интересно создавать устойчивое ПО «близко к железу» — от системного сервиса до интерфейса и процесса обновления терминалов.
Технологии:
- Системные сервисы: Go, C/C++ — низкоуровневая работа с оборудованием;
- Сетевые сервисы: HTTP, gRPC, WebRTC;
- UI: Electron, JavaScript, Vue;
- Платформы: Linux x64 и ARM64.
Чем предстоит заниматься:
- Развивать и поддерживать ПО терминала — важную часть продукта, которая работает непосредственно на площадках;
- Работать с протоколами устройств: RS-232, USB, USB HID, Bluetooth/BLE, а также с кастомными протоколами поверх TCP/UDP;
- Развивать видеопайплайн: камеры и V4L2, захват видео, FFmpeg, OpenCV, Face ID и WebRTC;
- Разрабатывать локальный API терминала: HTTP, WebSocket и gRPC;
- Создавать системные сервисы для взаимодействия с хост-системой, systemd, NetworkManager и другими компонентами Linux;
- Собирать образы с предустановленным ПО для разных аппаратных платформ: Raspberry Pi, BTT, x64 и других;
- Автоматизировать кроссплатформенную сборку приложений и образов в CI/CD.
- Согласовывать изменения с backend-командой ESMO и командами смежных сервисов, включая faceid-server, сохраняя обратную совместимость с установленным парком терминалов.
Что ожидаем:
Обязательно:
- От 3-х лет коммерческого опыта разработки на Go;
- Опыт ведения модуля или небольшого продукта end-to-end: от проработки решения до запуска и поддержки;
- Хорошее знание Linux: понимание принципов работы ядра, взаимодействия с устройствами, сетевого стека, системных сервисов и особенностей ARM-платформ;
- Уверенное владение Go: умение писать качественный, тестируемый код и привычка писать тесты;
- Опыт frontend-разработки на Vue 2 либо уверенное владение Vue 3 и готовность работать с legacy-стеком: Vuex, Vue CLI, Vue I18n;
- Опыт кроссплатформенной разработки;
- Умение читать техническую документацию и описания протоколов приборов, превращая их в надёжные рабочие драйверы;
- Самостоятельность: умение оценивать задачи, определять приоритеты и выстраивать взаимодействие со смежными командами.
Будет плюсом:
- Знание Rust;
- Опыт работы с BlueZ/BLE, HID, evdev, GPIO/I2C на Raspberry Pi и аналогичных платформах;
- Опыт работы с OpenCV, dlib, V4L2 и FFmpeg;
- Опыт работы с gRPC, Protocol Buffers и WebSocket;
- Опыт использования Docker multi-arch и создания Debian-пакетов;
- Опыт работы с SQLite или PostgreSQL на устройстве либо в связанных сервисах;
- Опыт работы с POS-терминалами, медицинской техникой, промышленными системами или IoT;
- Опыт работы с Android/ADB для планшетной конфигурации терминала.
✅ Что мы предлагаем:
- Аккредитованная компания, официальное трудоустройство, полностью «белая» зарплата, оплата больничных и отпусков;
- Работа в офисе в г. Видное, график 5/2;
- Оклад обсуждается по результатам собеседования;
- ДМС через годы работы, корпоративная связь, ноутбук.
Это роль для программиста, который хочет видеть прямой результат своей работы: от кода и драйвера до работающего терминала, которым ежедневно пользуются люди.