Job description
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 p ractical 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/Wild. Fly;
- 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 Wild. Fly 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.