We are looking for an Software Development Engineer to join our Managed Services engineering team. You will build and run the backend services behind our Reconciliation and Trade Status products: REST APIs, batch data loaders, real-time notifications and high-volume grid data. You will own features end to end, from design through production support, and work with a small team that values clean, tested and observable code.
WHAT YOU WILL DO
* Design, build and maintain Spring Boot microservices in a Gradle multi-module monorepo.
* Develop secure REST APIs with role-based authorization and consistent error contracts.
* Write and tune Spring Batch jobs and data loaders that process large datasets safely (chunked writes, restartability, no OOM).
* Work with asynchronous messaging.
* Model data in PostgreSQL with JPA/Hibernate, Envers audit history and Liquibase migrations;
* Use Redis (Redisson) for caching, including Hibernate L2 cache and TTL/eviction design.
* Write unit and integration tests (JUnit, Mockito, Rest Assured, H2) and review peers' code.
* Own production quality: structured logging, trace IDs, metrics, Dynatrace dashboards, incident triage and root-cause analysis.
* Take part in design discussions, estimation and Jira-driven delivery.
REQUIRED QUALIFICATIONS
* 3–6 years of professional backend development experience, with strong Java skills (Java 17 features, concurrency, collections, streams).
* Hands-on experience with Spring Boot, Spring Data JPA, Spring Security and Hibernate.
* Solid SQL and PostgreSQL knowledge: indexing, execution plans, transactions and schema design.
* Experience building and consuming REST APIs, including authentication, authorization and validation.
* Experience with Gradle or a comparable build tool (Maven) and multi-module projects.
* Good testing discipline: unit, integration and API tests with meaningful assertions.
* Comfort with Git, CI/CD pipelines and code review workflows.
* Clear written and verbal communication; ownership mindset.
PREFERRED QUALIFICATIONS
* Spring Batch experience, including job design and large-volume data processing.
* Messaging experience with JMS, Kafka or similar.
* Redis caching experience (Redisson, Spring Cache, Hibernate L2 cache).
* Familiarity with AWS (S3, Cognito), observability tools (Dynatrace, Datadog) and Docker/Kubernetes. * Background in financial services, trade processing or reconciliation