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