Job Description
This Java Engineer role is tailored for professionals with a strong background in Java software development and a proven ability to deliver complex, high-quality solutions.
Key Responsibilities:
* Design and implement scalable solutions using Java OOP principles and Java 8 features like streams and functional interfaces.
* Optimize performance with multi-threading techniques and ensure robust design through testing tools like JUnit, Mockito, and Wiremock.
* Develop and consume RESTful APIs using JAX-RS, adhering to best practices.
* Create modular web applications with MVC frameworks and dependency injection.
* Perform automated integration testing with tools such as Cucumber and Gherkin.
* Maintain code quality with Sonar Qube and document APIs using Open API Swagger.
* Work with frameworks and tools like Spring Boot, Guice, and Mustache.
* Manage data solutions, including Postgres, Elastic Search, and Aurora, and deploy systems with Docker and Kubernetes.
* Orchestrate CI/CD pipelines using Bitbucket, Jenkins, and Terraform.
Requirements:
* At least 5 years of hands-on experience as a Java Engineer, with leadership roles.
* Expertise in Java technologies, frameworks, and CI/CD pipelines.
* Strong problem-solving, analytical, and communication skills.
* Proven ability to design and deliver complex software solutions efficiently.
Desirable Skills:
* Familiarity with Agile and Test-Driven Development methodologies.
* Knowledge of additional tools and frameworks such as Kafka and SQS for queuing solutions.