Middle+ backend developer Kotlin
JSA Group - аккредитованная IT-компания.
Ведем разработку по направлениям: web, мобильная разработка, BI, VR, Data Science и др.
Сейчас мы ищем Backend-разработчика в свою команду на проект
АСУ ОГР (автоматизированная система управления открытыми горными работами).
Это система управления всей техникой, задействованной в процессе перевозки руды из глубин карьера до цехов обработки.
Основная функциональность системы предоставляет бизнесу инструменты наглядного мониторинга, удобной диспетчеризации и интеллектуального управления карьерной и ЖД-техникой, которая задействована в процессе перевозки руды. Отслеживание статусов, передача заданий и рекомендаций на бортовые устройства, обеспечение обмена бизнес-информацией между всеми участниками процесса, контроль и отчетность — это те задачи, которые будет решать создаваемый продукт.
Мы создаём АСУ ОГР на базе библиотек с открытым исходным кодом. Это недавний проект.
Участие в проекте предполагает решение сложных задач по организации обмена данными между серверным ПО и распределенной сетью бортовых устройств, обработку данных в нетривиальных бизнес-процессах, работу с геоинформационными потоками данных и картографическим сервисом, комбинированное использование в логике результатов аналитических алгоритмов и искусственного интеллекта.
Команда: В состав проекта входит 4 команды с общей численностью 12 бизнес аналитиков, 12 системных аналитиков, 10 frontend разработчиков, 14 backend разработчиков, дизайнер и специалист DevOps. К проекту подключена команда тестирования из 3 специалистов.
Стек на проекте: Kotlin, Spring (Boot+WebFlux), React, ElectronJS, PostgreSQL + PostGIS.
Стек бекенда: Kotlin 1.7, Spring Boot 3, Spring WebFlux(REST/Websocket), r2dbc, Redis, PostgreSQL 15, Liquibase, Test Containers, Keycloak, Kafka.
Работаем по методологии Agile с двухнедельными спринтами.
Задачи:
- Реализовывать endpoint'ы для картографического сервиса и приложения интерактивной карты;
- Разработать алгоритм автоматического определения параметров текущего рейса и статуса техники;
- Создать инструмент ведения и актуализации системных настроек в распределенной сети устройств;
- Реализовать сервис обмена данными с ML-модулем системы;
- Разработать сервис работы с геоданными, преобразования систем координат и проекций;
- Участвовать в разработке других комплексных модулей системы.
Мы ожидаем, что ты:
- Имеешь опыт коммерческой разработки от 3-х лет на Kotlin или другом JVM-языке (Java, Groovy, Scala);
- Разрабатывал сервисы в микросервисной архитектуре;
- Знаешь Spring (IoС, Data, MVC) и Java Core (Collections, Streams, Exceptions, Threads, jdbc);
- Понимаешь принципы ООП, знаком с паттернами проектирования и умеешь их правильно применять;
- Умеешь писать SQL-запросы, анализировать план выполнения запроса и проводить оптимизацию;
- Имеешь опыт написания юнит и интеграционных тестов.
Хорошо, если ты:
- Имеешь хорошие знания по Spring (WebFlux, r2dbc, Security);
- Знаешь как работает Kafka, что такое продюсеры и консьюмеры;
- Имеешь навыки работы с Keycloak и ролевыми моделями;
- Имел опыт работы с BPM-движками (особенно с Camunda);
- Знаком с GraphQL (может пригодиться в перспективе).
Преимущества работы у нас:
- Оклад + годовой бонус;
- ДМС со стоматологией, полис для выезжающих за рубеж, доплата по больничному листу до 5 рабочих дней - 7 календарных;
- Корпоративная мобильная связь;
- Возможности для профессионального и карьерного развития;
-
Формат работы: удаленно ( так же возможен гибридный формат или работа в офисе (по-желанию));
- Проект пишется на базе Open source решений;
- В проектировании и разработке применяются новейшие технологии и подходы;
- Все архитектурные решения фиксируются в виде ADR (Architecture decision record);
- Постановки задач формализуются от бизнес-требований до SRS (Software requirements specification);
- Вся проектная документация ведется в едином пространстве Confluence;
- Над проектом работает опытная команда, применяется подход менторства.
Обслуживать клиентов: работать со счетами, пластиковыми картами и денежными переводами. Продавать банковские и страховые продукты (кредитные продукты, карты, вклады).
Обслуживать клиентов: работать со счетами, пластиковыми картами и денежными переводами. Продавать банковские и страховые продукты (кредитные продукты, карты, вклады).
Инженер-программист
Программист-разработчик
Хотелось бы, чтобы было корпоративное обучение.