I'm using http://debitoor.com (I'ma developer on the 40-50 person debitoor team)
I used to use e-conomic.com. But now debitoor has everything i need for my 1 person company.
Problem: If you don't do anything. JavaScript errors on you sebsite are just lost. Your website can be completely malfunctioning maybe for 10% of your users on a specific browser and you will simply not know.
Originally I did spend some time trying to share knowledge about my service. Haven't done so in 3-4 years.
When I did I was doing the usual crappy stuff, sharing on forums, as a signature on posts, comments on reviews of other free survey solutions, and the like. (As I mentioned I'm bad at marketing - so I'm not the best person to answer your question)
If I wanted to return a bunch of _ids from a mongo database i would do a _id:$in[array of ObjectIDs] and then stream the resulting cursor to res.
Streams are core to node. You should use them.
I dont spend a lot of time on these kind of problems. But the times I do, it's an exillerating experience.
Knowing the theory of big O notation and time complexety of algorithms has allowed me to build amazing things, I've even used for GUI and JavaScript in the browser.
The most exciting stuff has been implementing things where I have been unsure if what I was trying to would be possible at all in a browser. The feeling you then get when it actually works, and you know that you've pushed a limit that you have never seen anyone do in the browser before, can' be beaten.
If you push yourself to the limit, think outside the box etc. You are going to need knowledge of algorithms.