Bachelor of Science in Computer Science or Master of Computer Science
3 -5 years of strong, demonstrable experience in designing and developing applications using Java EE platforms
Experience in all stages of the software development lifecycle (requirements, design, architecture, development, testing, deployment, release, and support)
Hands-on experience in Java back-end development and skills with Spring-boot framework
Strong knowledge in Java 8 features Streams API, Executor services API, Lambda Functions, and Functional Interfaces
Spring Framework Experience- Spring Core, dependency Injection, Spring Boot, Spring MVC, Spring JPA
Experience in delivering well tested Spring Boot based microservices
Strong knowledge in Relational Databases – Oracle, IBM DB2
Understanding of the Design Patterns, Architectural Blueprints, UML and Application Design
Understanding of microservices architecture
Understanding of RESTful APIs and web technologies
At least 2 years of experience working with Hibernate / Spring JPA along with Relational Databases
Understanding of DevOps and working experience in CICD pipeline creation is preferable
Write well designed, testable, efficient code and ensure designs are following specifications
Knowledge of the Agile methodology and experience in an Agile working environment
Ability to work in a collaborative environment and coach other team members on coding practices, design principles, and implementation patterns that lead to high-quality maintainable solutions.
Professional experience working in an agile, dynamic and customer facing environment
Desired – experience in automating deployment, releases and testing in continuous integration, continuous
delivery pipelines
A solid approach to writing unit level tests using mocking frameworks, as well as automating component, integration, and end-to-end tests