EVM — производитель электромобилей и инжиниринговый центр. Мы разрабатываем, адаптируем и производим электромобили, автомобильные компоненты и зарядную инфраструктуру для российского рынка.
Наша цель — ускорить приход новых технологий в Россию и сделать транспорт на новой энергетике частью повседневной жизни. Для этого мы выстраиваем полный инженерный цикл: от адаптации продуктов под реальные условия эксплуатации до локализации, испытаний и серийного производства.
Мы ищем Инженера-программиста высокоуровневого ПО, который займётся созданием прикладного и сетевого программного обеспечения для головных контроллеров зарядных станций (TCU уровень) и систем накопления энергии. Ваша ключевая задача – разработать и внедрить стек протоколов OCPP (1.6 и 2.0.1) на базе Linux, обеспечить надёжное управление зарядными сессиями, удалённый мониторинг, OTA-обновления и интеграцию с облачными платформами. Вы станете архитектором верхнего уровня, который связывает встроенное оборудование компонентов зарядной инфраструктуры с внешним миром.
Ожидаемые результаты в первые 3–6 месяцев:
- Реализовано и отлажено высокоуровневое ПО для TCU зарядной станции на базе Linux: обеспечена поддержка OCPP 1.6 (протокол WebSockets, JSON) с подтверждением соответствия спецификации OCA;
- Разработан локальный тестовый сервер OCPP для имитации Central System, позволяющий проводить пусконаладку и тестирование зарядных станций без подключения к внешнему оператору;
- Создано maintenance-приложение (диагностическое ПО) для углублённого контроля зарядной станции: чтение логов, ручное управление, проверка состояния внутреннего оборудования;
- Разработана архитектура высокоуровневого ПО для системы накопления электрической энергии, определены методы взаимодействия с оборудованием низкого уровня, описаны принципы контроля-управления режимами работы системы накопления, включая установку режимов работы, ограничений, удаленного конфигурирования;
- Реализована система OTA-обновлений для зарядных станций (OCPP based и через диагностический канал): обеспечена загрузка, проверка целостности и атомарная установка прошивок, включая механизм отката при сбое.
Какие задачи вас ждут:
- Разрабатывать высокоуровневое ПО на языках Python (основной), C++/Go и при необходимости с использованием иных подходящих инструментов;
- Реализовывать стек OCPP 1.6 и 2.0.1 (WebSockets, JSON, асинхронная обработка сообщений), обеспечивая совместимость с различными центральными системами (CSMS);
- Проектировать и сопровождать локальный тестовый OCPP-сервер для имитации CSMS в целях отладки и тестирования;
- Создавать maintenance-инструменты: CLI-утилиты и/или веб-интерфейсы для глубокой диагностики, управления настройками, сбора логов и проверки подсистем компонентов зарядной инфраструктуры;
- Обеспечивать работу с сетевыми интерфейсами: настройка и мониторинг сотовой связи, работа с Ethernet;
- Разрабатывать высокоуровневое ПО для систем накопления энергии (EMS): реализация алгоритмов управления мощностью, защит, прогнозирования, а также интерфейсов для удалённого управления и сбора статистики;
- Работать с брокерами сообщений и базами данных;
- Взаимодействовать со схемотехниками, системотехниками, инженерами встраиваемых систем и главным инженером для согласования протоколов и отработки сценариев интеграции;
- Вести документацию на программные интерфейсы, разрабатывать руководства по установке, обновлению и диагностике, участвовать в пусконаладочных работах на реальных объектах.
Что выделит вас среди других:
- Глубокое понимание требований информационной безопасности в промышленном оборудовании, энергетике, диспетчерских системах;
- Опыт участия в разработке ПО для электронных блоков промышленного, автомобильного, силового оборудования на всех стадиях жизненного цикла изделия;
- Опыт успешной реализации проектов в условиях жёстких сроков;
- Опыт разработки диагностических и maintenance-приложений для промышленного оборудования;
- Имеете опыт работы с Linux-based проектами на базе SBC, модулей стандарта COM, SOM, SMARC, разрабатывали ПО для блоков системы HMI, с использованием дисплеев, в том числе с тач-скрином, понимаете работу с LVDS LCD, HDMI.
Мы ждем, что вы:
- Имеете высшее техническое образование (информатика, вычислительная техника, автоматизация или смежное);
- Имеете опыт разработки на Python от 4 лет, включая асинхронное программирование и работу с сетевыми протоколами (WebSockets, HTTP/HTTPS, MQTT, Modbus TCP);
- Умеете настраивать и тестировать Ethernet в Linux-окружении;
- Понимаете принципы криптографической защиты: TLS/SSL для WebSockets, работа с сертификатами X.509, управление ключами и secure storage;
- Владеете инструментарием для создания веб-интерфейсов (Flask, FastAPI, или Django) и, опционально, фронтенд-фреймворками (React, Vue) для HMI;
- Знаете системы контроля версий (Git), автоматизации сборки (CI/CD), умеете писать unit-тесты и интеграционные тесты для высокоуровневого ПО;
- Владеете английским языком на уровне не ниже B1 (чтение спецификаций OCPP, написание документации, переписка с вендорами).
Мы предлагаем:
- Прямое влияние на архитектуру и технологический стек верхнего уровня продукта, который будет серийно выпускаться и эксплуатироваться на реальных объектах;
- Возможность создавать ключевые программные компоненты для современной зарядной инфраструктуры – от протокола OCPP до облачных сервисов;
- Самостоятельность в выборе инструментов и методов достижения целей, прямой доступ к оборудованию, инструментам для отладки, тестирования и испытаний;
- Работа в сильной команде, с амбициозными целями и задачами;
-
Конкурентную рыночную зарплату (размер определяется с кандидатом на собеседовании);
-
Официальное оформление, предоставление льгот и гарантий в полном соответствии с ТК РФ;
-
Место работы: Санкт-Петербург, ул. Газовая, 10;
-
ДМС (включая стоматологию и психологическую помощь) сразу после оформления;
-
Регулярные корпоративные мероприятия;
-
Компенсацию питания;
-
Материальную помощь и поддержку в экстренных ситуациях.