I believe that you should be looking at the problem technical domain instead of the tools.
Let's take it a bit further. Imagine I'm building an apartment building, and I like to use this awesome hammer with two claws (yeah, just like the PHP hammer). Me and my coworkers all have one of these fancy hammers, we use them everyday, all day long. It makes our construction work easier.
We need to hire someone, and we're looking for candidates. Now, we have two possible candidates:
- A candidate who has worked constructing houses. He's had experience building several houses, only one or two kinds of houses. He likes to use a standard hammer.
- A candidate who has worked making furniture. He's had experience making several kinds of furniture sets. He also uses the fancy hammer since he started working, a long time ago.
Now, who would you hire?
I would definitely hire candidate #1, since he has domain knowledge I need, and experience doing similar work to boot. He might just dig the fancy hammer, too. Candidate #2 knows how to use a tool, but he doesn't know anything about civil engineering, constructing buildings or any of the like. His first attempt at building even a dog house will not be as good (probably won't have a door or something), probably not what I need.
Putting things in context, I'd rather teach someone how to use node.js and Javascript if he knows how to build back-end systems (say, in Java), than teach someone how knows JS to build back-end systems (which is the whole web architecture thing: server and client, sessions, databases, web requests and more).
Node.js may be different, but anyone with good web architecture knowledge and experience will be able to pick it up in time. As for learning JS from scratch, anyone with programming experience can also learn it in time.