22.6.15

90 days of node.js

 Malcolm Gladwell throws around the figure of 10000 hours of practice before you can call yourself an expert. An obvious corollary is that you become an expert only in the usage of the particular tools you use. This is probably what makes it difficult to become an obvious expert when it comes to programming knowledge. Each day is spent working with more than one tool or framework or programming language. There just isn't enough time spent learning anything since you are working against deadlines and focusing on hacking your way through the requirements rather than picking up the nuances of your framework and learning more about your programming language of choice. Even architects tend to live in the rarefied realm of abstraction and can sometimes completely disregard the actual tools in pursuit of abstract design.

Which brings me to JavaScript. I've been writing JavaScript for a while now - I've even had to deal with JScript, so that gives you an idea of things. But, as someone who has written a lot of JavaScript, I am woefully under par when it comes to node.js. Mostly because I never got the opportunity to use node.js at work. It is easy to just point and say, "why didn't you go work on it at home?". I've a family to raise and other interests that I try to pursue to the fullest - reading, gaming, podcasting and writing. This leaves precious little time to devote to learning about node and anything else that catches my fancy.

This year, though, has been a year of discovery. A lot more book reviews, a podcast and I'm making some time for learning a new framework. So, about 10 days ago I started off on a 90 day journey thru nodeland. The goal is not to become a node expert - 10000 hours, remember - but to get more than passing familiarity to the node ecosystem. And that's what it really is - an eco system. It would appear that writing actual node framework code is passe and there is a rash of modules that do one thing and one thing alone. It's going to be a long haul picking up random modules and using them to finish the 90 days.

I realised - 10 days in - that I had no tracker for each day's worth of work. This page then will collect all the 90 days worth of effort and list them. Happy reading and if you learnt something from this - yay!

Day 13 - Events in node.
Days 11 and 12   - More of Jade, learning about domains and oauth
Day 10 - Refactoring with Q Promises
Day 9 - Expressworks - that is all.
Day 8 - Connecting to the Twitter REST API to grab public lists.
Day 7 - Washout :/ (not quite - I stumbled thru how-to-npm)
Days 5 and 6 - Stream adventure travails
Days 3 and 4 - More learnyounode and some IDE futzing
Day 2 - Starting with learnyounodeDay 1 - Installing node and first steps.