Middle Strong / Senior Java Developer
$$$$
Product
Основні обов'язки
- Проєктування та розробка нових функціональних модулів складних інформаційних систем на базі Java 21
- Підтримка, рефакторинг та оптимізація існуючих програмних комплексів для підвищення їх продуктивності та стабільності
- Розробка архітектури даних та проєктування схем баз даних (SQL та NoSQL)
- Впровадження складних архітектурних патернів, таких як Saga та Orchestration, для забезпечення цілісності розподілених систем
- Побудова високоефективних інтеграцій через REST API та черги повідомлень (Kafka/RabbitMQ)
- Налаштування систем моніторингу та спостережуваності (Observability) за допомогою OpenTelemetry та Micrometer
- Розробка метаданих-орієнтованої архітектури (Metadata-driven architecture) та створення декларативних шаблонів обробки даних
- Написання чистого, тестованого коду з використанням сучасних підходів до автоматизації тестування (JUnit 5, Testcontainers)
- Участь у процесах Code Review, обмін технічним досвідом всередині команди та менторство колег
- Проєктування стратегій міграції даних та управління схемами через Liquibase
- Участь у прийнятті архітектурних рішень та виборі технологічного стека для нових підсистем Робота з Docker та Docker Compose для забезпечення консистентності середовищ розробки та розгортання
Основні вимоги
- 5+ років досвіду комерційної розробки на Java
- Глибоке знання Java 21 та вище (включаючи Reflection, Generics, Annotation Processing, Records, Sealed classes, Pattern matching)
- Впевнене володіння Spring Boot 3.x/4.x (Spring Security, RestClient, HikariCP)
- Досвід роботи з Jackson 2.x/3.x на рівні конфігурування ObjectMapper та використання TypeReference/builder-based підходів
- Практичні навички роботи з реляційними базами даних (PostgreSQL) та розуміння принципів роботи MongoDB
- Впевнене знання SQL та досвід проєктування складних схем (нормалізація, індексація, Table-per-Type)
- Досвід роботи з брокерами повідомлень Kafka або RabbitMQ (проєктування топології, partitioning, робота з DLQ, розуміння гарантій доставки)
- Розуміння та застосування ідемпотентності та компенсаційних механізмів у розподілених транзакціях
- Навички роботи з Docker та Git (розуміння branching strategy та PR flow)
- Досвід структурованого логування за допомогою Logback/SLF4J (MDC, custom appenders)
- Високий рівень відповідальності та увага до деталей
- Здатність до інноваційного мислення та нестандартних рішень
- Вміння працювати в команді, прозорість у комунікаціях та довіра до колег
- Фокус на потребах клієнта та кінцевого користувача
- Стресостійкість та здатність ефективно працювати в умовах стислих термінів
- Критичне мислення та аналітичний підхід до вирішення проблем
Буде перевагою
- Розуміння теорії графів (DAG traversal, topological sort)
- Досвід роботи з Workflow Engines (Temporal, BPMN) та розуміння State Machines
- Просунуте володіння PostgreSQL (JSONB, CTE, віконні функції)
- Досвід роботи з Quartz Scheduler (кластеризація, стратегії обробки misfire)
- Знання SpEL (Spring Expression Language) або інших мов виразів
- Практика Property-based тестування (jqwik)
- Досвід використання MapStruct для мапінгу об'єктів
- Розуміння архітектурних компромісів (Trade-offs: consistency vs performance, sync vs async)
Своїм співробітникам ми пропонуємо
- Роботу в найбільшому та інноваційному банку України
- Офіційне працевлаштування та 24+4 календарних дні відпустки
- Компенсацію лікарняних
- Конкурентну заробітну плату
- Бонуси, премія відповідно до політики компанії
- Медичне страхування
- Корпоративне навчання
- Можливість віддаленого формату роботи
- Корпоративну фінансову допомогу у критичних ситуаціях
Required languages
English
A2 - Elementary
Ukrainian
C2 - Proficient
Java, Spring Boot, Docker, Java Core, MongoDB, PostgreSQL, RebbitMQ/Kafka, REST API, JUnit
Published 27 July
87 views
·
10 applications
See stats of candidates who applied for this job 👀
📊
Average salary range of similar jobs in
analytics →
Loading...