Обязанности:
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; Над проектом работает опытная команда, применяется подход менторства.