Skip to main content
Software Engineering Daily

Node.js in 2026 with Rafael Gonzaga

53 min episode · 2 min read
·
Rafael Gonzaga

Episode

53 min

Read time

2 min

Topics

Fundraising & VC, Leadership, Software Development

AI-Generated Summary

Key Takeaways

  • HTTP Framework Performance: Switching from Express to Fastify can dramatically improve throughput without code changes. Combined with Pino logging instead of console.log or Winston, applications gain significant performance improvements through non-blocking event loop operations and optimized message queuing.
  • Benchmark Methodology: Valid JavaScript benchmarks require running each test configuration 30 times before and after changes, using statistical analysis with p-values below 0.05 to prove significance. Single-run comparisons produce misleading results due to machine variance and V8 optimizer behavior.
  • Breaking Changes Strategy: Node.js cannot enable performance features by default despite major improvements because breaking changes create migration chains affecting frameworks, then users. Features like permission model and optimized empty request handling remain opt-in flags to prevent ecosystem disruption.
  • Performance Measurement Duration: Running Node.js complete benchmark suite takes 84 hours using proper statistical methods across multiple platforms. This explains why regressions slip through releases—comprehensive performance validation before each version is practically impossible given time constraints.

What It Covers

Rafael Gonzaga, Node.js Technical Steering Committee member, explains Node.js performance optimization, benchmarking methodology, security features, and the technical challenges of maintaining critical infrastructure used by millions of production systems worldwide.

Key Questions Answered

  • HTTP Framework Performance: Switching from Express to Fastify can dramatically improve throughput without code changes. Combined with Pino logging instead of console.log or Winston, applications gain significant performance improvements through non-blocking event loop operations and optimized message queuing.
  • Benchmark Methodology: Valid JavaScript benchmarks require running each test configuration 30 times before and after changes, using statistical analysis with p-values below 0.05 to prove significance. Single-run comparisons produce misleading results due to machine variance and V8 optimizer behavior.
  • Breaking Changes Strategy: Node.js cannot enable performance features by default despite major improvements because breaking changes create migration chains affecting frameworks, then users. Features like permission model and optimized empty request handling remain opt-in flags to prevent ecosystem disruption.
  • Performance Measurement Duration: Running Node.js complete benchmark suite takes 84 hours using proper statistical methods across multiple platforms. This explains why regressions slip through releases—comprehensive performance validation before each version is practically impossible given time constraints.

Notable Moment

A researcher demonstrated how physically shooting a gun inside a data center increased disk IO operation latency, proving that environmental variance affects benchmark results and why proper statistical analysis with multiple test runs is essential for valid performance measurements.

Know someone who'd find this useful?

Episode Transcript

JavaScript has grown far beyond the browser. It now powers millions of back end systems, APIs, and cloud services through Node. Js, which is one of the most widely deployed runtimes on the planet. Keeping such a critical piece of infrastructure fast, secure, and stable is a massive engineering challenge, and the work behind it is often invisible. Rafael Gonzaga is a principal open source engineer at NodeSource and a member of the Node. Js technical steering committee. He's spent years digging into the performance and security layers of Node's core, helping shape the direction of the runtime itself. Rafael joins the show to talk about the state of Node. Js performance, how benchmarking really works, the balance between speed and stability, and what it means to contribute to one of the world's most important open source projects. This episode is hosted by Josh Goldberg, an independent full time open source developer. Josh works on projects in the TypeScript ecosystem, most notably TypeScript ESLint, a powerful static analysis toolset for JavaScript and TypeScript. He is also the author of the O'Reilly Learning TypeScript book, a Microsoft MVP for developer technologies and a cofounder of SquiggleComp, a conference for excellent web developer tooling. Find Josh on Blue Sky, fostidon,and.com as Joshua k Goldberg. With me today is Rafael Gonzaga, Principal Open Source Engineer at NodeSource. Rafael, welcome to Software Engineering Daily. Hello. Thank you. I'm happy to be here. Well, we're excited to have you. You do a lot of great stuff with Node. Js and performance and user land libraries. But before we get into all that, how did you get into coding? Well, it started since I was a teenager. I always been in computers since since I was young. I played a lot of games, but my father is blind. And back in the time, he couldn't make a few things on the computer because of the disability. And then I started creating a visual or kind of talkback. I tried to do that at least. And then my journey in the computer science started. I tried to make it happen with Python, Python two back in the time. I don't remember. I couldn't make it work, but then I learned, okay. This is how I could make a calculator. This is how I could make, things to work. So I started there. But till now, I couldn't make it. But there are plenty of good apps nowadays that he uses, and I'm still helping with some plugins and things like that. So do you have experience then with accessibility technology and writing things for folks who are, for example, blind? To be honest, my focus is on back end. So accessibility on web browsers is not my thing. But I know exactly the problem that it causes because very often, my father calls me. Okay? Facebook is not working anymore. They changed something. Can you help me? And then I need to write a Chrome extension that …

Get the full transcript (8,718 words) + summary by email — free

One-time email with the complete transcript and AI summary of this episode. No account needed.

One email, no spam. We’ll also show you what SignalCast does.

Browse all Software Engineering Daily transcripts →

You just read a 3-minute summary of a 50-minute episode.

Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

Books, tools, and gear mentioned in this episode

SignalCast may earn commission on purchases via these links.

Tools

  • FastifyRecommended
    Switching from Express to Fastify can dramatically improve throughput without code changes.
  • Switching from Express to Fastify can dramatically improve throughput without code changes.
  • Combined with Pino logging instead of console.log or Winston, applications gain significant performance improvements through non-blocking event loop operations and optimized message queuing.
  • PinoRecommended
    Combined with Pino logging instead of console.log or Winston, applications gain significant performance improvements through non-blocking event loop operations and optimized message queuing.

More from Software Engineering Daily

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.

You're clearly into Software Engineering Daily.

Every Monday, we deliver AI summaries of the latest episodes from Software Engineering Daily and 192+ other podcasts. Free for one show.

Start My Monday Digest

No credit card · Unsubscribe anytime