It wasn’t until after I went to work for IBM that I actually went back to college to earn my Bachelor’s degree in Computer Science.

What is your professional background?

Well, after working for the casino for a while, I worked for a couple of small system integration firms doing relatively simple contract work for a number of years. Through one of those contract engagements, I got involved with an Apache open source project that was working to implement the SOAP protocol.

One thing led to another and within a few months I was working for IBM prototyping emerging Web services technologies. Within IBM, I moved around a bit and spent some time helping to launch, develop, and administer the internal social networking environment within the company; then moved on to help launch a new security innovations team; and then on again to work on partner integrations with IBM’s social networking products.

Even though I was with IBM for 16 years, I moved around frequently, always staying very close to open source, open technologies, and open standards. Whenever a particular role stopped being fun, I moved.

When and how did you start using Node.js?

My first experience with Node.js was not a positive one. I was doing some prototype work for an IETF specification I was co-authoring to standardize the PATCH request method. I had built a test on top of Node.js, but discovered a bug in the way it parsed HTTP request names. I reported the bug and was promptly told that I didn’t know what I was talking about. I opened a PR to fix it then left, not looking back at all. The bug eventually was fixed but I had no intention of using Node.js again at that point.

Not too long after, my manager at the time approached me with this new initiative IBM was getting involved with... They were getting involved with the Node.js project, heard that I had some prior experience with the Node.js community, and wanted me to jump in and start contributing to the project with an eye towards helping to solve the deep rifts that had emerged in the community. I can’t say I was all that thrilled at the time, but I jumped in. Now I am extremely happy that I did.

Can you tell us about your personal/side projects?

My personal side projects tend to involve hammers and power tools more than computers and code. Adding a new bedroom to the house, for instance. Fairly soon we’ll be starting a fairly extensive remodeling of our backyard.

Why and how did you join the TSC and the CTC?

For the simple reason that I am passionate about open source, collaboration and community. Ensuring that Node.js remains a healthy, vibrant, open, and effective community and project is something that I am absolutely committed to above everything else I may do professionally.

I am passionate about open source

What are your achievements within the Node.js community thatyou are most proud of?

There are several, if I’m being honest, but the types of things that stand out the most are when some initial bit of work I may do takes off among the collaborator base and takes on a life of it’s own. The Canary in the Goldmine tool, for instance. It started as a random weekend project for me and the first version that I had written was extremely rough and raw. Today, through the hard work of people like Myles Borins and several others, it has become a robust tool that is critical to Node.js’ stability and testing strategy.

The new WHATWG URL parser is another example. I wrote the initial implementation but almost all of the more recent enhancements have been done by others who just picked up the ball and ran with it.

I love it when I step away from a bit of code that I’ve put time into and realize that I’m simply not needed to help it continue to thrive. It truly is the sign of a vibrant and healthy community.

What are the future challenges (technical or community related) you see in the future of Node.js?

Technically, the challenge will always be to find the right balance between stability and relevance. New language features, evolving protocols such as HTTP/2, new use cases, and so on will always put constant pressure on the platform to evolve. On the other hand, the ecosystem relies on Node.js being as stable and minimal as possible to thrive.

In terms of the Community, the challenge will be on maintaining the positive momentum we have achieved in the governance of the project. We’ve made great strides towards ensuring the community is open, diverse, inclusive and free, but we still have so very far to go.

What do you think the Node.js ecosystem will look like in 5 years from now?

Oh, I wouldn’t even want to guess! It’s so much more fun to be surprised. Technology evolves. People evolve. That said, Node.js is not going away any time soon. I suspect it will continue to thrive and grow, and will continue to be one of the most important software platforms in history.

Any final thoughts?

Only this: in the 32 years that I have been writing software, I have never had as much fun, nor have I been as passionate about a community and a software platform as I am with Node.js right now. The project is not perfect — if it was, there’d be no need for any of us to work on it still — but the project is definitely amazing in so many ways. My goal is to ensure that anyone who wishes to participate and contribute in the project feels capable, empowered, and safe to do so.

New contributors enrich the project only further and I’d love for anyone reading this to jump in and get involved.

Thanks a lot for answering my questions. I hope readers will answer your call to contribute!

Once again, I invite you to follow James on Twitter. As a follower myself I love being kept updated by James on what is going on in Node.js.

If you liked this article, please upvote and share it!

Also, you can follow me on twitter so you don’t miss my next articles!

See you soon for another interview!