“Node.js is one of the worst things to happen to the software industry” (2012)
I usually ask people to explain why they picked or like (or dislike) a particular technology and that surprisingly tells quite a bit about their proficiency level.<p>At least in interviews I found it tells a lot more about their proficiency than say knowing how to invert binary tree in under 20min or solve a digital circuit diagram in with object oriented principles.<p>Node.js is a technology that raises red flags when someone advocates it. I&#x27;ve heard stuff like &quot;it&#x27;s async so faster&quot;, &quot;it makes things non-blocking so you get more performance not like with threads&quot;, &quot;you just have to learn one language and you&#x27;re done&quot;, &quot;...isomorphic something...&quot; When digging in to discover if they knew how event dispatching works or how these callbacks end up called data comes in on a TCP socket, and there is usually nothing.<p>The other red flag is the community. Somehow Node.js community managed to accumulate the most immature and childish people. I don&#x27;t know what it is &#x2F; was about it. But there it was.<p>Also maybe I am not the only one, but I&#x27;ve seen vocal advocates of Node.js steam-roll and sell their technology, often convincing managers to adopt, with later disastrous consequences. As article mentions -- callback hell, immature libraries, somehow the promised fast performance guarantees vanish when faced with larger amount of concurrent connections and so on. I&#x27;ve seen that hype happen with Go recently as well. Not as bad, but there is some element.<p>Now you&#x27;d think I am 100% hater and irrational.  But one can still convince me that picking Node.js was a good choice. One good thing about Node.js is it is Javascript. If there is a team of developers that just know Javascript and nothing else. Then perhaps it makes sense to have a Node.js project. Keep it small and internal. Also npm does have a lot of packages and they are easy to install. A lot of them are un-maintained and crap but many are fine. Python packaging for example used to be worse, so convincing someone with an &quot;npm install &lt;blah&gt;&quot; wasn&#x27;t hard.