Flexible working - We are guided by our client work and needs; however, you have autonomy to manage your time and diary to suit your work/life balance.
We are seeking a highly skilled and experienced Backend Developer 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.
Requirements
- 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.
Apply today by completing our online application
Â
PA Consulting
PA is a consulting firm focused on helping clients in the Energy Transition sector accelerate scientific and engineering solutions to market
Other jobs at PA Consulting
Â
Â
Â
Â
Â
Â
Â
Â
Notifications about similar jobs
Get notifications to your inbox about new jobs that are similar to this one.
No spam. No ads. Unsubscribe anytime.
Similar jobs
Â
Â
Â
Â
Â
Â
Â
Â