8-10 years strong experience in building RESTful API using Spring, Spring Boot and Java technologies
At least 2 years’ experience working with Spring Boot(Mandatory), Spring , Spring MVC Strong knowledge in Design patterns and SOLID design principles and how to apply it
Strong understanding of Microservices architectures, API gateway, and understanding of patterns such as Saga, Circuit breaker and Strangler pattern
Must be well versed writing meaningful unit tests using Junit and Mockito
Should have experience working on low level design (LLDs) creating UML class diagrams, sequence diagrams, entity relationship diagrams (Confluence/Visio/Draw.io tools)
Good working experience with Hibernate, JPA repositories
Good experience working with token-based authentication like Auth0
Should have understanding with CI-CD tools like Git, Jenkins, Maven
Experience working with Git repositories like Gitlab/Azure DevOps
Solid understanding of containerization & Docker
Knowledge of working with message-based solutions/inter-service communication like RabbitMQ/AWS SQS/Azure Service Bus
Excellent written and spoken communication
Prior experience of leading/mentoring a small team of 4-5 individuals & also perform code reviews
Good exposure working in Agile methodology using Jira & Confluence/wiki
Should be able come up & document with low level design (Class, entity relationship, UML/Sequence, database diagrams) and document it on Confluence
Should work on complex user stories and implement REST API and workflows using Java Spring Boot and write unit tests
Should lead other developers for coming up with approach for their user stories and review their solution and code to make sure design principles & best practices are followed
Take a lead on connecting with Client architects for clearing queries and reviewing approach
Create tech debt stories, come up with 110% initiatives on improving project processes and development
Help project and delivery leads in evaluating resources, filling dev metrics, monitoring security issues, QMS activities such as internal audits, attending ANPs and coordinating with client stakeholders and QA
Overall lead the scrum team from technical/dev lead perspective and make sure team adheres to standards and processes
Understand client architecture and should be able to translate that to dev team members and also help them troubleshooting issues