NodeConf EU 2024

Last week, I was lucky enough to be able to speak at NodeConf EU. It was a great experience, and I wanted to share some of my impressions and reactions.

At some point earlier this year, a colleague pointed me at the TC39 Explicit Resources Proposal, a new way of managing resources like file handles or sockets in Javascript, as a way of resolving some issues we’d been having with servers hanging on close. I ended up taking a deeper dive than I’d expected, and wrote up what I’d learned in a blog post.

A couple of months later, I saw online that NodeConf EU had a call for proposals open, and figured I should submit a talk there based on the blog post I’d written. I submitted a summary of the talk, along with a couple more details and a link to the original blog post. Shortly after that, they emailed me to say that I’d been accepted — I was off to NodeConf!

The Location

The venue for NodeConf EU this year was Waterford Castle, a golf course and hotel built on an island near the city of Waterford. This turned out to be harder to get to than I’d initially planned, and involved a train, a flight, a bus ride, a taxi, and a ferry, but was admittedly a stunning location for a conference. As a speaker, my accommodation was kindly provided by the conference. The island itself is apparently also a nature reserve, with various animal residents including an albino wallaby who popped up a couple of times while we were there.

The Talks

The structure of the conference was to have a morning filled with relatively short (~25 minute) talks, and 2-3 workshops each afternoon. There was one track in the morning, and two tracks in the afternoon, so I got to see almost all of the talks. All the talks will also be available online, so I won’t go over everything here, but I will mention some of my favourites.

A number of the talks went over implementing new features in Node.js, including native Typescript support (Marco Ippolito), ESM detection (Geoffrey Booth), and require(ESM) (Joyee Cheung). It was interesting to see how these sorts of changes get implemented in Node.js, both in terms of the implementation work, and the challenge of finding and coordinating a solution that works for everyone involved. In a similar vein, there was also a talk from Jean Burellier, one of the new Express maintainers, about the Express v5 release and the (literal decade of) work that’s gone into getting that released.

James Snell, who, among other things, works for Cloudflare on the Workers runtime (essentially another Javascript runtime like Node.js, Deno, and Bun) talked about all the subtle differences between different runtimes. He discussed what it means to truly be compatible with Node.js and provided a number of examples. He also explained why simply having the same API isn’t enough — to be truly compatible, you need to be aware of subtle things like the ordering of different events, or different error codes and messages.

There was an interesting talk on hunting malware with AI from Mikola Lysenko, who discussed how to solve problems using LLMs at scale, especially given the current costs of more advanced LLMs.

And of course there was my talk!

My Talk

I’m not going to say much about the contents of my talk — you can find my original article here, and the talk will hopefully be uploaded to YouTube at some point in the future. That said, I was happy with the results — people seemed to be interested, the one moment of audience participation worked as planned, and I had a couple of good conversations about it afterwards (which always feels like the most important criteria!). I talked much too quickly as usual, but that didn’t turn out so badly given the shorter time slot.

A particular point of pride is talking to Jordan Harband (TC39 member, and developer of one of the polyfills for explicit resource management) after the talk, and hearing him tell me that he hadn’t noticed any mistakes in it!

The Participants

I’ve been to a few conferences before, both as a participant and as a speaker, but one of the things that surprised me about this one was just who was attending the conference. A lot of people were maintainers or contributors to Node.js itself, maintainers of key libraries in the ecosystem, or generally active members of the Javascript community. That said, there were still plenty of people there who were not involved in the open source scene like that, and it was great to hear stories from people who were using Node.js in all sorts of different contexts and applications.

It was also a very motivating group of people — lots of people with interesting stories of open-source development, and others with stories of challenges solved and challenges to be solved in their companies. In the social time between talks and after hours, there was a good mix of technical discussion and enjoyable banter. As an Englishman, a highlight was helping an Irishman explain the complicated history of the English rule over Ireland to an American. And most of all, everyone I met was incredibly friendly, welcoming, and reassuring.

People came from all over Europe and North America (and possibly from further afield), but I did feel like the group was very male-dominated. I realise this is something that the organisers only have limited control over, but it was a small disappointment in what was otherwise a fantastic conference.

Conclusion

NodeConf 2024 was a fantastic conference, and I’m really glad I was able to take part, and even give a talk there. I’m already looking forward to the next chance I get to go! If you’re thinking about going, I recommend it — if you’ve got an interesting talk idea, consider submitting it as well.

As I mentioned earlier, the talk I gave should be available on YouTube at some point. In the meantime, you can read the original post here.