О проекте НПО ИТС развивает ДОРИС — платформу управления транспортной системой и диспетчерские службы пассажирского транспорта которую использует в разных агломерациях. Сейчас мы внедряем ИИ: компьютерное зрение, LLM-агенты, RAG-поиск по НПА — всё это встраивается в живую операционную систему с жёсткими нормативными требованиями. Ищем Go-разработчика, который будет строить интеграционный слой между ИИ-сервисами и модулями платформы. Старт — небольшая команда (архитектор + 2 разработчика), MVP в первые полгода, затем масштабирование и рост команды. Чем предстоит заниматься Писать микросервисы на Go, которые связывают ИИ-сервисы (CV, LLM, RAG) с модулями платформы через очереди и JSON API Реализовывать надёжных потребителей очередей (RabbitMQ / Redis Streams): приём событий от видеокамер, комплексов фотовидеофиксации, телеметрии транспорта Строить конвейеры обработки: правила → OCR → CV-детектор → LLM-агент → score → оператор Реализовывать Feedback Loop — сбор решений операторов и возврат в пайплайн дообучения моделей Интегрироваться с реестром моделей (MLflow), векторной БД (pgvector/Qdrant) и хранилищем медиа (MinIO/S3) Покрывать код тестами, следить за observability (Prometheus, OpenTelemetry) Стек Основной: Go 1.21+, PostgreSQL + pgvector, Redis, RabbitMQ / Redis Streams, gRPC, Docker, Kubernetes (базовый уровень) Смежный (интеграция, не разработка): Python/FastAPI ИИ-сервисы, MLflow, Qdrant, MinIO, YOLO-детекторы Требования Обязательно: 2+ года коммерческой разработки на Go Уверенная работа с конкурентностью: goroutines, channels, context, graceful shutdown Опыт работы с очередями сообщений (RabbitMQ или Redis Streams) в production PostgreSQL: транзакции, pgx/v5, миграции gRPC: protobuf, interceptors, обработка ошибок Написание юнит и интеграционных тестов Docker + Docker Compose для локальной разработки Будет плюсом: Знакомство с pgvector или любой векторной БД Базовое чтение Python-кода (понять FastAPI-эндпоинт без документации) Опыт работы с MLflow или любым model registry Опыт на государственных или транспортных проектах Понимание работы YOLO-детекторов на концептуальном уровне Условия Работа в продуктовой команде над долгосрочным проектом (многолетняя дорожная карта) Старт — слаженная работа в тройке с архитектором и вторым разработчиком, быстрый выход на результат Рост до Advanced Middle / Senior по мере расширения системы Возможность в перспективе стать ментором для джунов в растущей команде Формат работы: удаленный Что не нужно уметь Обучать ML-модели, писать биндинги к C-библиотекам, проектировать архитектуру системы — это зона архитектора и ML-инженера. Нужен инженер, который надёжно строит серверную часть и интеграции.
Обязанности: Разработка Технических Заданий (ТЗ), умение разбираться в чужих ТЗ. Сбор и анализ требований, в том числе ГОСТ, ФЗ и т.д. Тестирование функциональности ПО, анализ ошибок. Подготовка аналитической и технической документации. Сопровождение на этапе опытной эксплуатации. Обучение пользователей, демонстрация продукта заказчикам. Постановка задач разработчикам. Активное взаимодействие с тестировщиками и техническими писателями. Требования: Высшее образование. Аналитическое мышление и умение систематизировать информацию, внимательность к деталям. Опыт постановки задач. Уверенные знания процессов построения информационных систем. Опыт работы с нормативными документами; Коммуникативные навыки для эффективного взаимодействия с заказчиками и членами команды. Стрессоустойчивость. Умение работать в условиях динамичной среды и быстро адаптироваться к изменениям. Способность к самоорганизации и управлению временем. Грамотность. Условия: Дружелюбная атмосфера, неформальная обстановка, отсутствие бюрократии; Большое пространство для принятия самостоятельных решений; Интересные задачи, возможность развития; Время работы без жесткого регламента, но необходимо находиться в доступе в рабочие часы и соблюдать сроки выполнения задач; Ежедневная планерка в 10 по Москве, присутствие обязательно; Рабочие дни считаются по производственному календарю РФ; Отпуск предоставляется два раза в год по 2 недели, время отпуска согласовывается заранее с руководителем (календарь отпусков); Выплата вознаграждения по ТК РФ.