I'm experiencing "node anxiety", let me explain:<p>There really are two kinds of functions in a node program.<p>Synchronous functions and asynchronous functions.<p>This has major consequences during refactoring when what used to be a synchronous function now needs to become an asynchronous function => all synchronous functions that used to call the synchronous function needs to be turned into asynchronous functions themselves.<p>Sometimes the ramifications go way beyond first expected.<p>Sometimes the ramifications turned to be massive.<p>This becomes worse when one realizes that synchronous function are much more readable, half the code and about 5 times faster than asynchronous ones (see <a href="http://jsperf.com/asynch-cost" rel="nofollow">http://jsperf.com/asynch-cost</a>)<p>Eventually the idea of refactoring a synchronous function into an asynchronous function becomes a source of worries.<p>And that, my friends, is not something easy to figure out and is what I call "node anxiety"