Java Software Engineer
Anson McCade — London, GB
- Published on
About the Role
My Client is the leading innovation and transformation consultancy in the UK, currently in search of a highly talented Java Developer to join their offices in London. As part of the team, you will help develop and deliver next-generation communication and intelligence solutions for a wide range of clients such as law enforcement agencies, telecommunications companies, and compliance agencies.
What You Will Be Doing
- 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 behavior-driven development.
- Develop and execute automated integration tests using Cucumber and Gherkin for efficient and collaborative testing.
- Use OpenAPI Swagger to specify and document APIs, ensuring clarity and consistency.
- Implement code quality checks using SonarQube and ensure security through RedHat SSO.
- Work with various libraries and frameworks, including Feign, Mustache, Spring, Guice, Swagger, and Spring Boot.
- 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.
- Manage the CI/CD pipeline using BitBucket, Maven, Terraform, Jenkins, Ansible/Packer, and Kustomize.
- Work with Kafka and SQS for queuing solutions and implement scheduling using Jenkins/Ansible.
Requirements for the Ideal Java Developer
- Minimum of 3+ years of hands-on experience in Java software development.
- Extensive experience with 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.
Benefits
- £50,000-£60,000 + 10% bonus.
- Flexible and competitive benefits package including private medical/dental insurance, a competitive pension scheme, cycle to work scheme, taste cards, and more.