I was throwing this question around with some coworkers:

What skills are essential for a solid Java developer?

We came up with the following basis:

Solid understanding of Java language, OOA, OOD, OOP, UML, Java database classes
and SQL.

Are certain Java skills more desirable? For example, is a solid understanding
of Java Servlets more important than applets? What about beans? In order
of importance, how would you rank these?
What other skills are missing?