Java Developer
About this role
Senior Java Developer (TMS)
Job Responsibilities:
• Design and implementation of IT solutions based on the presented analytical and technical documentation;
• Reviewing analytical documentation;
• Creating technical documentation;
• Technical upgrade for existing system;
• Working with legacy code
• Conducting regular scans of the application and removing vulnerabilities
Job Requirements:
• Fully available in the Polish time zone;
• Ability to work from the office in Warsaw (weekly: 4 days at the office + 1 day WFH );
• Very good knowledge of Java 8+ and object-oriented programming issues;
• Experience in independent design, implementation, documentation, and testing of application components;
• Very good and practical knowledge of Spring, Spring Boot, Hibernate/JPA, and JEE frameworks;
• Practical knowledge with message queue systems, particularly RabbitMQ;
• Practical knowledge of tools supporting the software development process: Maven, Git, Gitlab, Gitlab CI/CD, Jenkins, Nexus, Jira;
• Knowledge of relational databases, in particular Oracle;
• Practical knowledge of RESTful API design;
• Experience in system integration;
• Experience with distributed systems;
• Experience with application servers, JBoss/WildFly;
· Knowledge of scanning tools (Fortify, Sonatype..)
• Knowledge of English / B2;
Description of the area of involvement:
TMS (Terminal Management System) is used to manage a very large number of payment terminals (300k+). It gives users a uniform way to manage different terminals from different hardware vendors.
TMS has a complex architecture, consisting of two components: TMS (1 WildFly instance), providing a GUI and implementing some business functions, and RTMS (3 Spring-boot instances), implementing most of the business functionalities. A gradual migration from TMS to RTMS is being carried out.
The system intensively uses Spring, Hibernate, and RabbitMQ.
The system has distributed transactions (different two-phase-commit, saga approaches) and a distributed cache (Hazelcast).
TMS is integrated with many internal and external systems (via REST, SOAP, RMI, direct database connections, and database links).
The GUI is written in GWT and GWTExt.
