Никулинская улица 11к4
Ищем разработчика для создания ПО верхнего уровня промышленных робототехнических комплексов.
В работе ориентировочно 70% backend / 30% frontend. Основной стек — C#/.NET и/или Python. C++ используется для отдельных задач интеграции с оборудованием и низкоуровневыми компонентами.
Чем предстоит заниматься
• Самостоятельно разрабатывать ПО для робототехнических комплексов по техническому заданию Главного инженера проекта.
• Участвовать в проектировании архитектуры ПО.
• Настраивать взаимодействие между ПЛК, роботами, периферийным оборудованием и информационными системами Заказчика: ERP, MES, SCADA и др.
• Тестировать разработанное ПО непосредственно на оборудовании совместно с робототехниками и инженерами по автоматизации.
• Диагностировать возникающие проблемы и находить технические решения.
• Готовить техническую документацию.
В составе команды предстоит пройти полный цикл разработки: от получения исходных требований, подготовки концепции и MVP, проверки гипотез и интеграции с оборудованием до подготовки РТК к производству и запуска комплекса в эксплуатацию.
Технологический стек
• Платформа: .NET (актуальная LTS-версия), Python
• ОС промышленного ПК: Linux
• Шлюз: ASP.NET Core Web API — серверная часть; механизмы retry/timeout/circuit breaker; исходящие callback с ретраями и экспоненциальной задержкой или аналоги
• Планировщик: фоновые задачи и оркестрация, явные конечные автоматы для управления состояниями и технологическими процессами
• База данных: PostgreSQL; EF Core либо Dapper
• Стык с ПЛК: OPC UA (клиент), библиотека OPC Foundation, Modbus, PROFINET
• Логирование: структурное, Serilog или аналоги
• Тестирование: xUnit, Testcontainers для интеграционных тестов или аналоги
Что важно
• Уверенное знание C#/.NET или Python и основ backend-разработки.
• Понимание принципов ООП, модульной архитектуры и проектирования приложений.
• Базовые навыки frontend-разработки.
• Знания в области разработки многопоточного и асинхронного ПО.
• Базовые знания в области построения и конфигурации сетей.
• Умение работать с системами контроля версий.
• Умение работать с Linux на уровне, необходимом для запуска, настройки и диагностики разработанного ПО.
• Умение работать с актуальными ИИ-ассистентами для написания кода и документации.
• Техническое образование или обучение по техническому направлению.
Особенности работы
Здесь важно быть готовым к специфике разработки промышленного ПО:
• Неполные и меняющиеся требования. Часть вопросов к Заказчику может оставаться открытой, а ответы поступать уже в процессе работы. Процессы тестируются и могут изменяться в процессе реализации.
• Работа непосредственно с оборудованием. Необходимо быть готовым работать на площадке рядом со стендом и активно участвовать в тестировании — 2–3 дня в неделю на площадке.
• Самостоятельность. От разработчика ожидается не только реализация поставленной задачи, но и способность предложить техническое решение, проверить его на стенде и довести до устойчивой работы.
Будет преимуществом
• Опыт работы с промышленными протоколами: Modbus TCP/RTU, PROFINET, OPC UA и другими.
• Опыт embedded-разработки: STM, ESP, Arduino.
• Знание C/C++.
• Опыт работы с CI/CD.
• Знание MES, WMS, SCADA, АСУ ТП — любой опыт рядом с оборудованием.
• Опыт работы в команде с инженерами-механиками и электронщиками — умение разговаривать не на языке разработчика.
Условия
• Заработная плата: обсуждается индивидуально.
• График: 5/2, гибридный формат.
• Место работы в пешей доступности от метро Озёрная.
• Возможны редкие краткосрочные командировки.
• Оформление согласно ТК РФ.
Что предлагаем
• Работа над реальными продуктами.
• Современная лаборатория/цех с 3D-принтерами, станками, набором камер, датчиков и роботов.
• Возможность приобрести уникальные практические навыки в робототехнике при реализации проектов.