Toggle Menu

Insights / Tech Tips / 2016 Will Be the Year of Node.js (Part 1)

January 27, 2016

2016 Will Be the Year of Node.js (Part 1)

4 mins read

JavaScript Front and Center in 2015

By 2015, JavaScript became the most valuable skill a developer needed to learn or master. It is amazingly versatile and uniquely universal. JavaScript runs natively on pretty much every computing platform on the planet. There isn’t any other technology that can make a similar claim. If you develop products that run on a web browser or on the mobile web, I strongly urge you pay attention to Node.js, which runs JavaScript on the server.

Humble Beginnings

JavaScript has been around as a standard known as ECMAScript for the past 20 years and you’ll be surprised to learn that Node.js was first released 7 years ago. Node.js was invented to create a more responsive, agile, and flexible web. To this end, Node.js has already proven itself with Silicon Valley and retail giants like Uber, PayPal, and WalMart. PayPal improved response times by 35% while doubling server capacity. WalMart served over 1.4 billion pages without their servers breaking a sweat. PayPal measured better developer happiness and productivity. By early 2015, Node.js was sounding like a magic bullet to end all woes and a safe technology for the rest of the tech world to start adopting in droves. At this time, it seemed normal that a stable and mature technology would take two years to jump from version 0.10 to 0.12. In fact, during a Node Road Show in Washington DC, hosted by Capital One Labs, the promise of stability was precisely the message that was sent to the community by the corporate sponsor of Node.js, Joyent. However, something unexpected happened shortly after.

Trouble and Triumph

In late 2014, the core maintainers of the Node.js open source community decided to fork Node.js in order to create a project named io.js. The core maintainers felt this was a necessary move since many new features implemented in Node 0.11 was unceremoniously put aside by Joyent. Granted Node 0.11 suffered from too many unstable features and Joyent’s call on the matter was correct. However, Joyent overreacted and didn’t incorporate a plan to reintroduce these critical features any time soon. The community understood that for Node.js to remain relevant, it must be updated regularly.

Node.js runs on Google Chrome’s fast V8 JavaScript engine. Google relentlessly updates V8 to meet the needs of its Chrome browser, which produces a major release every 6 weeks. New language features described in JavaScript standards like EcmaScript 2015 (or ES6) need to be first implemented by V8 before these features are available in Node.js. The new project, io.js, would contain many of the new features that were introduced to Node 0.11, but without the stability issues that were introduced to the code base. A stable yet stuck in the past Node.js, not able to move at the speed of the web, isn’t beneficial to the community. However, it was similarly unproven that a community driven open source project would be able to deliver a reliable server product on a 6-week release cadence while integrating all the latest language features.

More Than Just Code

Over the summer of 2015, I attended NodeConf 2015, a conference where the most dedicated members of the Node community get together to discuss and teach Node.js. The mood at the conference was less than festive. The divorce with Joyent proved to be stressful and draining. One of most hotly debated topics of NodeConf 2015 was on the balance of corporate needs versus technologists who don’t mind running cutting edge versions of Node.js/io.js in production. I played devil’s advocate representing corporations who wouldn’t be willing to upgrade to new versions more than about once a year.

Another major topic was on the inclusiveness of the community, and whether it can grow and thrive beyond the group of core maintainers while putting in place strong non-discrimination rules in place.

The human aspect of open source projects is arguably one of the best features of Node.js. NodeConf has demonstrated that the Node community is a few steps ahead of the industry on this one. We must all work to adopt explicit Code of Conduct rules at events we organize to preserve a collaborative and inclusive environment. You can fork the Code of Conduct of the Meetup that I organize.

Challenge

In 2016, I encourage and challenge you to review your conduct policies and ensure you have something written down and accessible to everyone. I also urge you to go one step further and familiarize yourself with Open Source Governance. Going all in with open source and open governance will soon be the expectation, not the exception.

In Part 2 of this blog post, I’ll cover how Node.js overcame its troubles and set itself up for a bright future.

You Might Also Like

Resources

Simplifying Tech Complexities and Cultivating Tech Talent with Dustin Gaspard

Technical Program Manager, Dustin Gaspard, join host Javier Guerra, of The TechHuman Experience to discuss the transformative...

Resources

How Federal Agencies Can Deliver Better Digital Experiences Using UX and Human-Centered Design

Excella UX/UI Xpert, Thelma Van, join host John Gilroy of Federal Tech Podcast to discuss...