Петренко Виктор Павлович

BtlРазмер не указан

О компании

Описание компании пока не заполнено.

Город: Москва

Открытые вакансии (1)

ПрограммистУдалённая работа3–6 лет
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-агентами, где видно, что делал агент, а что вы. Условия Полностью удалённо, часовой пояс — МСК ± 4 часа. Монтаж на объектах делает отдельный отдел, выезды не требуются. Оформление на выбор: ТК РФ, ИП или самозанятость. Доход: от 220 до 300 тыс. ₽ на руки по итогам собеседования. Для кандидатов с сильным опытом реалтайм-систем и работы с оборудованием обсуждаем выше. Компенсируем подписки на AI-инструменты для разработки (Claude Code и аналоги). Онбординг с передачей дел и документацией по системе. Почему это интересно Реальное железо, а не очередной CRUD: камеры, лидары, нейросети, светофор — код, который управляет физическим процессом на площадке. Реальный продукт на рынке: есть заказы и успешные внедрения. Продукт развивается: улучшения, которые вы внесёте сейчас, станут основой платформы и помогут нам быть первыми на рынке. Agentic-разработка в команде, где это норма. Полная удалёнка в нише, где почти все такие вакансии офисные. Гибкое оформление. Маленькая команда без бюрократии: идеи и решения принимаются быстро. Как проходит отбор Скрининг-созвон, 30 минут. Техническое интервью, 60–90 минут: опыт, многопоточность, разбор кейса из нашей системы. Тестовое задание по мотивам реальных задач: реалтайм-обработка нескольких потоков данных. Можно и нужно работать с AI-агентом. Финальная встреча с тимлидом.