freehire launches on Product Hunt on 26 August.

Follow →

Fullstack Engineer

Summary

Builds and maintains Python-based backend services (FastAPI/Django) for computer vision products like self-service scales, mailboxes, and retail analytics, focusing on REST APIs, PostgreSQL, Docker, and real-time video/image processing with OpenCV/NumPy.

Зарплата: 9360–14040 BYR (до вычета налогов)

Обязанности:
  • Разработка и поддержка 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 и понимание сетевого стека.

Условия:

официальное трудоустройство в соответствии с трудовым законодательством РБ;

достойный уровень заработной платы;

возможности для обучения и развития;

современный и комфортный офис;

корпоративную культуру, которая мотивирует и заряжает позитивом;

работу в социально ответственной компании, которая следит за трендами, ценит идеи сотрудников и развивается вместе с ними;

медицинское страхование за счет компании.

See also

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available