Java Software Engineer
Role details
Job location
Tech stack
Job description
We're seeking a UI/UX-focused Senior Eclipse RCP / SWT Engineer to design and build high-performance Java thick-client applications using Eclipse RCP, OSGi, SWT, and JFace. You will partner with product, UX, and domain experts to deliver intuitive, robust, and responsive..., Join Barclays as a UI Developer, contributing to the Investment Banking division by enhancing and expanding platforms within Securitized Products. This is a hands-on role where you will design and build high-quality user interfaces while ensuring excellent user...
Requirements
We're seeking a UI/UX-focused Senior Eclipse RCP / SWT Engineer to design and build high-performance Java thick-client applications using Eclipse RCP, OSGi, SWT, and JFace. You will partner with product, UX, and domain experts to deliver intuitive, robust, and responsive scientific desktop software used by geoscience professionals. The ideal candidate combines deep desktop UI engineering with strong multithreading/concurrency and applied mathematics, capable of implementing complex, long-running algorithms off the SWT UI thread while maintaining a smooth, accessible user experience.About the RoleDesign & build rich desktop UIs with Eclipse RCP (perspectives, views, editors, commands/handlers, extension points) using SWT/JFace and established UI/UX patterns (MVP/MVC, event-driven design).ResponsibilitiesImplement OSGi modular architectures (bundles, services, dependency management), ensuring clean isolation between components and well-defined interfaces.Engineer context-aware behaviors across the application: understand and extend how actions (e.G., button press) propagate through Eclipse Command/Handler/Context and OSGi Service Registry to deliver predictable, traceable outcomes.Build and optimize multi-threaded features: move long-running scientific computations off the UI thread using the Eclipse Jobs API, executors, and background tasks; update UI safely via Display.AsyncExec/syncExec.Ensure UI responsiveness & performance for large datasets: job scheduling, progress reporting, cancellation, virtualized tables/viewers, and efficient rendering.Apply software design patterns and domain-driven design to keep code modular, testable, and maintainable.Collaborate with product and UX to translate scientific/geology workflows into usable, high-signal interfaces; instrument and iterate based on usability feedback.Write clean, testable code with unit tests (e.G., JUnit), UI tests (e.G., SWTBot), and profiling/diagnostics for memory and performance.Participate in code reviews, architecture discussions, and CI/CD build pipelines (Tycho/Maven/Gradle as applicable).Contribute domain insights to data visualization and computational geometry/mathematics features (e.G., regression, derivatives, geometry operations). QualificationsBS in Computer Science (or related) and 10+ years of professional software engineering experience.7+ years building Java thick-client desktop applications with Eclipse RCP: Plugins/features/products, extension points, p2, perspectives/views/editors, Commands/Handlers/Contexts.Expertise in OSGi: Bundles, lifecycle, services, dependency injection/management, service tracking, modular isolation.Strong SWT/JFace: Layouts, events, custom widgets/controls, JFace viewers (Table/Tree), dialogs, wizards, actions.Advanced Core Java (Java 8+): Concurrency (threads, executors, futures, synchronization), collections, generics, streams, and design patterns (Factory, Strategy, Observer, Command, etc.).Proven multithreaded UI experience: Delivering long-running computations without UI freezes; correct use of the SWT single-threaded model and UI thread marshaling.Performance & scalability: Background jobs, cancellation, progress UI, memory/performance profiling, large dataset handling/virtualization.Applied mathematics for scientific applications: Calculus (including derivatives), geometry, statistical regression/line fitting, numerical methods; comfort validating algorithmic correctness and precision.Geology/Geoscience domain experience (or demonstrable experience rapidly acquiring complex scientific domains).Debugging & diagnostics: Event tracing across OSGi/Eclipse contexts, thread dumps, heap/CPU profiling, logging frameworks. Required SkillsExperience with computational geometry, coordinate systems, and scientific data visualization in desktop apps.Exposure to geospatial/GIS concepts (e.G., projections) and data formats.Knowledge of Tycho/Maven RCP build pipelines; p2 repositories, feature/product builds, update sites.Experience with SWTBot or similar UI testing frameworks.Familiarity with numerical libraries and precision/robustness techniques.Cross-language integration (e.G., JNI to C/C++ modules) or Python interop for scientific workflows. Preferred Skills30 days: get hands-on with the codebase; map key OSGi bundles/services; profile a representative workflow to identify UI thread pressure points; ship small UX improvements.60 days: refactor 1-2 long-running algorithms to background jobs with proper progress/cancel and safe UI updates; implement or fix context-aware command/handler flows.90 days: deliver a performant, user-validated feature that combines multithreading, mathematical rigor, and geology-centric UX (e.G., a geometry/derivative/regression tool with responsive visualization on large datasets).How we work: Quality & UX first: We value responsive UIs, clear feedback, and accessible designs for expert users. Modularity & maintainability: Clean OSGi boundaries, contract-first design, and test coverage. Evidence-driven iteration: Profile, instrument, and improve based on real usage.Equal Opportunity StatementWe are committed to diversity and inclusivity. Similar jobs
Benefits & conditions
Job Description Senior Java Engineer - Permanent Salary: 55k-65kWorking Arrangement: Fully RemoteTech Stack: Java, Spring Boot and Cloud Platforms(AWS, Azure and GCP)Desirable - Python and JavaScript I am currently working with a leading software software consultancy...