Overview
We are seeking a highly skilled Senior Java Developer to join our dynamic team. The ideal candidate will have extensive experience in Java development, particularly with Java 8 or 11, and proficiency in modern frameworks such as Spring Boot or Quarkus. This role requires expertise in reactive programming, Java design patterns, and test-driven development (TDD). A strong understanding of microservices design patterns and architecture principles is essential. Additionally, familiarity with Docker, Kubernetes, and AWS cloud services is highly desirable.
Responsibilities
- Design, develop, and maintain high-performance, scalable applications using Java 8 or 11.
- Utilize Spring Boot or Quarkus to build robust and efficient backend services.
- Implement reactive programming paradigms to create responsive and resilient applications.
- Apply Java design patterns to solve complex software design problems.
- Practice Test-Driven Development (TDD) to ensure code quality and reliability.
- Architect and develop microservices, ensuring they adhere to best practices and design principles.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Troubleshoot and debug applications, ensuring optimal performance and responsiveness.
- Stay up-to-date with emerging trends and technologies in software development.
Required Skills and Qualifications
- Java 8 or 11: Proven experience in developing applications using Java 8 or 11.
- Spring Boot or Quarkus: Strong expertise in either Spring Boot or Quarkus for building backend services.
- Reactive Programming: Proficiency in reactive programming frameworks such as Reactor or RxJava.
- Java Design Patterns: In-depth knowledge of Java design patterns and their practical applications.
- Test-Driven Development (TDD): Experience with TDD methodologies and tools like JUnit or TestNG.
- Microservices Design and Architecture: Solid understanding of microservices architecture, including design patterns and principles.
- Familiarity with RESTful API design and implementation.
- Strong problem-solving skills and the ability to work independently or as part of a team.
- Excellent communication and interpersonal skills.
Good to Have Skills
- Experience with CI/CD pipelines and DevOps practices.
- Knowledge of SQL and NoSQL databases.
- Understanding of security best practices in application development.
- Docker and Kubernetes (Good to Have): Familiarity with containerization using Docker and orchestration with Kubernetes.
- AWS Cloud Services (Good to Have): Basic knowledge of AWS cloud services and how to integrate applications with them.