Job Description
Job Type: Contract / Freelance
Experience Level: Senior (5+ years)
Language Requirement: Advanced English (daily communication)
Role Overview
We are looking for an experienced Senior Java Developer to help modernize an existing desktop-based software solution. The ideal candidate has strong expertise in modern Java, legacy system refactoring, and integrations with local hardware and native libraries.
You will work in a fast-paced technical environment, collaborating with engineers, QA teams, and product stakeholders to deliver reliable and scalable solutions.
Key Responsibilities
- Migrate a Java 8 desktop application to Java 17 or later
- Refactor and optimize legacy code while maintaining backward compatibility
- Evaluate and implement modern frameworks such as Spring Boot
- Redesign local system communication using REST APIs
- Maintain integrations with hardware devices such as scanners, tokens, and certificate stores
- Work with native libraries (JNI / JNDI) and handle compatibility with 32-bit components
- Modernize the desktop UI layer using JavaFX or alternative technologies
- Participate in code reviews, architecture discussions, and technical documentation
- Collaborate with cross-functional teams to deliver production-ready features
Required Skills
- 5+ years of experience as a Java Developer
- Strong proficiency in Java 11+ (preferably Java 17–25)
- Experience building desktop applications (JavaFX, Swing, etc.)
- Solid understanding of REST APIs and modular architectures
- Experience with native integrations or hardware-level communication
- Knowledge of certificate stores, cryptographic devices, or digital signatures
- Familiarity with Git, CI/CD pipelines, and Agile development
- Strong problem-solving and communication skills
Ideal Candidate
- Comfortable working independently
- Detail-oriented and proactive
- Experienced with modernization of legacy systems
- Able to communicate clearly with distributed teams
Application Process
Please include the following in your proposal:
- Brief professional introduction
- Portfolio, GitHub, or code samples
- Relevant experience with:
- Java migrations
- Desktop applications
- Hardware integrations
Important:
Applications are accepted only through this platform.