Обязанности:
•Разработка нового функционала в микросервисной архитектуре на Java 17+ и Spring Boot 3.0.
•Написание REST API и реализация бизнес-логики.
•Работа с базой данных PostgreSQL: написание SQL-запросов, работа через Spring Data JPA / Hibernate.
•Взаимодействие с брокером сообщений RabbitMQ (реализация логики отправки и обработки сообщений).
•Использование Redis для кэширования данных.
•Покрытие своего кода тестами (JUnit 5, Mockito, Testcontainers).
•Документирование своего API (Swagger/OpenAPI).
Требования:
•Опыт: коммерческий опыт разработки на Java от 1 года.
•Java Core: отличное знание Java Core (Collections, Stream API, Optional, работа с исключениями). Понимание нововведений Java 11-17.
•Spring Framework: уверенный опыт работы со Spring Boot (знание структуры проекта, Dependency Injection, Profile configuration). Опыт перехода или начала работы с версией 3.0 будет большим плюсом.
•PostgreSQL: уверенное знание SQL (сложные выборки, JOIN, Group By). Понимание, что такое транзакции.
•Асинхронность: понимание принципов работы очередей сообщений. Базовый опыт работы с RabbitMQ (знать, что такое Exchange, Queue, Routing Key).
•NoSQL: базовое понимание, зачем нужен Redis и как с ним работать из Java.
Инструменты: Git, Maven/Gradle, Docker (умение поднять базу/брокер в контейнере локально).
Будет плюсом:
•Camunda: опыт работы с BPMN-движками (Camunda), понимание нотации BPMN 2.0, умение писать Java Delegates.
•Опыт работы с Liquibase/Flyway.
•Планировщики: понимание, как работают фоновые задачи. Опыт настройки Quartz (понимание, что такое Job, Trigger, Cron expressions) или уверенное владение Spring Scheduler.
•Опыт написания интеграционных тестов с использованием Testcontainers.
•Базовые знания Linux.
Условия:
•График работы 5/2.
•Трудоустройство согласно законодательству РУз.
•Менторство со стороны опытных коллег (Middle/Senior).