Разработчик C# / C++ реалтайм-системы сбора и анализа данных (камеры, лидары) (удаленная работа)

6 октября 2026

Уровень зарплаты:
от 220 000 до 300 000 руб.
Требуемый опыт работы:
Не указан

Вакансия: Разработчик C# / C++ реалтайм-системы сбора и анализа данных (камеры, лидары)

Описание вакансии

IQoko программно-аппаратный комплекс контроля и измерения объёма вывоза сыпучих материалов (песок, щебень, грунт). В его основе анализ данных (CV/ML) с видеокамер и лидара. Комплекс (станция) ставится на въезде площадки и фиксирует каждый проезд машины: номер, направление, объём груза. Заказчик видит, сколько реально уехало, без весов и человека на КПП.

Нам нужен инженер, который возьмёт уже разработанное ядро комплекса: реалтайм-процессы, логику проезда, работу с оборудованием и приведёт его к единому продукту, готовому к масштабированию.

Чем предстоит заниматься

  • Реалтайм-конвейер. Настраивать несколько параллельных потоков на одной машине (macOS, в перспективе Linux) без кластера: сбор данных, управление устройствами, запуск нейросетей и расчётов. Держать нужный FPS детекции при нескольких видеопотоках: многопоточность, приоритеты, очереди, нейросети на GPU.
  • Алгоритмы обработки результатов нейросетей. Доработка и отладка алгоритмов, которые собирают и анализируют результаты нейросетей по многим кадрам: определение направления проезда и итогового госномера.
  • Оборудование. Камеры (RTSP, ffmpeg), лидары, устройства на Ethernet и UART. Контроль ошибок периферии: сбой устройства не должен ронять проезд.
  • Инференс моделей. Развёртывание на железе уже разработанных CV/ML-моделей (YOLO и др.). Обучают модели коллеги, ваша задача чтобы они быстро и стабильно работали на станции.
  • Единая система для парка. Одна версия кода (интерфейс, расчёты) на всех площадках, отличия только в конфигурации, например другой комплект оборудования. Выпуск релизов и выкатка на весь парк станций вместе с DevOps. Участие в выборе платформы станции.
  • Передача данных в облако. Сторона станции: надёжная передача проездов, кадров и облаков точек в облачный сервис, в том числе при плохом интернете или его отсутствии. Сам облачный сервис делает отдельный разработчик.
  • Разбор инцидентов. Сложные случаи от тестировщика и заказчиков: по кадрам, логам и облакам точек найти причину алгоритм, настройка площадки или оборудование.
  • Контекст-инженерия. Писать понятные постановки и спецификации, вести документацию системы и контекст для агентов в репозитории. Это часть инженерной работы, а не документация потом : систему сейчас принимаем от уходящего разработчика, и знания должны жить в репозитории, а не в голове.

Как мы работаем

  • Разработку ведём через agentic-подход и контекст-инженерию (Claude Code и аналоги): сначала контекст и постановка, потом код. Агент пишет, инженер задаёт рамки, проверяет и отвечает за результат. Это ежедневный метод, а не эксперимент.
  • Задачи в таск-трекере, ошибки в баг-трекере. Небольшая команда: тимлид, разработчики (CV/ML, разметка, 3D, hardware), DevOps, разработчик облака, тестировщик, отдел монтажа на объектах.
  • Сначала понимаем бизнес-процесс проезда, потом трогаем код.
  • Комплексы уже работают на нескольких строительных площадках: доработки проверяем на живых данных и выкатываем аккуратно ошибки сразу видит заказчик.

Что для нас важно

  • Коммерческий опыт разработки от 4 лет, из них хотя бы 1 2 года до появления AI-ассистентов.
  • C# или C++ фундамент важнее конкретного языка. Ядро сейчас на C# (.NET 8), уверенный опыт на одном из двух языков обязателен. Разработчиков на C++, готовых работать в существующем коде на C#, а не переписывать его, рассматриваем наравне. Язык нужно знать на уровне, где вы чувствуете и ловите ошибки агента, а не только принимаете его код .
  • Реальный опыт многопоточности и асинхронности : потоки, очереди, гонки, блокировки, мультипроцессинг. Умение объяснить, почему система тормозит и где.
  • Опыт работы с оборудованием или потоками данных в реальном времени : камеры и видео, датчики, промышленные протоколы, embedded, робототехника и т. п.
  • Алгоритмическое мышление: разложить задачу на поток событий и предложить решение, а не пусть агент сделает как-нибудь .
  • Уверенная работа в Linux или macOS, Docker. Умение читать, править и интегрировать Python-скрипты.
  • Реальный опыт разработки с AI-агентами (Claude Code, Codex, Cursor и т. п.) на живых проектах не пробовал , а так работаю . Привычка проверять сгенерированный код: читать, гонять тесты, отлаживать, а не доверять ему слепо.
  • Умение разбираться в чужом коде с историей и вести лаконичную документацию вместе с AI-агентом.

Будет плюсом

  • Развёртывание и использование ffmpeg, RTSP, OpenCV; YOLO или другие детекторы в продакшене.
  • Облака точек, лидары (PCL, Open3D).
  • Распознавание номеров (ANPR) или видеоаналитика.
  • ASP.NET Core, фоновые службы, SQLite / Dapper.
  • Развёртывание на парке устройств без стабильного интернета (edge / offline / IoT), воспроизводимые сборки, удалённые обновления.
  • macOS: launchd, colima.
  • Портфолио или GitHub, особенно проекты, собранные с AI-агентами, где видно, что делал агент, а что вы.

Условия

  • Полностью удалённо Монтаж на объектах делает отдельный отдел, выезды не требуются.
  • Оформление на выбор: ТК РФ, ИП или самозанятость.
  • Доход: от 220 до 300 тыс. на руки по итогам собеседования. Для кандидатов с сильным опытом реалтайм-систем и работы с оборудованием обсуждаем выше.
  • Компенсируем подписки на AI-инструменты для разработки (Claude Code и аналоги).
  • Онбординг с передачей дел и документацией по системе.

Почему это интересно

  • Реальное железо, а не очередной CRUD: камеры, лидары, нейросети, светофор код, который управляет физическим процессом на площадке.
  • Реальный продукт на рынке: есть заказы и успешные внедрения.
  • Продукт развивается: улучшения, которые вы внесёте сейчас, станут основой платформы и помогут нам быть первыми на рынке.
  • Agentic-разработка в команде, где это норма.
  • Полная удалёнка в нише, где почти все такие вакансии офисные. Гибкое оформление.
  • Маленькая команда без бюрократии: идеи и решения принимаются быстро.

Как проходит отбор

  1. Скрининг-созвон, 30 минут.
  2. Техническое интервью, 60 90 минут: опыт, многопоточность, разбор кейса из нашей системы.
  3. Тестовое задание по мотивам реальных задач: реалтайм-обработка нескольких потоков данных. Можно и нужно работать с AI-агентом.
  4. Финальная встреча с тимлидом.