Мы ищем в нашу команду опытного Инженера-программиста высокоуровневого ПО, который займётся созданием прикладного и сетевого программного обеспечения для головных контроллеров зарядных станций (уровень TCU) и систем накопления энергии.
Про EVM
EVM — производитель электромобилей и инжиниринговый центр. Мы разрабатываем, адаптируем и производим электромобили, автомобильные компоненты и зарядную инфраструктуру для российского рынка. Наша цель — ускорить приход новых технологий в Россию и сделать транспорт на новой энергетике частью повседневной жизни. Для этого мы выстраиваем полный инженерный цикл: от адаптации продуктов под реальные условия эксплуатации до локализации, испытаний и серийного производства. Среди реализованных проектов — UMO 5, электромобиль с технологиями Яндекса на борту, который вы уже можете встретить в городе.
Про вакансию
Мы ищем в нашу команду опытного Инженера-программиста высокоуровневого ПО, который займётся созданием прикладного и сетевого программного обеспечения для головных контроллеров зарядных станций (уровень TCU) и систем накопления энергии. Вы станете архитектором верхнего уровня, который связывает оборудование зарядной инфраструктуры с внешним миром.
Отдел развития зарядной инфраструктуры, в который мы ищем бэкендера, входит в состав центра разработки и работает с быстрыми и медленными зарядными станциями для электротранспорта, системами накопления электрической энергии, распределительным и балансировочным оборудованием.
Ожидаемые результаты в первые 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). Кроме того, вы будете разрабатывать сервисы для систем накопления энергии (EMS).
Инструменты отладки и диагностики
Вам предстоит проектировать и сопровождать локальный тестовый OCPP-сервер для имитации CSMS, создавать maintenance-инструменты — CLI-утилиты и веб-интерфейсы для диагностики, управления настройками, сбора логов и проверки подсистем, а также работать с сетевыми интерфейсами.
Интеграция и документация
Вы будете работать с брокерами сообщений и базами данных, много взаимодействовать со схемотехниками, системотехниками, инженерами встраиваемых систем и главным инженером для согласования протоколов и сценариев интеграции. А ещё — вести документацию на программные интерфейсы, готовить руководства по установке, обновлению и диагностике и участвовать в пусконаладке на объектах.
Требования на позиции
- Получили высшее техническое образование (информатика, вычислительная техника, автоматизация или смежное);
- Работали на Python более 4 лет, знаете асинхронное программирование и работу с сетевыми протоколами (WebSockets, HTTP/HTTPS, MQTT, Modbus TCP);
- Умеете настраивать и тестировать Ethernet в Linux-окружении;
- Понимаете принципы криптографической защиты: TLS/SSL для WebSockets, работа с сертификатами X.509, управление ключами и secure storage;
- Знаете, как на Python работают веб-интерфейсы (Flask, FastAPI или Django) и, опционально, умеете писать React или Vue для HMI;
- Любите системы контроля версий (Git), автоматизацию сборки (CI/CD), умеете писать unit- и интеграционные тесты для высокоуровневого ПО;
- Знаете английский язык на уровне не ниже B1 (чтение спецификаций OCPP, написание документации, переписка с вендорами).
Что выделит вас среди других кандидатов
- Глубокое понимание требований информационной безопасности в промышленном оборудовании, энергетике, диспетчерских системах;
- Опыт участия в разработке софта для электронных блоков промышленного, автомобильного или силового оборудования на всех стадиях жизненного цикла;
- Опыт разработки диагностических и maintenance-приложений для промышленного оборудования;
- Опыт работы с Linux-based проектами на базе SBC, модулей стандарта COM, SOM, SMARC; разработка программ для блоков HMI с использованием дисплеев, в том числе с тач-скрином; понимание работы с LVDS LCD, HDMI.
Что мы предлагаем
- Прямое влияние на архитектуру и технологический стек верхнего уровня продукта, который будет серийно выпускаться и эксплуатироваться на реальных объектах;
- Возможность создавать ключевые программные компоненты для современной зарядной инфраструктуры — от протокола OCPP до облачных сервисов;
- Самостоятельность в выборе инструментов и методов, прямой доступ к оборудованию для отладки, тестирования и испытаний;
- Официальное оформление, предоставление льгот и гарантий в полном соответствии с ТК РФ;
- ДМС (включая стоматологию и психологическую помощь) после завершения испытательного срока;
- Компенсацию питания;
- Компенсацию английского языка;
- Материальную помощь и поддержку в экстренных ситуациях;
Откликнуться
Предупреждение об ответственности за нарушение интеллектуальных прав*. *Обозначения «EVM», «EVM PRO» являются средствами индивидуализации ООО «ЭМ Рус», защищаемыми в юридической форме коммерческих обозначений, фирменного наименования и товарных знаков. Технология и дизайны, используемые в рамках проекта «EVM PRO — Первый российский электрогрузомобиль», защищаются посредством патентования, а также в качестве объектов авторского права. Исключительные права в отношении наименования, технологии и дизайнов принадлежат ООО «ЭМ Рус». Предупреждаем о недопустимости копирования либо воспроизведения части либо всех принадлежащих компании объектов интеллектуальной собственности, а так же о недопустимости их переработки, в отсутствии предварительного письменного разрешения со стороны ООО «ЭМ Рус». За получением письменного разрешения необходимо обратиться по адресу: 194021, г Санкт-Петербург, ул.. Газовая 10.