logo[мetahunt]
> Djinni
senior

Backend Engineer

format:Remotecompany:Product
javaspringpostgresqlsqlliquibasekafkarabbitmqmongodbdockerjunit
opentelemetryquartztemporal
experience6+ years
domainFintech
> full description

Основні обов'язки

  • Проєктування та розробка нових функціональних модулів складних інформаційних систем та Data-Core на базі Java 21+
  • Підтримка, рефакторинг та оптимізація існуючих програмних комплексів для підвищення їх продуктивності та стабільності
  • Розробка архітектури даних та проєктування схем баз даних (нормалізація, складені PK, Table-per-Type, зв'язки, цілісність, SQL та NoSQL)
  • Розробка чистого SQL та DAO-шару (Spring JdbcTemplate/NamedParameterJdbcTemplate, RowMapper)
  • Впровадження складних архітектурних патернів, таких як Saga та Orchestration (ідемпотентність, компенсаційні механізми), для забезпечення цілісності розподілених систем
  • Побудова високоефективних інтеграцій через REST API та черги повідомлень (Kafka/RabbitMQ)
  • Налаштування систем моніторингу та спостережуваності (Observability) за допомогою OpenTelemetry та Micrometer
  • Розробка метаданих-орієнтованої архітектури (Metadata-driven architecture) та створення декларативних шаблонів обробки даних (annotation-based генерація, рекурсивні структури/дерева)
  • Написання чистого, тестованого коду з використанням сучасних підходів до автоматизації тестування (JUnit 5, Testcontainers, Mockito)
  • Проєктування стратегій міграції даних та управління схемами через Liquibase (changeset-и, rollback)
  • Участь у процесах Code Review, управління гілками в Git (branching strategy, PR flow), обмін технічним досвідом всередині команди та менторство колег
  • Робота з Docker та Docker Compose для забезпечення консистентності середовищ розробки та розгортання

 

Основні вимоги

  • 6+ років досвіду комерційної розробки на Java
  • Глибоке знання Java 21+ (включаючи records, sealed classes, pattern matching, Stream API, var, Reflection, Generics, Annotation Processing)
  • Впевнене володіння Spring Boot 3.x/4.x (DI, Service/Component, Transactional, RestController, RestClient, HikariCP, Spring Security)
  • Глибокі знання PostgreSQL: JOIN/subquery, DDL (CREATE TABLE, FK, CONSTRAINT), індекси (типи, вибір індексів), query optimization, EXPLAIN
  • Написання чистого SQL + DAO (Spring JdbcTemplate/NamedParameterJdbcTemplate, RowMapper); SQL руками - обов'язково (ORM - як плюс)
  • Досвід управління схемами баз даних через Liquibase (changeset-и, migration strategies, rollback)
  • Досвід роботи з Jackson 2.x/3.x (convertValue, TypeReference, builder-based ObjectMapper конфігурація)
  • Досвід структурованого логування за допомогою Logback/SLF4J (MDC, custom appenders)
  • Навички роботи з Git (branching strategy, PR flow, code review)
  • Досвід роботи з брокерами повідомлень Kafka або RabbitMQ (проєктування топології, partitioning, робота з DLQ, розуміння гарантій доставки)
  • Практичні навички роботи з реляційними базами даних та MongoDB
  • Розуміння та застосування ідемпотентності та компенсаційних механізмів у розподілених транзакціях
  • Автоматизоване тестування: JUnit 5, Testcontainers, Mockito
  • Навички роботи з Docker та Docker Compose
  • Стабільність професійного досвіду (тривалі періоди роботи на одному місці, без job-hopping)
  • Високий рівень відповідальності, увага до деталей, аналітичне мислення та вміння працювати в команді

 

Буде перевагою

  • Досвід розробки Metadata-driven архітектури (декларативні шаблони, annotation-based генерація, рекурсивні структури/дерева)
  • Просунуте володіння PostgreSQL (JSONB, CTE, віконні функції, MVCC
  • Розуміння теорії графів (DAG traversal, topological sort.
  • Знання SpEL (Spring Expression Language) або інших мов виразів
  • Досвід налаштування Observability (OpenTelemetry, Micrometer)
  • Застосування патернів Saga / Orchestration
  • Досвід роботи з Quartz Scheduler (кластеризація, job, trigger, cron, persistent job store, стратегії обробки misfire)
  • Досвід роботи з Workflow Engines (Temporal, BPMN, state machines)
  • Практика Property-based тестування (jqwik)
  • Досвід використання MapStruct для мапінгу об'єктів
  • Розуміння архітектурних компромісів (Trade-offs: consistency vs performance, sync vs async)

 

Своїм співробітникам ми пропонуємо

  • Роботу в найбільшому та інноваційному банку України
  • Офіційне працевлаштування та 24+4 календарних дні відпустки
  • Компенсацію лікарняних
  • Конкурентну заробітну плату
  • Бонуси, премії відповідно до політики компанії
  • Медичне страхування
  • Корпоративне навчання
  • Можливість віддаленого формату роботи
  • Корпоративну фінансову допомогу у критичних ситуаціях