User not logged in.

Java Engineer

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.
To top