As a Java Developer, you will be responsible for designing, developing, and maintaining highly scalable and performant microservices-based applications using Java 17 and Spring Boot. You will play a key role in the development lifecycle, collaborating closely with cross-functional teams to create robust backend solutions that meet business needs.
Key Responsibilities:
- Design, develop, and maintain microservices-based applications using Spring Boot and Java 17.
- Collaborate with other developers, architects, and product teams to define system architecture and ensure scalability and performance of services.
- Develop RESTful APIs to support frontend applications and integrate with other systems.
- Write clean, efficient, and maintainable code while adhering to best practices and coding standards.
- Participate in code reviews to ensure high-quality software development and continuous improvement.
- Implement security best practices and ensure that applications are secure from vulnerabilities.
- Optimize application performance and monitor production systems to identify potential bottlenecks.
- Write unit and integration tests to ensure the reliability and correctness of your code.
- Participate in Agile ceremonies such as sprint planning, daily stand-ups, and retrospectives.
- Stay up-to-date with the latest trends in Java development, Spring Boot, and microservices architecture.
- Troubleshoot and resolve production and development issues efficiently.
- Ensure continuous integration and delivery (CI/CD) pipelines are followed throughout the development lifecycle.
Required Skills & Qualifications:
- Strong experience in Java development, with proficiency in Java 17.
- Extensive experience building microservices-based applications using Spring Boot.
- Solid understanding of RESTful APIs, and the ability to design and implement them.
- Knowledge of Docker and containerization practices.
- Familiarity with CI/CD tools such as Jenkins, GitLab CI, or similar platforms.
- Experience working with databases (SQL and NoSQL) and understanding of data modeling.
- Experience with JUnit and other testing frameworks to ensure code quality.
- Knowledge of version control systems such as Git.
- Strong understanding of software design patterns and object-oriented programming (OOP).
- Experience with Agile development methodologies (Scrum, Kanban, etc.).
- Excellent problem-solving and debugging skills.
- Ability to work independently as well as within a team in a fast-paced environment.
- Strong communication and collaboration skills.
Preferred Qualifications:
- Experience with Cloud platforms (AWS, Azure, Google Cloud).
- Familiarity with message brokers such as Kafka, RabbitMQ, or ActiveMQ.
- Experience with Spring Cloud and building distributed systems.
- Understanding of container orchestration using Kubernetes.
- Bachelor’s degree in Computer Science, Engineering, or a related field.
- Familiarity with Agile tools such as Jira or Trello.