Job description
We are seeking a skilled and detail-oriented Java developer to join the Payments Engineering team. The candidate will work in a pod with 3-4 experienced Java developers and focus on adapting legacy applications for non-discretionary ISO20022 changes, which is a new financial messaging standard. An ideal candidate thrives in complex environments, is able to work under time pressure, is keen to understand business logic and excels at reverse engineering a complex code base to implement high-impact changes.
Key Responsibilities
Participate in requirements gathering sessions with business users Participate in analysis, solution design and planning the work with the Engineering team Implement and test changes, participate in code reviews, assist in UAT and code releases Think outside the box when implementing changes and improve the stack as you go along.
The position requires 4 days/week in the office.
Qualifications
A Bachelor's or Master's degree in a computational field (Computer Science, Engineering, Applied Mathematics or a related quantitative discipline) 4+ years of relevant work experience. A solid grasp of Java, Spring, Hibernate, and DB2 Spring Boot — dependency injection, auto-configuration, Spring Data, Spring Security Apache Kafka — producers, consumers, Kafka Streams (stateful processing, state stores, aggregation), and Kafka Connect MongoDB — document modelling, Spring Data MongoDB Maven — multi-module project management, dependency resolution, build lifecycle Docker — containerization, image builds RESTful API design and development Experience with event-driven / microservices architectures in a distributed systems environment Familiarity with Git and CI/CD pipelines (GitLab CI preferred) Preferred: Angular IBM MQ / JMS — queue managers, channels Infrastructure as Code — infrastructure provisioning and management ISO 20022 or financial messaging standards (SWIFT, CBPR+, FIN) Python scripting Experience in financial services, payments, or banking technology Strong analytical skills Ability to collaborate effectively and work in a global team Ability to stay commercially focused, whilst not losing sight of code quality Good communication skills.
Strong work ethic, ownership, willingness to engage and be challenged