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, Jira

  • Good 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