Introducing How I Got Into #Node

Node.js
Node.js Collection
Published in
6 min readOct 3, 2017

Node.js has grown tremendously as a technology. Everyday there are more than 8.8 million Node instances online, and the community of npm and Node.js developers is now larger than the population of New York City. Some of the biggest brands and organizations in the world use Node including Capital One, Airbnb, Google and more. It powers ecommerce for Walmart, collects data to keep astronauts safe and research flowing at NASA. It helps connect people around the world on Twitter and gives folks a chance to #NetflixAndChill.

With so many people and companies using and supporting the technology, we wanted to do a series on how folks got into Node in the first place. We are conducting interviews with a few leaders and active participants in the Node.js Technical Steering Committee, which consists of Node.js Project collaborators who have demonstrated both technical expertise critical to the ongoing maintenance and evolution of the project. We’ll also be sharing thoughts from the new Node.js Community Committee, which tackles tasks for the Node.js Foundation that fall outside of Node.js Core. This group reflects a formal voice for the community. Both the TSC and the CC share a long-term commitment to drive the project forward.

We hope that this series will give you a glimpse into those who make up the Node community, and possibly inspire others to join our Node community or other open source projects.

We’re kicking off the Q&A series with Myles Borins, the recently elected TSC Director, and Michael Dawson, our recently elected TSC chair. Both discovered Node.js and got started with programming through very different mediums.

Hope you enjoy!

Question 1: When did you start working in programming in general?

Michael Dawson: I started programming way back in the 80s as a teenager. During those years I bought my first computer (TI99/4A) and wrote a number of simple games in assembler.

I had to write my own dis-assembler to get started :). Professionally, I started working as a developer during my co-op terms and then full time in 1991 after graduating from university.

In my first full-time job, I worked for a company that built programs to encrypt electronic data interchange (EDI X12) messages between businesses. Since then I’ve worked at a number of different companies using primarily C/C++, Java and Node.js working both on server and embedded systems. I started at IBM 13 years ago working on the Java VM that went into phones/palm pilots, etc. and continued to work on building IBM’s Java VMs until I switched over to Node.js a few years ago.

Myles Borins: I did some really silly programming in my early teens with ActionScript to make flash animations. I didn’t really get into programming until my early 20s when I got into electronic music. While I’ve been a musician for most of my life, it wasn’t until my early 20s that I started to explore composing music using non-acoustic instruments. I quickly fell in love with the programming language Max/MSP, which I used to compose music and build installation art.

Question 2: When did you start using Node.js?

Myles Borins: In 2012 I was making an installation called “The Autonomous Speaker-Bot.” It had a web interface that allowed individuals to control the installation from their mobile devices. I had never written a web server prior to this and started searching how I could send OpenSoundControl (OSC) messages from the browser; OSC is one of the standard ways of passing messages between environments in music programming. After banging my head against a couple different languages and platforms I finally stumbled upon Node.js, and managed to get a working prototype in about 15 minutes with socket.io. After that I was sold on the platform. Did I mention I was doing all of this on ARM?

Michael Dawson: I started using Node.js around the same time that I started working on helping with the ports of Node.js to IBM’s platforms, which was in 2014. We first had to port/contribute V8 to PPC, contribute those back to Google and then contribute the changes needed in libuv and Node.js as well.

I always have a number of side projects as well and since working on Node.js, I’ve used it whenever possible. Many of those are related to home automation/IoT, which I find to be a lot of fun. Node.js is a great fit for those projects, and helps make it easier/faster to move things forward in this space. Check out my projects on GitHub https://github.com/mhdawson for more details.

Question 3: What intrigued you about Node.js or what prompted you to use it vs. another platform/framework?

Michael Dawson: The asynchronous nature of Node.js is a really good fit with interacting with the real word. That along with how easy it is to ramp up and get things done make it my first choice when working on projects.

Myles Borins: One of the biggest things that intrigued me was that I was able to apply the knowledge I had from making front0end websites directly to working with Node.js. I quickly picked up the basics and was able to prototype at a rate I had never experienced before.

Question 4: When did you start contributing to Node.js?

Michael Dawson: I started contributing in 2014, initially focused on the port for Power PC as well as helping out in the build and benchmarking front.

As an side, we can always use more help in the Working Groups. For example input is welcomed in the Benchmarking Working Group and module maintainers to port their modules to the N-API along with helping to add functionality, tests and documentation to the supporting node-addon-api modules would be a big help.

Myles Borins: I was hired by IBM in 2015 to begin contributing to Node.js core. While I had worked within the ecosystem for years at this point, I had never contributed to core. With great mentors ready to guide me, I slowly found a place that would best utilize my abilities. It turned out that testing + releases were the places where I could help the most.

Question 5: Why do you continue to contribute?

Myles Borins: Lots of different reasons. I believe in JavaScript first and foremost. I think Node.js is a fantastic platform that enables people to make some amazing things. Some of my best friends are part of the ecosystem and I really enjoy getting to collaborate with them.

Michael Dawson: I’m lucky that contributing to Node.js is part of my core job at IBM, so it is a bit easier for me than it is for many people. Having said that, I work to keep my role within IBM focussed on Node.js because of the opportunity to make a difference, and the welcoming and collaborative community.

Question 6: How do you use Node.js?

Michael Dawson: As I mentioned before, I use it in many of my home automation projects. When I ask Alexa to play the latest episode of a recorded TV show, turn on/off lights or even grab a picture of a security camera, it is Node.js code that I’ve written running in a docker container (either locally or in the Cloud) that makes all of that happen.

Myles Borins: Umm everything! I’ve used it for scripting, I’ve used it for making music, I’ve used it for making webserver, and I’ve used it for making art. It is one of the first tools in my tool belt that I lean on when I need to get things done.

Myles and Michael will both be giving talks at Node.js Interactive. If you find yourself in Vancouver this week and want to know more about the future developments of Node or have questions about the technology, be sure to come to their sessions and say, “hi.”

--

--

Node.js
Node.js Collection

Node.js is a collaborative open source project dedicated to building and supporting the Node.js platform. https://nodejs.org/en/