But what I find most fascinating about it is that it is very easy to tailor a framework that suits your application.By default node has no ORM's, no big config files and not even a routing mechanism.From the developers point of view the core team takes care of the core node js where as the community handles all the extras.
If I find something lacking in the core library I just grab a module created by the awesome node community. NPM the default package manager for node makes managing external dependencies a breeze.
npm install has become an integral part of my development process. I get to choose stuff that I find easy to work with. I get to build my own node.
Node js's approach towards web development has been a good model for me to build my own products. Instead of inundating a user with choices I like to build with a small set of defaults that can be tinkered with and extended easily by the user.
The result of adopting this practice has been quite spectacular so far. Not only have I managed to keep my code base small I have shipped my product before schedule. Another upside has been the amount of time I have spent using my own software.
I know this from my previous experience that we are often so busy creating new stuff for release dates that we don't actually spend much time with the product that we built. Unless one spends time using the stuff that he built there is no way it can be improved upon. However following the path laid down by the node community I cut down on features while building a product but provide ways to extend it or tinker with it easily.
I want my users to build their own specter just as I build my own node.