Job Description for Java Developer: Good Knowledge of OOP(Object Oriented Programming) Should know Design Patterns (Gang of Four OR GoF) and Principles(SOLID) Should know Agile ways of working using Scrum OR Kanban Proven experience as a Java 8 Developer. Below concepts should asked to candidates and 70-80% knowledge is required.o Lambda expressions,o Method references,o Functional interfaces,o Stream API,o Default methods,o Base64 Encode Decode,o Static methods in interface,o Optional class,o Collectors class,o ForEach() method,o Nashorn JavaScript Engine,o Parallel Array Sorting,o Type and Repeating Annotations,o IO Enhancements,o Concurrency Enhancements,o JDBC Enhancements etc. SpringBoot and Spring MVC experience is must Experience development using TDD approach, should be an expert in jUnit and Mockito Familiarity Java 8 object lifecycle, Exception Handling and Logging with Log4j or any other logging framework Knowledge of Gherkin DSL for BDD is must have Entry/Mid level Knowledge of PL/SQL is must have (Stored Procedures / SQL Queries / Join / Indexing concepts) Knowledge of IntelliJ IDE is must have Static code analysis using Sonar is must have. Should know the concept of LINT Artefacts Versioning using jFrog / Nexus is must Knowledge of NoSQL databases (MongoDB) is good to have Entry level knowledge of jQuery is good to have Entry level knowledge of Java Script Frameworks like Angular, React is good to have Excellent communication and teamwork skills Great attention to detail Organizational skills An analytical mind Degree in Computer Science or relevant fieldw