Roles and responsibilities
- Design and develop microservices using Spring Boot framework, adhering to industry best practices and coding standards
- Collaborate with cross-functional teams, including software engineers, architects, and product owners, to gather requirements and define microservices architecture
- Build robust and scalable RESTful APIs for seamless communication between microservices and external systems
- Implement security mechanisms and protocols, such as OAuth2, JWT, or SSL, to ensure data protection and authorization across microservices
- Optimize and fine-tune microservices performance, identifying and resolving bottlenecks and latency issues
- Implement fault-tolerant and resilient designs, incorporating circuit breakers, retries, and fallback mechanisms
- Conduct thorough unit testing and integration testing of microservices to ensure quality and reliability
- Monitor and troubleshoot microservices in production environments, diagnosing and resolving issues in a timely manner
- Collaborate with DevOps teams to automate deployment and continuous integration processes using tools like Jenkins, Docker, and Kubernetes
- Document technical specifications, system designs, and deployment processes for reference and knowledge sharing.
Key skills required
- Proven experience as a Backend Java Developer, with a strong portfolio of successfully delivered projects
- In-depth knowledge of Java programming language and related frameworks (e.g., Spring, Hibernate)
- Proficiency in building and optimizing SQL queries and working with relational databases (e.g., MySQL, PostgreSQL)
- Experience with web services development (e.g., RESTful APIs) and related technologies (e.g., JSON, XML)
- Familiarity with cloud platforms (e.g., AWS, Azure) and containerization technologies (e.g., Docker) is a plus
- Strong problem-solving skills and attention to detail
- Excellent collaboration and communication skills
- Ability to work independently and in a team environment
- Familiarity with agile development methodologies (e.g., Scrum, Kanban)
- Demonstrated ability to learn and adapt to new technologies and programming languages