Electro.cars — ведущий разработчик платформы по управлению зарядной инфраструктурой и системы по управлению парками электромобилей приглашает разработчиков стать частью команды, нацеленной на внедрение зеленых технологий для перехода транспорта с двигателей внутреннего сгорания на электрику.
Мы разрабатываем комплексную платформу для управления зарядными станциями для электромобилей, флит-менеджмента и смарт-чарджинга для электромобилей. Платформа строится на принципах SOA и в настоящий момент состоит из десятка специализированных сервисов и фронтэндов (веб- и мобильных приложений).
Мы ищем backend-разработчика в команду сервисов по работе с зарядными станциями и смарт-чарджинга для электромобилей.Сервис состоит из 2х основных частей: серверов, взаимодействующих напрямую со станциями по протоколу OCPP через websocket’ы; нескольких бизнес-приложений, реализующих управление инфраструктурой (инженерные панели, удалённое управление зарядными станциями, дашборды, мониторинг, анализ логов и т. д.), управление зарядными сессиями (запуск, мониторинг, остановка, биллинг и т. д.), интерфейсы владельцев зарядной инфраструктуры и интерфейсы сервис-провайдеров, а также аналитику.
Основной технологический стэк- Языки программирования: на бэке — Ruby (v3) и Python (v3), на фронте — JS / TypeScript.
- Бэкенды на Ruby on Rails (в режиме API) и faye-websocket (Rack), отдельные сервисы на Python (ML), основная СУБД — PostgreSQL, кеширование и очереди на Redis, веб-сервер и балансировка — nginx.
- Веб-фронтэнды на Next. js и React (TypeScript) + нативные мобильные приложения на Swift & Kotlin; взаимодействие фронтэндов с бэкендами осуществляется через API с аутентификацией клиентов при помощи JWT (используется SSO).
- Железная часть — географически распределённая инфраструктура на выделенных серверах под управлением CentOS 8 с виртуализацией на QEMU-KVM.
- Прочее: VCS — Git, CI/CD — GitLab, Code Style — Rubocop / PEP 8 / Eslint и Prettier.
Задачи- Написание красивого и эффективного кода, который быстро и корректно работает, а также который приятно читать и просто понять.
- Проектирование и разработка новых сервисов и API, поддержка и улучшение существующих сервисов и API.
- Взаимодействие с другими командами разработки для решения интеграционных задач.
- Рефакторинг кодовой базы, своевременное устранение технического долга.
- Участие в разработке архитектуры платформы.
Ожидания- технический склад ума, логическое мышление;
- понимание принципов проектирования веб-приложений и API;
- понимание ООП, опыт разработки на MVC-фреймворках
- знание Ruby и/или Python;
- опыт проектирования и работы с реляционными СУБД (PostgreSQL);
- знание ОС семейства Linux и умение работать через CLI;
- умение работать с Git;
- желание постоянно совершенствоваться и изучать новые технологии.
Плюсами будет- Опыт работы с DevOps & CI/CD.
- Опыт работы с High Availability & High Load.
- Опыт работы с Docker.
Условия- Полная занятость, график 5/2 с гибким началом рабочего дня.
- Современный и комфортный офис на ст.м. Алексеевская.
- Частично удалённая работа возможна после прохождения испытательного срока.
- Продуктовая разработка, современные процессы и инструменты разработки, отсутствие Legacy.
- Небольшая команда, позитивная неформальная атмосфера и отсутствие бюрократии.
- Квалифицированные коллеги и руководство с техническим бэкграундом.
- Обучение внутри команды — делимся знаниями и опытом.