> Djinni
senior
Backend Engineer
format:Remotecompany:Product
javaspringkafkarabbitmqany one ofkafkapostgresqlsqlmicroservicesliquibasejunitmockitotestcontainersdockerrest-api
temporalcamundaopentelemetryprometheusmongodbquartz
> full description
Основні обов'язки
- Проєктування та розробка нових функціональних модулів і ключових сервісів складних інформаційних систем на базі Java 21+
- Впровадження архітектурних патернів для розподілених систем (Saga, Orchestration, ідемпотентність, компенсаційні механізми) для забезпечення консистентності бізнес-процесів
- Побудова високонадійних інтеграцій через REST API та черги/брокери повідомлень (Kafka / RabbitMQ)
- Проєктування моделі даних та оптимізація взаємодії сервісів із базами даних (SQL / NoSQL)
- Розробка метаданих-орієнтованої архітектури (Metadata-driven architecture) та декларативних механізмів обробки даних
- Налаштування систем моніторингу та спостережуваності (Observability) за допомогою OpenTelemetry та Micrometer
- Підтримка, рефакторинг та оптимізація існуючих сервісів для підвищення продуктивності та Fault Tolerance
- Написання чистого, тестованого коду; розробка автотестів (JUnit 5, Testcontainers, Mockito)
- Контроль міграцій схем даних (Liquibase) у рамках CI/CD процесів
Участь у Code Review, керування процесами в Git (branching strategy, PR flow), обмін досвідом і менторство колег
Основні вимоги
- 5+ років комерційного досвіду розробки на Java
- Глибокі знання Java 21+ (records, sealed classes, pattern matching, modern Stream API, Concurrency, Generics)
- Впевнене володіння стеком Spring Boot 3.x (Core, DI, Web/RestClient, Security, Transactions)
- Досвід проєктування мікросервісної або модульної архітектури, розуміння патернів розподілених транзакцій та ідемпотентності
- Практичний досвід роботи з чергами та брокерами повідомлень (Kafka або RabbitMQ): розуміння топології, партиціонування, DLQ, семантик доставки
- Впевнений досвід роботи з реляційними базами даних (PostgreSQL): написання та оптимізація SQL-запитів, розуміння індексації та роботи пулів з'єднань (HikariCP)
- Досвід роботи з рівнем доступу до даних (Spring Data / JdbcTemplate / ORM) та інструментами версіонування схем (Liquibase)
- Досвід автоматизації тестування: JUnit 5, Testcontainers, Mockito
- Досвід роботи з Docker, Docker Compose та Git
- Розуміння практик структурованого логування та моніторингу додатків
- Стабільність професійного досвіду (тривалі періоди роботи на проєктах, орієнтація на довгострокову співпрацю)
- Високий рівень автономності, системне аналітичне мислення та відповідальність за архітектурні рішення
Буде перевагою
- Досвід побудови Metadata-driven архітектури (декларативні підходи, кодогенерація, робота з деревами/графами)
- Досвід роботи з Workflow Engines (Temporal, Camunda/BPMN, state machines)
- Практичний досвід налаштування Observability (OpenTelemetry, Prometheus, Micrometer, Distributed Tracing)
- Досвід роботи з NoSQL сховищами (наприклад, MongoDB)
- Досвід роботи з планувальниками завдань (Quartz Scheduler: кластеризація, стратегії misfire)
- Знання SpEL (Spring Expression Language) або інших expression engines
- Практика Property-based тестування (jqwik)
- Глибоке розуміння архітектурних компромісів (Trade-offs: Consistency vs Performance, Sync vs Async)
Своїм співробітникам ми пропонуємо
- Роботу в найбільшому та найбільш інноваційному банку України
- Офіційне працевлаштування та 24+4 календарних дні оплачуваної відпустки
- Оплачувані лікарняні
- Конкурентну заробітну плату з регулярним переглядом
- Бонуси та премії відповідно до внутрішньої політики компанії
- Медичне страхування
- Корпоративне навчання, тренінги та доступ до внутрішніх баз знань
- Гнучкий графік та можливість повністю віддаленого формату роботи
- Корпоративну фінансову допомогу в критичних життєвих ситуаціях