Основні обов'язки
Проєктування та розробка нових функціональних модулів складних інформаційних систем на базі 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 календарних дні відпустки
Компенсацію лікарняних
Конкурентну заробітну плату
Бонуси, премія відповідно до політики компанії
Медичне страхування
Корпоративне навчання
Можливість віддаленого формату роботи
Корпоративну фінансову допомогу у критичних ситуаціях


