¶ On Joining Walmart Labs
and becoming a node core contributor
I announced (officially) today that I'm leaving Urban Airship to join Walmart Labs as a node core contributor. I'm super excited for the opportunity to help our community grow and build a better Node for everyone. As part of that, I'd like to take a few minutes of your time (and several pixels of your monitor) to introduce myself, and briefly talk about what this position is, and what my plans for the future are.
¶ Who am I?
The idea of building video games got me into programming in high school, but what kept me excited about programming was the idea that by looking at an existing problem from a novel perspective you could come up with unexpected, delightful solutions. I keenly remember reading about binary spatial partitioning in "Masters of Doom" as a teenager, and how transformative that knowledge was for me — an application of a familiar data structure (binary trees) to an unfamiliar place (three dimensional scenes); evoking the delightful frission of drawing outside the lines.
The node community embodies this to me: it actively encourages this sort of anarchic, iconoclastic experimentation. I want node to continue to excel at welcoming all perspectives, to continue to encourage experimentation and rapid iteration, and I want it to be the most approachable framework for doing so — through documentation, tutorials, transparency, and community support. Whether you're a fan of promises or callbacks, Grunt or Gulp, Browserify or Require.JS, Express or Hapi, one thing is true of all node devs: your passion and drive to create is infectious, and words can't express how happy I am to get to be a part of that.
¶ What is this position?
I'll be working on behalf of Walmart Labs (creators of the hit framework, hapi, and many other great packages) and you, the community, on node and the projects surrounding it. I will not automatically get commit access to these repositories — like any other community member, I will have to continually submit work of consistent quality and put in the time to earn the commit bit. The existing core team will have final say on whether or not I get the commit bit — which is as it should be!
That said, here are my goals going forward from this point. The standard disclaimer applies here: plans are not set in stone, the map is not the terrain, etc; but I want to give you all an idea of my thought process going forward:
My goals as a node contributor in the near term:
- Familiarize myself with the various codebases (libuv, npm, node, v8, http-parser).
- Overcommunicate. Try to publish a
.plan-ish post at least once a week detailing what I'm working on.
- Earn that commit bit.
- Become an expert at debugging node: go spelunking through core dump post-mortems, become a dtrace wizard; and in the process of doing so, synthesize this information into documentation for the rest of the community.
My goals for node in particular:
- Have the best resources for helping developers get started, and make them discoverable.
- Help grow the userspace ecosystem of packages.
- Improve the operations story for deploying Node in production.
My first day will be June 2nd. I'm excited to get started, and you'll be hearing a lot more from me — watch this space and follow me on twitter! Thanks to Walmart Labs, my fellow developers at Urban Airship, and to you, for having me!