Backend developer
[ junior / middle ] —
Ruby || Python
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.
  • Небольшая команда, позитивная неформальная атмосфера и отсутствие бюрократии.
  • Квалифицированные коллеги и руководство с техническим бэкграундом.
  • Обучение внутри команды — делимся знаниями и опытом.