It was 2012 and I was buried up to my ears in Linux servers, babysitting LAMP stacks that crawled under load. A colleague dropped a benchmark on my desk: a Node.js server handling 10,000 concurrent connections with a single process consuming less memory than Apache under 500. I read it three times. I was sure it was wrong. It wasn't wrong.

I didn't adopt it then — I stayed in my world of infrastructure and Java. But the seed was planted. When I made my definitive pivot to software development in 2021, Node was everywhere. And when I truly understood it — not just how to use it but why it works the way it does — everything clicked. I finally got why it had made so much noise.

This is post #9 in the Awesome Curated: The Tools series, where I dig into tools that pass the filter of our automated curation system. Node.js came up through Sindre Sorhus's awesome-nodejs list — which is basically a universe unto itself — and crossed with a signal in 4 independent awesome lists. That doesn't happen by accident.

What it does

Node.js is a JavaScript runtime built on Chrome's V8 engine, but that's the boring technical description. What makes it special is the non-blocking event loop. In a traditional web server, every incoming request waits: waits for the database to respond, waits for the disk to read a file, waits for the network to return something. While it waits, that thread is blocked — sitting there doing absolutely nothing useful. Multiply that by thousands of connections and you understand why you needed 64GB of RAM just to run a decent server.