- Most startups have inexperienced people writing async code (which is hard) and make too many mistakes
- The reason Javascript is used in frontend let's use it for backend (even using the same programmer) seems flawed. Backend programming would require intimate knowledge of threads, mutexes, async and other things which a frontend programmer may not be familiar with so using the same programmer or language may be moot.
- Flaky drivers. Surely it works great with MongoDB but try using MariaDB, Postgres with concurrency and pooling and there are so many issues (async is hard ?).
- Is Node.js performance really that good when people start making mistakes and bugs arise that infact hinders performance. Why people move to Node.js when horizontal scaling can provide sufficient performance needed by most.
These are only couple of points, may be Hackernews can give more perspective towards why some of the people/companies choose Node.js with these flaws. Is it because it's new or the love of Javascript (designed in less than 1 month) is so much that it has bleed into the backend realm.