Вакансия: Backend developer middle RUBY PYTHON
Требуемый опыт работы: 1 3 года
Полная занятость, удаленная работа
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;