Java Software Engineer

Anson McCadeLondon, 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.