Заявка
Пожалуйста, оставьте ваши контактные данные. Наш менеджер свяжется с вами в ближайшее время и ответит на все вопросы о сотрудничестве.
Отправляя заявку, вы даёте согласие на обработку персональных данных согласно политике конфиденциальности.
Откликнуться на вакансию
Отправляя заявку, вы даёте согласие на обработку персональных данных согласно политике конфиденциальности.
Заявка
Пожалуйста, оставьте ваши контактные данные. Наш менеджер свяжется с вами в ближайшее время и ответит на все вопросы.
Отправляя заявку, вы даёте согласие на обработку персональных данных согласно политике конфиденциальности.
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.
  • Небольшая команда, позитивная неформальная атмосфера и отсутствие бюрократии.
  • Квалифицированные коллеги и руководство с техническим бэкграундом.
  • Обучение внутри команды — делимся знаниями и опытом.