In this conversation celebrating the 10 years of Node.js, Tomas della Vedova shares his thoughts on the most significant features and milestones of Node.js, where to find the ‘dark magic’ and why async iterators are a popular feature.
Before we delve into your world of software and code, can you tell us a little bit about yourself and your background?
I’m from a small town in Italy, and I’ve always been passionate about technology and design, and I enjoy listening to music all day long. I graduated in Web and Multimedia technologies, and I started “playing” with computers around my 16 years. I’ve started coding around 7 years ago, and I’ve enjoyed it ever since.
Around 4 years ago, I started contributing to Open Source, and every day I try to give something back to the community that so much gave to me.
So firstly, can you tell us why the Node.js community important to you?
It enables me to do anything I want. I can experiment, build prototypes, or full products. Node.js’s flexibility is simply fantastic.
How long have you been working with Node.js and, in your opinion, what have been the most pivotal milestones in the project?
I’ve been working with Node.js since v0.11, but I started working ‘professionally’ with it around Node v4. For sure the two most important events were the transition to io.js and back and the introduction of async await syntax.
To what do you attribute the sustained growth and usage of Node.js in the ecosystem?
Its simplicity and its huge community.
What do you see as the most popular features in the latest release lines of Node.js that will continue to drive further adoption?
The new async iterator above all. It makes stream handling very easy even for newcomers.
Node.js pushes developers to become more efficient in both aspects of development, front-end and back-end, improving productivity for enterprise teams. Are full-stack developers the future?
They may be not the future, but knowing a little of the ‘other world’ is critical.
Do you think there is some nostalgia in the community at large that will keep Node.js popular or do you see new generations of developers embracing it?
I think that also a new generation of devs will embrace it, as the flexibility is incredible. You can easily build a simple program or a complex system, all with the same tools.
Generally, overall downloads of all Node.js versions combined have continued to grow – by 40% year-over-year and more than 1 million times each day of 2018. However, the growth in new contributors has slowed somewhat. Is this a cause for concern or just a signal of greater stability in the larger Node ecosystem?
I would say greater stability, but also because often people are afraid of contributing. The Node.js team is already doing an amazing job by helping people contribute. Another step we can do is to teach and help people understand what means to contribute and that everyone can do it.
Last year Forrester called out Node.js’s versatility, staying power and relevance: “It is moving beyond being simply an application platform, and beginning to be used for rapid experimentation with corporate data, application modernization, and IoT solutions.” Is there potential for this versatility to continue to grow, opening new experimentations and opportunities?
Best Feature of the past 10 years?
Unpopular opinion: require. Its flexibility is incredible, it allows you to do any kind of “dark magic” and figure out smart solutions to a variety of problems. But also async iterators.
Best Reason to adopt in the enterprise?
Speed of development
Most Common pitfalls/programming mistakes to avoid?
Going full async/await before to learn callback style.
Best Node.js Performance tricks?
Fastify codebase contains some neat tricks!
Will you be joining the Node.js community at NodeConfEU 2019? If you are, what are you most looking forward to?
Yes! Looking forward to meeting people, and sharing with them the joy of working daily with Node.js!
Thank you for your time, Tomas!