Preparing Yourself for Modern JavaScript Development see http://www.codethinked.com/preparing-yourself-for-modern-javascript-development