An Software Engineer that excels:
has the traits of:
1. a person who won't be able to come up with 3 top skills. (A Computer Programer maybe able to, they like working within an area GUI,XML processing,JSP,EDI,etc.) If your already trying to limit what you need to be good at and try to fit it 3 google search terms then you will hate becoming a Engineer that is below average, forget a one that excels.
2. a person with the ability to see structure even when it can't be placed in a list with precedence of any kind. session, context & entity states synced across a cluster placed in a list is an improper design, it will fail.
3. a person who can see (and seeks) the parts that make up the whole. of anything. the whole is a fasade created by the parts working together.
and has skills in:
2. Memory management, different level of memory, segmentation, leaks, virtual, buffers reuse & why 2,4,8,16,32,64 is more important to understand why it is the way it is than the sequence 010101 sequence.
3. And finally doesn't know everything listed at docs.oracle.com/javase/tutorial/reallybigindex.html but can read a section over lunch and can apply the concepts to solve a problem without posting questions on stackoverflow putting 500 of your 510 points up for grabs for the correct answer.