
Ask HN: Does Node dominate at new startups? - callmeed
I had a long conversation with an engineering manager at a public tech company. He told me, basically, <i>&quot;Ruby is dying. Most new, funded startups in SF&#x2F;SV are building in NodeJS if it&#x27;s a web-based app (or a mobile back-end).&quot;</i><p>Is there any validity to this? Is there any recent survey data on what startups are using (or maybe what YC companies use)?
======
mindcrime
Heh... I just realized I have no idea what any other Triangle area startups
are building in. And more to the point, I don't really care. I mean, if I met
another startup founder at an event or something, the question "what is your
tech stack?" would be pretty near the bottom of the list of things I'd ask. I
actually can't even think of a reason I'd _want_ to know.

I'll go back to what Steve Blank and others have said: most startups that fail
(and most do), fail because they build a product nobody wants, not because of
technical problems with the product. If you believe that is true (and I do),
the tech stack really just isn't a very important decision at all. And I think
that's especially true if you stick to anything even remotely close to
mainstream: Node, Rails, Grails, Django, Flask/Pyramid/Pylons/Whatever-
it's-called-now, Scala+Play, Java+Spring MVC, Whatever-Clojure-uses, etc.

Now, if you said you were building using Algol-68, SNOBOL, RPG/400 or MUMPS,
then there might be a legitimate question regarding your ability to find and
hire good developers, etc. But I'd still almost be willing to bet that
"building a product nobody wants" would be more likely to be the culprit if
the company failed, than the tech choice.

That said, we use Groovy and Grails here. Node is on my list of "things to
play around with when I have some free time" but nothing I've heard yet gives
me any reason to think that it's a "game changer". Feel free to convince me
otherwise though.

~~~
notduncansmith
I've worked quite extensively with Node, and I'd hesitate to call it a "game
changer". The game has not changed - there's nothing about Node.js that
fundamentally alters the way people build web servers.

I mean yes, there's the whole async thing (nothing new), but that's really
only in pursuit of performance, and Go (way more performant) will catch up to
Node's library selection within a few years.

All that said, I quite enjoy working with it: I find Javascript pleasant, and
it's easy to create elegant solutions to the problems I encounter day to day.
Finally, Node powers some absolutely fantastic front-end tooling (Bower, LESS,
Gulp). Even if it's not powering your sever, I recommend it as part of the
front-end workflow.

------
notduncansmith
Node.js is an interesting bet for startups. It's hot, yes, and that means that
there's a lot of people with a small amount of experience with it. As someone
who's worked heavily with Node (and various Node devs) for a while now, it's
easy to do very, very wrong. It's not like using Ruby on Rails. The frameworks
available for Node.js won't guard you from screwing yourself and your entire
team. There are few conventions on how to structure your app. If I tell an
experienced Rails dev about a problem I'm having with my Rails app, they can
probably navigate to the right directory with their eyes closed. If I tell a
Node.js dev I'm having a problem with my Node app, they'll ask for the repo
and get back to me in a few minutes.

Without at least one very experienced Node.js dev on a team, the project has
an extremely high likelihood of ballooning in complexity by the 3-4 week mark,
quickly exceeding the 7-plus-or-minus-2 rule and becoming unmanageable. I've
seen it happen multiple times. I've made it happen. It's pretty much
unavoidable (unless the devs you have on your team are already senior-level
with multiple other technologies, and even that isn't guaranteed to save you).

Node.js is powerful tech - it allows one to build featureful, highly scalable
systems and do it _damn fast_ ; but it can also break your startup.

Sorry for the tangent, I know this doesn't exactly answer your question. I
can't be the only one who's realized this though, so Node.js is probably not a
default choice the way Ruby was. If you're looking for "new hotness" points,
it seems like Go would be the best bet.

~~~
pags
It should be noted that none of these comparisons - Ruby\Node.js, nor
Rails\Node.js, are really apples to apples.

~~~
notduncansmith
This is very true. I made a point to say "the frameworks available for
Node.js" above, but I didn't feel like carrying the rest of that language
throughout the rest of the comment. Feel free to replace occurrences of
"Node.js" with the above language for comparisons to Rails.

Ruby/Node is a pretty fair comparison as far as evaluating "backend server
tech". While yes, Ruby is a language and Node is a runtime (thus perhaps
making JRuby/Node a more apt comparison), Node.js is far enough removed from
client-side Javascript in terms of libraries, knowledge required, etc that I
find it pretty easy to compare the two. With Ruby, you find a web framework,
supplement with libraries, and code yourself up an app. With Node.js, you do
the exact same thing. Good enough for me.

------
tptacek
No. We work with startups and usually get access to their code and so we get a
pretty decent sample, and Rails still seems to be the most popular choice.

~~~
lgieron
He was asking specifically about newly founded startups, while your answer is
about startups in general?

~~~
tptacek
I don't see much difference in the trend depending on age. We do see Node! We
just see a lot more Rails.

------
pags
I've heard the opposite declared many times (Node falling, Ruby
rising)...there's never a lack of people who are quick to declare the death of
any specific technology.

That being said, I work for a new, funded startup in SF, and our web stack is
based on Node.

~~~
callmeed
Thanks for the input. If you don't mind me asking–is your startup web or
mobile first?

~~~
pags
Web - but when the time comes to focus on mobile, Node should still serve us
well.

------
owenwil
I work at a startup in New Zealand -- Hoist -- where we're building a platform
as a service type offering entirely in Node. It seemed like the best choice
when we started out a year ago and has paid off. It's fast and freeing to work
with. It certainly might be harder sometimes than "established" languages but
it's far better regardless. I'm so glad we're not using Ruby, personally, and
my feeling is that Node is the new hotness. We share an office with another,
funded startup that's also building in Node.

------
argonaut
As someone working in SF right now, keeping tabs on all the companies and
technologies out there, I don't particularly consider Node to be the new
hotness. Currently, Ruby probably has the plurality of mind share, followed by
Python and Node.

But I think the greater trend is one of polygot backends. Startups bringing
several different languages onto the backend, when necessary to scale beyond
the initial web app. This does involve a slow dispersal of mindshare away from
Ruby/Rails. Things like: Node, Python, Go, Scala, Erlang, and so on.

------
rpedela
I honestly don't know, but Ruby does seem to be on its way out. It might be a
long death since there are so many Ruby developers, but I think it is probably
on the way out. The main reason is that Ruby doesn't do anything particularly
well except it is easy to learn. There are several alternatives that are
equally easy to learn now and have more compelling use cases. Time will tell
of course, and I am most likely wrong.

------
chandika
Platforms like Node become a necessity as you'd rather be faster to market and
be more agile vs. being caught out building something that is useless in a
nicely scalable platform over a longer period. Lean startups FTW.

~~~
notduncansmith
It's hard to say that a Node.js solution will get you to market faster than
Ruby on Rails (where something as complex as user management is a drop-in). If
anything, choosing Node would be the opposite of your advice.

------
kyriakos
we use PHP. does the job. if something works, people are familiar with it, why
do it differently? the outcome is the same and the outcome is what brings
sales.

------
gcb0
node startups get all the rockstar ninjas. whatever good that is.

ruby startup gets all the round A funding and big exits.

php startups become huge corporations.

------
linvin
A related question: If you have worked on both ruby and node.js, which one you
have selected?

(We selected node.js for our startup.)

