- Bachelor of Science degree in Computer Science, Information Technology, or related field. Master of Science is required for some jobs. Quite rarely long professional experience like from 7 to 10 years or more in the required field can compensate absence of university education.
- 2 or 3 year minimum working experience. For senior positions it's typically starting from 5 to 7 years.
- Experience in Spring (Core and MVC) and Hibernate (JPA) frameworks is almost essential unless you develop standalone Swing applications. JSF is also very popular in job posts.
Other popular skills are:
- REST and SOAP for web services.
- SQL for MySQL and Oracle databases.
- Lucene for text search.
- JUnit for unit testing. Appreciated with experience in TDD/BDD methodologies.
- Subversion and Git version control systems.
- Maven and Ant project management and build tools.
- Jenkins (previously knows as Hudson) continuous integration system.
- Experience with Tomcat, JBoss, or WebLogic Java application servers.
- Eclipse integrated development environment.
- UML diagram reading at least.
- Scrum, Lean, or Kanban experience.
One more very important skill — speaking local languages. English is very widely required for Java developers. But in most cases speaking at least one local language at good level (B2 according to CEFR, 4th level of 6) is essential.
In most Western European countries it's still possible to find a Java developer job even if you don't speak local languages but English, and comply with the first three requirements: university degree, previous working experience at least 2 or 3 years, experience with Spring and Hibernate.