Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We're at the beginning stages of a new startup and will most likely be utilising Node.js as it is the most appropriate technology for the job and we like the idea of JS for both server/client.

My concern however is that it will be difficult to find local node.js talent if we ever needed to expand our team beyond just me and my co-partner. Node.js resources appear to be scarce in Australia.

Specifically, how common is it to consider front-end Javascript developers rather than Node developers per se in order to find talent? Is this a viable approach?

How difficult would it be for an exceptional (or even an average) front-end JS developer to pick-up Node and a common framework such as Express or Sails? Would it be likely that we could bring someone onboard and have them mostly up to speed in a space of a couple of days, for instance?

share|improve this question
    
I know a decent amount of JS and NodeJS seems very similar to me. The language itself is the same, so it's probably mostly learning about the NodeJS api. I'm not sure about up to speed in a couple of days, but I can't see it taking months either... –  Stefan Billiet Feb 12 at 13:23
3  
You are too focused on the language. Most Node developers didnt start out as node developers. They learned it. Look for intelligent, experienced, problem solving developers of any type. And they will learn Node. –  GrandmasterB Feb 12 at 17:28
4  
Every time I hear the "we'll use nodejs and recruit frontend developers to work on it" notion, I cringe. While you do want experienced Javascript developers for both, a nodejs server and a web browser are completely different platforms. –  user16764 Feb 12 at 19:49
add comment

closed as primarily opinion-based by thorsten müller, Simon, user16764, Steve Evers, MichaelT Feb 13 at 0:19

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers

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:

  1. 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.
  2. 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.

share|improve this answer
add comment

I think it's not the best approach for developer searching. Let's take Java as an example. If I need to develop an Android app, I would search for Android developer, if I need to develop web application powered by Java back end I would search for Hibernate and Spring (or whatever is fancy in Java world) developer, and if I need a game developer I will look for LibGDX developer. They all Java developers, but Game developer wouldn't necessarily know anything about authorization, ssl etc.

When I see Ruby jobs for web developers, I see "Ruby on Rails" jobs, not generic Ruby, and when you'll look for Node developer, you should specify frameworks and environment they will be working in.

This also means, that language is secondary, and good Java or Python web-developer can learn JavaScript (or CoffeeScript) and become good web node developer, language and VM is secondary.

share|improve this answer
add comment

I think any javascript developer would easily pick up node, since they're so similar.

Even the callback style is already present in javascript, in functions like setTimeout and in window events.

Also, you said Express and Sails, I don't know Sails, but express is pretty easy to pick up and the documentation is also good, I doubt any experienced javascript developer would have problems with it.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.