Design and Development: Design and develop microservices-based applications using Java, Spring Boot, and Spring Cloud.
API Development: Implement and maintain robust RESTful APIs and integrate with various internal and external services.
Scalability \& Performance: Ensure the high performance, quality, and scalability of applications, identifying and resolving performance bottlenecks.
Collaboration: Work closely with architects, product managers, and other developers to gather requirements, define solutions, and contribute to the full software development lifecycle.
Code Quality: Write clean, efficient, well-designed, and testable code, adhering to best practices in coding and documentation.
Testing: Write comprehensive unit and integration tests to ensure software quality and reliability.
CI/CD \& Deployment: Participate in developing and maintaining CI/CD pipelines for automated build, testing, and deployment.
Troubleshooting: Debug, troubleshoot, and upgrade existing systems and applications as needed.
Code Review: Participate in peer code reviews, providing constructive feedback and ensuring adherence to coding standards.
Qualifications and Skills
Education: Bachelor's or Master's degree in Computer Science, Engineering, Information Technology, or a related field.
Experience: Minimum 5+ years as a Java Developer with a focus on microservices architecture and principles.
Programming Languages \& Frameworks: Strong proficiency in Java and extensive hands-on experience with Spring Boot and related Spring technologies.
Microservices Expertise: Deep understanding of microservices architecture, design patterns, and distributed systems.
Containerization \& Orchestration: Familiarity with containerization technologies like Docker and orchestration tools such as Kubernetes.
Cloud Platforms: Experience with major cloud platforms like Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP) is highly desirable.
Databases: Knowledge of SQL and NoSQL databases (e.g., MySQL, PostgreSQL, MongoDB).
Tools \& Methodologies: Experience with CI/CD tools (e.g., Jenkins, GitLab CI), version control systems (e.g., Git), and working in an Agile/Scrum environment.
Soft Skills: Excellent problem-solving, analytical, and communication skills, with a strong ability to work both independently and collaboratively in a team setting.