My Client is the leading innovation and transformation consultancy in the UK and they are currently in search of a highly talented Senior Java Developer to join their offices in London. Successful candidates will be helping to 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 will you 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 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.
Requirements for the Senior Java Developer
* Minimum of 5+ years of hands-on experience in Java software development
* 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.
Flexible and competitive benefits package which include private medical and dental insurance, a competitive pension scheme, cycle to work scheme.
Seniority level
Mid-Senior level
Employment type
Full-time
Job function
Information Technology
Industries
Technology, Information and Media
#J-18808-Ljbffr