Must be hands on with coding in Java. Experience with REST API development is a must. Must have good computer science fundamentals (data-structure and algorithms). Should be proficient in back-end technologies and willingness to work on front-end technologies as when needed. Deep knowledge of modern Java programming best practices for object-orientation, dependency injection, thread concurrency, performance tuning, and API design, as well as test-driven development for unit and integration testing. Development experience with Java frameworks such as Spring, Hibernate, and Maven. An ability to write complex PL/SQL & SQL queries and efficiently retrieve data from a database. Experience as a software developer/Application designer or programmer. Experience and understanding of source code management tools such as GIT and SVN.