Senior Java Developer
Summary
Senior Java developer builds and refactors a large-scale terminal management system using Spring, Hibernate, and WildFly, migrating legacy components to modern microservices.
About the Project
The Terminal Management System (TMS) is a large-scale platform used to manage over 300,000 payment terminals, providing a unified way to operate devices from multiple hardware vendors.
The system has a complex, distributed architecture consisting of:
TMS – a WildFly-based application providing GUI and selected business functionalities
RTMS – three Spring Boot–based services implementing most of the business logic
A gradual migration from TMS to RTMS is currently in progress.
The platform makes extensive use of Spring, Hibernate, RabbitMQ, distributed transactions (2PC, Saga patterns), and distributed cache (Hazelcast).
It is integrated with multiple internal and external systems via REST, SOAP, RMI, and direct database connections.
The GUI layer is implemented using GWT and GWTExt.
Responsibilities
Design and implement IT solutions based on analytical and technical documentation
Review analytical documentation and propose technical improvements
Create and maintain technical documentation
Perform technical upgrades of existing systems
Work with and refactor legacy code
Conduct regular application security scans and remove identified vulnerabilities
Requirements
Full availability in the Polish time zone
Ability to work from the Warsaw office (4 days onsite + 1 day WFH weekly)
Very good knowledge of Java 8+ and object-oriented programming
Experience in independent design, implementation, documentation, and testing of application components
Strong hands-on experience with Spring, Spring Boot, Hibernate/JPA, and JEE
Practical experience with message queue systems, especially RabbitMQ
Hands-on knowledge of development and CI/CD tools:
Maven, Git, GitLab, GitLab CI/CD, Jenkins, Nexus, JiraGood knowledge of relational databases, particularly Oracle
Practical experience in RESTful API design
Experience with system integration and distributed systems
Experience with application servers such as JBoss / WildFly
Knowledge of security scanning tools (e.g. Fortify, Sonatype)
English proficiency at B2 level or higher