· 5+ years of software development experience in Java 8. Knowledge of Java 9.
- Experience in developing micro services in Spring Boot or Node.js. Experience in security, transaction, Idempotency, log tracing, distributed caching, monitoring and containerization requirements of Micro services. Experience in developing High Cohesion & Loosely Coupled Micro Services
- Should have excellent acumen in Data Structures, Algorithms, problem-solving and Logical/Analytical skills. Thorough understanding of OOPS concepts, Design principles and implementation of different type of Design patterns.
- Sound understanding of concepts like Exceptional handling, Serialization/Deserialization and Immutability concepts, etc. Good fundamental knowledge in Enums, Collections, Annotations, Generics, Autoboxing, etc.
- Experience with Multithreading, Concurrent Package and Concurrent APIs
- Basic understanding of Java Memory Management (JMM) including garbage collections concepts.
- Experience in RDBMS or NO SQL databases and writing SQL queries (Joins, group by, aggregate functions, etc.)
- Hands-on experience with JMS. Hands-on experience in creating RESTful webservices and consuming webservices. Hands-on experience with Spring.
- Hands-on experience with any of the logging frameworks (SLF4J/LogBack/Log4j)
- Experience of writing Junit test cases using Mockito / Powermock frameworks. Should have practical experience with Maven/Gradle and knowledge of version control systems like Git/SVN etc.
· Good communication skills and ability to work with global teams to define and deliver on projects. Sound understanding/experience in software development process, test-driven development.
· Preferred: General cloud knowledge Excellent communication skills, both verbal and written