Getting out of your comfort zone with Node.js
blog.count.ly
blog.count.ly
There was confidence and security in the well known world of stuff you already tried and built. The confidence that came from the knowledge of how difficult or easy something could be. The skill of estimation was fine tuned, and the feeling for effort was strong.
It was not the fact that nothing could go wrong that was comforting. It was the power to know what, when and where could go wrong.
An anxiety-neutral condition, with limited set of behaviors to deliver a steady level of performance, usually without a sense of risk.
A true comfort zone.
Then we chose Node.js for a project. We are yet to see how wise a decision that was business wise, but it was certainly good for the soul.
How so? Are you building new kinds of applications that you couldn't or wouldn't have built using familiar, reliable tools?
I'm curious because there's a sort of risk for risk's sake feel to your comment.
It seems like loosening the bolts on a car and then driving to the same old places; there's a thrill to be sure but you don't end up anyplace new.
It is better to get out of your comfort zone not by doing the same thing in a new way, but by doing a new thing. You are bored with your job? Its not Java, or c#, or c that is boring. It is the stuff you are using it for and the way you are using it.
Anyway, Node is an excellent tool. Just don't use it as an easy way out of your comfort zone.
In our case we have tried several other platforms/languages and the best fit was Node.js for us. “Do the research, be a developer not just an X language developer” would probably sum up my whole point.
1) persistant connections, we deal with massive concurrency and remote connections to just about anything external (even on same network) could be saturated and overwhelmed so quickly
2) pseudo-caching data in the background, things like game configuration etc we just keep loading over and over on an interval so wherever possible we just have whole mongo collections and db tables sitting there in ram always fairly fresh
3) mirroring our application-wide redis cache locally on each server in the background so whenever we do get a cache hit it's insanely fast
These are probably the coolest things I found moving our analytics api to nodejs.
What's newsworthy about this post, beyond being positive to a project that everyone seems to like (including me)?
if buzzword_count['node.js'] > x: required_qualification_keywords.append('node.js')Yes, high-level design matters. Ever since I switched to my own framework in 2005, most of the pages on my websites generate in less than .1 second, and that's without extensive caching, often on cheap VPS. There is nothing fancy about it, just simple, straightforward system design that doesn't fight the language and pretend like I'm coding Java.
I like the 'purity' of it all now. It irks me still that js isn't really comforting at actual scripting.
Anyone else considering Python -> Node, look very carefully at gevent first. Not only can you save the rewrite, you can end up with a better solution at the end too.