What you said happened to prove my points If there's any challenges, there are in "heart of j2ee". If you want to play it in fancy way, it does take a lot of time to become experienced. (Actually so do any technologies).
However, as you just mentioned, whether you're senior or not are mainly determined by "you must be good at communication and coordination skills, the ability to solve problems which involves client-facing, coordination among different parties".
So many people with entry level of skills (but with a certain amout of knowledge by reading books and getting a few sessions of trainings) of j2ee can even play a senior role and are leading the guru like you guys.
On the other hand, the major work items related with j2ee in the careers are just simple stuff. Nothing or little thing concerned with "the heart of j2ee".
This make it even possible for a new comer to beat the gurus in this area. Because the gurus are too focused on the real experience or hands-on skills in resolving some specific problems. While the newcomers have to start from a high level vision and "understand the problem" and "describe the problem" instead of "resolving the problem". This make them stand higher from the beginning if they do make full use of it.
As we all know, there're tons of ready to use solutions on the web or at some corners. What you know are just a small subset even you've been very experienced. Without guru, people will still find answers to problem very quickly in java world as long as the problem is identified. (it's not that easy in other areas of IT, such as C++).
That's why to "describe the problem" is even more important than the know-how itself.
The secret is: java is almost the easiest language in IT. If a non-IT person intends to join IT, he/she probably picks up java as start point. -victorzhou(patty) 2006-6-9