Минск, улица Льва Толстого, 10
Метро: ВокзальнаяМы - команда 4RM Tech, digital-направление 4RM (производитель ретейл-оборудования: весы самообслуживания, почтоматы, торговое и холодильное оборудование). Наша задача - превращать это оборудование в связку hardware + software + AI, которая приносит клиентам измеримый результат.
В портфеле три продуктовых линии:
Платформа для весов самообслуживания и решение для касс самообслуживания с распознаванием товаров через Computer Vision и антифрод-модулями
Линейка CV-аналитики для ритейла: мониторинг полок/планограмм, распознавание товаров, аналитика покупательского потока, эффективность персонала
Софт для почтоматов и вендингов
Ищем Fullstack/Backend-разработчика, чтобы усилить команду и развивать backend, который связывает камеры и весовые модули на устройствах, видеопотоки в реальном времени и ML-сервисы распознавания в единый работающий продукт.
Обязанности:
Разработка и поддержка backend-сервисов на Python (FastAPI/Django) для продуктов на базе Computer Vision (весы самообслуживания, почтоматы, ретейл-аналитика)
Проектирование и разработка REST API для взаимодействия с frontend, периферийными устройствами и ML-сервисами
Работа с PostgreSQL через SQLAlchemy: проектирование схем, миграции, оптимизация запросов
Контейнеризация и деплой сервисов (Docker, Docker Compose)
Разработка асинхронных обработчиков видеопотоков (RTSP, HTTP-стриминг, локальные камеры) с использованием OpenCV/NumPy: захват кадров, ресайз, кроп, конвертация цветовых пространств — без блокировки event loop
Интеграция backend с сервисами инференса нейросетей: проектирование протоколов обмена данными (сериализация, base64/бинарная передача)
Взаимодействие с оборудованием и IoT-устройствами (камеры, весовые модули, принтеры) по сети и локально, работа с периферией на Linux
Обеспечение взаимодействия backend и frontend (HTTP/WebSocket, авторизация, CORS)
Участие в архитектурных решениях с учётом ограничений по производительности (CPU/GPU, RAM/VRAM, накладные расходы IPC)
Профилирование и оптимизация критичных по производительности участков кода
Участие в код-ревью и техническом документировании.
Backend (обязательно):
Отличное знание Python.
Опыт коммерческой разработки на FastAPI и/или Django.
Опыт работы с SQLAlchemy (желательно 2.x) и реляционными БД (PostgreSQL).
Уверенное владение Docker и Docker Compose.
Понимание принципов построения REST API, асинхронного программирования (asyncio), многопоточности и многопроцессности в Python.
Желателен опыт работы с Linux, сетями, устройствами или IoT (взаимодействие с оборудованием, протоколами, периферией).
Опыт работы с библиотеками компьютерного зрения (на базовом уровне): уверенное использование OpenCV (cv2), NumPy для захвата кадров, ресайза, кропа и конвертации цветовых пространств.
Работа с видеопотоками и изображениями: понимание того, как эффективно читать видео (RTSP, HTTP-стриминг, локальные камеры), извлекать кадры и не блокировать при этом Event Loop (FastAPI/asyncio).
Интеграция с ML-модулями: опыт построения взаимодействия между web-бэкендом и сервисами инференса нейросетей. Понимание форматов передачи мультимедиа-данных (сериализация, base64 vs бинарная передача).
Frontend (обязательно понимание):
Уверенные знания JavaScript/TypeScript: event loop, async/await, промисы.
Понимание процесса сборки frontend-приложений (Vite/Webpack, npm/pnpm/yarn).
Понимание того, как frontend взаимодействует с backend (HTTP, WebSocket, авторизация, CORS и т.д.).
Базовое понимание современных frontend-технологий (React/Vue/Angular — не обязательно писать код ежедневно, но понимать архитектуру).
Computer Science / System Design:
Хорошее понимание процессов и потоков ОС, работы планировщика ОС
Понимание накладных расходов (overhead) при межпроцессном взаимодействии (IPC) и передаче тяжёлых данных (изображений/тензоров) по сети
Понимание работы оперативной и виртуальной памяти, взаимодействия CPU и памяти
Понимание того, как Python использует потоки и процессы (GIL, multiprocessing)
Базовое понимание аппаратной части:
Что такое CPU и GPU, в чём разница между RAM и VRAM
Как происходит обмен данными между оперативной памятью и видеопамятью
Понимание, где возникают узкие места по производительности
Будет большим плюсом:
Опыт программирования на Go или Rust.
Любой опыт оптимизации высоконагруженного или вычислительно сложного кода, когда удалось добиться производительности значительно выше, чем на Python.
Понимание профилирования приложений и поиска bottleneck'ов.
Опыт работы с системами компьютерного зрения, AI/ML, потоковым видео или обработкой изображений.
Опыт работы с очередями сообщений (RabbitMQ, Kafka, Redis Streams).
Опыт работы с gRPC или высокопроизводительными брокерами сообщений для общения с ML-сервисами.
Базовое знакомство с FFmpeg или GStreamer для низкоуровневой работы с видео.
Опыт работы с разделяемой памятью (Shared Memory) в Python для передачи кадров между процессами без копирования.
Опыт разработки под Linux и понимание сетевого стека.
официальное трудоустройство в соответствии с трудовым законодательством РБ;
достойный уровень заработной платы;
возможности для обучения и развития;
современный и комфортный офис;
корпоративную культуру, которая мотивирует и заряжает позитивом;
работу в социально ответственной компании, которая следит за трендами, ценит идеи сотрудников и развивается вместе с ними;
медицинское страхование за счет компании.
Национальный центр электронных услуг,РУП
Минск
Не указана
Оборонные инициативы
Минск
Не указана
Белорусские облачные технологии
Минск
Не указана