Overview
Our client teams operate globally from offices in the UK, Ireland, US, Nordics, and Netherlands. With diverse teams of experts combine innovative thinking and breakthrough technologies to progress further, and faster. Their clients adapt and transform, and together they achieve enduring results.
Working with clients in consumer and manufacturing, defence and security, energy and utilities, financial services, government and public services, health and life sciences, and transport. The Java Engineer will join the business at a period of huge growth.
Job description
We are seeking highly skilled and experienced Java Engineers with expertise spanning various aspects of software development, including Java OOPS concepts, Java 8 features, multi-threading, web applications, REST services, testing frameworks, and more. The ideal candidate will have a solid background in leadership and a proven track record of successful project implementation.
Key Responsibilities:
- Apply strong object-oriented programming principles in Java to design and implement robust and scalable solutions.
- Leverage Java 8 features, including streams, functional interfaces, and collections, to enhance code readability and maintainability.
- Demonstrate a deep understanding of multi-threading concepts, implement strategies to avoid deadlocks, and optimize performance through parallel runs and resource sharing.
- Design and develop web applications using MVC frameworks, incorporating dependency injection for improved modularity and testability.
- Implement RESTful services using JAX-RS and adhere to best practices for designing and consuming REST APIs.
- Utilize JUnit, Wiremock, and Mockito for effective unit testing, mocking, and behaviour-driven development. Transition from other frameworks seamlessly, including TestNG.
- Develop and execute automated integration tests using Cucumber and Gherkin for efficient and collaborative testing.
- Use OpenAPI Swagger to specify and document exposed APIs, ensuring clarity and consistency.
- Implement code quality checks using SonarQube and ensure security through Redhat SSO.
- Utilise a range of libraries and frameworks, including Feign, Mustache, Spring, Guice, Swagger, and Spring Boot.
- Work with various data storage solutions, including ElasticSearch, RDS, Aurora, Postgres, ElasticCache, OpenSearch, and Debezium.
- Implement hosting and orchestration using 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 the CI/CD pipeline using BitBucket, Maven, Terraform, Jenkins, Ansible/Packer, and Kustomize.
- Work with Kafka, SQS for queuing solutions and implement scheduling using Jenkins/Ansible.
- Use a combination of Cucumber, JUnit, Selenium, and Postman for comprehensive testing.
Qualifications
- Minimum of 5 years of hands-on experience in Java software development with leadership responsibilities.
- Extensive experience in 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.
We know the skill-gap and ‘somewhat need to tick every box’ can get in the way of meeting brilliant candidates, so please don’t hesitate to apply – we’d love to hear from you.
Additional information
Benefits
- Private medical insurance
- Travel allowance
- 25 days annual leave with the opportunity to buy 5 additional days
- Company pension scheme
- Annual performance-based bonus
- Life and Income protection insurance
- Tax efficient benefits (cycle to work, give as you earn)
- Additional optional benefits (Dental, critical illness, spouse/partner life assurance)
£55k-£60k plus bonus