COSMOTE Global Solutions NV is looking for a skilled Software Engineer Java Specialist to join our dynamic ICT team. As a leading ICT Systems Integrator and a part of the OTE Group, we provide comprehensive ICT solutions and services to help our clients drive digital transformation.
Key Responsibilities:
- Design, develop, and maintain Java-based software applications and components.
- Collaborate with cross-functional teams to analyze requirements and translate them into scalable software solutions.
- Implement best practices in software design, coding standards, and testing methodologies.
- Contribute to the entire software development lifecycle, including architecture, development, testing, deployment, and maintenance.
- Troubleshoot and resolve software-related issues and provide timely solutions.
- Maintain up-to-date technical documentation and support knowledge sharing across the development team.
- Stay current with emerging technologies and industry trends to recommend process and technology improvements.
Requirements
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
- 11+ years of professional experience as a software engineer working with Java, Jakarta EE / Java EE, and modern Spring Boot applications (Java 17; preferably Java 21 or higher), ideally contributing to migration or modernization scenarios.
- Solid understanding of modern application architecture, including microservices, clean APIs, modular backend design, and frontend backend integration (React + Spring Boot).
- Experience with relational databases, including legacy systems such as Sybase and modern targets such as Oracle, or MS SQL Server.
- Strong knowledge of REST, SOAP web services, JMS, Unix shell scripting, Apache Kafka, and JSON based integration patterns.
- Working knowledge of DevOps and CI/CD practices, particularly in modernization contexts (pipeline automation, quality gates, artefact promotion, deployment patterns).
- Hands on experience with enterprise development and integration tooling:
- Jenkins (build & deploy pipelines),
- Maven (dependency & build management),
- SonarQube (code quality & security scanning),
- Liquibase (database schema migrations),
- JUnit (backend unit tests),
- GitHub (version control & pu l request workflows),
- Azure Cloud & Azure DevOps (pipelines, repos, boards).
- Understanding of SDLC methodologies, including Agile/Scrum and Waterfall.
- Ability to work both independently and within a team migrating from legacy to modern stacks.
- English proficiency at B2 CEFR or equivalent.
Preferred knowledge / experience:
- Strong ability to analyze and understand complex legacy source code, map dependencies, determine migration paths, and align technical decisions with business objectives.
- Experience with Spring Framework 6.x and Spring Boot 3.x (microservices, Actuator, Observability, native compilation optional).
- Experience with JPA / Hibernate and migration of persistence layers to MS SQL Server.
- Strong knowledge of JUnit/TestNG and mocking frameworks such as Mockito.
- Familiarity with legacy and modern application platforms, including JBoss, Tomcat, Node.js, and Spring Boot.
- Experience with integration technologies and event driven microservices, preferably using Apache Camel or Spring Integration.
- Hands on experience with the Temporal workflow engine, especially for replacing legacy long running workflows or scheduling mechanisms.
- Exposure to React/TypeScript frontend ecosystems or willingness to collaborate closely with React engineers during the modernization process.