Responsibilities
• Work collaboratively to write high quality, testable code that meets the Definition of Done.
• Adopt a Test-First approach to software development, where possible in which the test is developed before the code.
• Participate in design and code reviews with other engineers.
• May develop and utilize automated test scripts to perform duties.
• Participate in test plan reviews.
• Responsible for assigned integration, testing and deployment tasks.
• Work with product management to scope and estimate product enhancements.
• Design, implement, unit test software, and test software following defined processes.
• Fix software defects (internal or customer reported) following defined process.
Requirements
• Proficient in Java, with a good knowledge of its ecosystems (Especially with Java 8 features). Java 12, 14 is an added advantage.
• Good understanding of OOPS, design patterns and industry best practices.
• Strong experience with Spring and Spring Boot, Spring MVC, Spring Data, Spring Security and Hibernate.
• At least 7 years of experience in developing applications with Spring Boot.
• At least 6 years of experience in developing on AWS with focus in EC2, IAM, CloudFormation/Terraform, S3, RDS, Lambda Functions.
• Should have expertise in building RESTful web services.
• Good exposure on Messaging Technologies like Kafka, RabbitMQ etc.
• Hands on experience with development tools like Git, Gradle, Maven, Sonar, Jenkins, Artifactory etc.
• Experience with Test-driven development (TDD), code testability standards, JUnit/Mockito.
• Should have expertise on SQL and experience with relational database like MySQL, Oracle and MS SQL Server.
• Experience with DevOps practices and CI/CD model of development.
• Good in front end technologies like Angular, JavaScript, jQuery, HTML and CSS.
• Must have the capability to work independently.
• Familiar with various design and architectural patterns.
• AWS Certification Optional but Preferred (Developer / Architect).
• Snowflake Certification optional.