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 consistency.
Maintain code quality with SonarQube and security using Redhat SSO.
Leverage a variety of libraries and frameworks, including Feign, Mustache, Spring, Guice, Swagger, and Spring Boot.
Work with data storage solutions such as ElasticSearch, RDS, Aurora, Postgres, ElasticCache, OpenSearch, and Debezium.
Handle hosting and orchestration with Docker, Kubernetes, and AWS Autoscaling Groups (ASG).
Oversee web container management using Tomcat and NGINX.
Implement monitoring and logging solutions using the ELK stack.
Set up and manage CI/CD pipelines with BitBucket, Maven, Terraform, Jenkins, Ansible/Packer, and Kustomize.
Work with Kafka and SQS for queuing solutions, and implement scheduling using Jenkins/Ansible.
Utilize Cucumber, JUnit, Selenium, and Postman for comprehensive testing.
Qualifications
Minimum of 5 years of hands-on experience in Java development with leadership responsibilities.
Extensive experience with the specified technologies and tools.
Proven ability to design, implement, and deliver complex software solutions.
Strong problem-solving and analytical skills.
Excellent communication and collaboration skills.
Security clearance (SC) eligibility is essential for this role.
If you’re a motivated Java Engineer looking to make an impact, we encourage you to apply. Even if you don’t meet every qualification, we’d love to hear from you.
Additional Information
Benefits:
Private medical insurance
Travel allowance
25 days of annual leave with the option to purchase an additional 5 days
Company pension scheme
Annual performance-based bonus
Life and income protection insurance
Tax-efficient benefits (cycle to work, charitable giving schemes)
Optional benefits (dental, critical illness, partner life assurance)
Flexible working – you’ll have autonomy to manage your schedule while aligning with project needs.