We are seeking an experienced JavaFX Developer to design and develop rich, interactive desktop applications with a strong focus on performance, scalability, and elegant user experiences. The ideal candidate has deep expertise in JavaFX, core Java, and modern UI/UX design patterns, along with a proven ability to architect and deliver complex applications. You will collaborate with architects, backend developers, and designers to build responsive, modular, and high-performance applications used across enterprise environments. The role involves a balance of hands-on development, technical leadership, and mentoring responsibilities.
Key Responsibilities
-
Design and implement advanced desktop applications using JavaFX, including custom controls, animations, and reusable UI components.
-
Integrate frontend components with backend systems via REST APIs, WebSockets, or message brokers.
-
Ensure applications are performant, responsive, and maintainable across different operating systems.
-
Define and implement architectural patterns such as MVVM/MVC with dependency injection frameworks.
-
Maintain clean separation of concerns and scalable component structure.
-
Profile and optimize rendering, data binding, and asynchronous task handling.
-
Diagnose performance bottlenecks using tools like VisualVM, JProfiler, or Java Mission Control.
-
Implement automated unit and UI tests using JUnit, Mockito, and TestFX.
-
Conduct code reviews and enforce best practices in maintainability, readability, and test coverage.
-
Work closely with UX designers and backend teams to refine requirements and deliver high-quality features.
-
Document architecture, workflows, and components for long-term maintainability
Job Requirements
Technical Skills
-
Proficiency in Java 8+ (preferably Java 17+), including collections, multithreading, streams, and generics.
-
Deep expertise in JavaFX (FXML, Scene Builder, CSS styling, custom components, animation, and 3D API).
-
Strong understanding of MVVM/MVC patterns and dependency injection frameworks.
-
Experience with REST APIs, WebSocket integration, and asynchronous programming.
-
Hands-on experience with Maven/Gradle, Git, and CI/CD tools (e.g., Jenkins, Azure DevOps, GitHub Actions).
-
Familiarity with unit testing and UI automation tools like JUnit, Mockito, and TestFX.
-
Ability to tune performance and optimize UI rendering.
-
Experience with third-party JavaFX libraries (ControlsFX, DevExpress).
-
Familiarity with microservices communication (gRPC, event-driven design).
Education and Experience
-
Bachelor’s or Master’s degree in Computer Science, Software Engineering, or equivalent field.
-
Minimum 5 years of software development experience, with at least 2 years focused on JavaFX.
Soft Skills
-
Strong analytical and problem-solving capabilities.
-
Excellent communication and teamwork skills.
-
Attention to detail with a focus on quality and maintainability