The Role: Java Engineer Location: London (Must be SC Clearable) and live with 60 minutes of the offices. We are seeking an experienced Java Engineer to contribute to high-impact projects in a collaborative, innovative environment. This role requires expertise across software development principles, including Java OOP, multi-threading, web applications, REST services, testing frameworks, and more. The ideal candidate has a strong background in leadership, a problem-solving mindset, and a track record of delivering complex solutions. Key Responsibilities Apply Java object-oriented programming principles to design and implement scalable, robust solutions. Utilize Java 8 features (streams, functional interfaces, collections) to improve code clarity and maintainability. Demonstrate expertise in multi-threading, implement strategies to prevent deadlocks, and optimize performance through parallel processing and resource sharing. Design and develop web applications with MVC frameworks, applying dependency injection to enhance modularity and testability. Develop RESTful services using JAX-RS, adhering to best practices for API design and consumption. Conduct unit testing, mocking, and behavior-driven development with tools like JUnit, Wiremock, and Mockito; transition seamlessly from other frameworks, including TestNG. Create and execute automated integration tests with Cucumber and Gherkin for collaborative testing. Use OpenAPI Swagger to document APIs, ensuring clarity and ..... full job details .....