At least 4 to 10+ years of software development experience.
Strong hands-on experience in Core Java, Spring, Hibernate and restful web services including its data interchange format/definition such as XML, JSON.
Strong experience in distributed caching technologies like Apache Ignite or similar.
Familiar with different persistent storage technologies such as RDMS (Sybase, SQL Server, or Oracle) and NoSQL.
Solid experience working with source code management tools Git or Bitbucket.
Good understanding of clean coding principles. Good understanding of code quality measurements using tools like Sonar and able to implement design and implement unit, integration, and functional tests.
Must demonstrate strong familiarity of design patterns.
Good written and verbal communication skills. A team-player who is comfortable working in a team that deals with ambiguity and problem solving.