Core Java: in-depth understanding of multi-threading, data structures etc.
Excellent programming skills
Experience in developing enterprise-scale n-tier applications, and working with complex frameworks & distributed environments.
Agile exposure, TDD/BDD, CI/Jenkins
SQL / databases experience with RDBMS
Basic working knowledge of Unix/Linux
Following skills are not mandatory, but desirable:
Scala / Functional Programming
Scripting languages like Python / Perl