Job Description
We are seeking a Senior Java Developer to help modernize a legacy desktop application and migrate it to a modern Java ecosystem. This role requires strong experience with Java desktop applications, system integrations, and modern backend architectures.
If you enjoy working on complex engineering problems, legacy modernization, and native integrations, this project will be a great fit.
Project Overview
The current system is a Java 8 desktop application that interacts with local hardware and security components. Your mission will be to modernize the application while ensuring stability and backward compatibility.
Key modernization goals include:
- Migrating to Java 17+
- Improving performance and code maintainability
- Reworking local communication using modern APIs
- Updating the desktop UI stack
- Strengthening integrations with hardware and security tools
Responsibilities
- Migrate legacy Java 8 application to modern Java (17+)
- Refactor and optimize legacy code
- Introduce modern frameworks such as Spring Boot
- Redesign local communication using REST APIs
- Maintain integrations with hardware devices (scanners, tokens, certificate stores)
- Work with native libraries such as Java Native Interface
- Modernize desktop UI built with JavaFX or alternatives
- Collaborate with engineering, QA, and product teams
- Participate in code reviews and technical documentation
Required Skills
- 5+ years of professional experience as a Java Developer
- Strong expertise in Java 11+ (Java 17–25 preferred)
- Experience building desktop applications (JavaFX, Swing, etc.)
- Strong understanding of REST API architecture
- Experience with embedded servers and modular systems
- Native integrations (JNI or system-level libraries)
- Knowledge of Git workflows and CI/CD pipelines
- Strong communication skills in English
Nice to Have
- Experience with hardware integrations
- Knowledge of certificate stores and cryptographic devices
- Digital signature workflows
- Experience modernizing legacy enterprise software
Ideal Candidate
You are someone who:
- Works independently and takes ownership
- Pays attention to technical detail
- Can safely refactor legacy systems
- Communicates clearly with distributed teams
Application Requirements
Please include:
- Short professional introduction
- GitHub / portfolio / code samples
- Relevant experience with:
- Java migrations
- Desktop applications
- Hardware or native integrations