Rust at the Core - Accelerating Polyglot SDK Development

Summary

Disclaimer: This summary has been generated by AI. It is experimental, and feedback is welcomed. Please reach out to info@qconsf.com with any comments or concerns.

The presentation "Rust at the Core - Accelerating Polyglot SDK Development," delivered by Spencer Judge, focused on utilizing Rust to develop SDKs across multiple languages efficiently. Spencer shared insights from his experience at Temporal, where Rust serves as a core component in a polyglot SDK development architecture.

Key Points Covered

  • Shared Core Architecture: Discussed the importance of having a shared core written in Rust, which supports multiple language layers built on top, thus reducing redundancy and improving consistency.
  • Language Bridges: The session explained the use of Rust to create language-specific bridge layers that facilitate communication between the shared core and the SDK in various host languages.
  • IDEs and Serialization: Spencer highlighted the significance of Interface Definition Languages (IDLs) and serialization for representation of shared objects across different languages.
  • Asynchronous Operation Representation: Explored the challenges and solutions of representing asynchronous tasks across language boundaries.
  • WebAssembly: Considered the possibilities of using WebAssembly to avoid native extension issues, providing greater portability.
  • Rust's Advantages: Emphasized Rust’s safety, expressiveness, and the support from a growing community, making it a suitable candidate for this architecture.
  • Limitations and Pitfalls: Addressed some challenges such as debugging across language boundaries and the need for more mature support in some languages.

Conclusion

The speaker concluded by affirming that adopting a Rust-based core for SDK development resulted in significant time savings and reduced bugs due to fewer redundancies. Participants were encouraged to consider Rust and helper libraries for developing multi-language SDKs, focusing on creating idiomatic and efficient user experiences.

This is the end of the AI-generated content.


Abstract

Developing SDKs for your users in multiple languages can come at a high cost - especially if you need to implement complex logic client side, but traditionally options for sharing logic across those languages have been quite limited.

Rust provides a means of defining shared logic usable from multiple languages, much like you could with C, without having to… write C. Combined with an IDL for representation of shared objects, you have a powerful means to keep your language-specific layer thin.

In this presentation I’ll explain the architecture of Temporal’s open source SDKs, and how we use it to centralize some extremely complex logic across 5 user-facing SDKs written in different languages.

Topics will include:

  • What Rust helps us with
  • IDL choices and serialization concerns
  • Asynchronous task representations across language boundaries
  • Compiling to WebAssembly to avoid native extension issues
  • Staying idiomatic in the host language
  • Limitations and pitfalls

Interview:

What is your session about, and why is it important for senior software developers?

My session is about how devs who need to work in multiple languages can leverage Rust as a safe, modern, foundation for shared logic. Thereby keeping their language-specific layers thinner. This is by no means a new technique, but Rust provides a much safer and more convenient alternative to C.

Why is it critical for software leaders to focus on this topic right now, as we head into 2026?

The language landscape slowly, but inexorably, continues to expand. Developers expect to be met where they are, in their language of choice. The techniques in my talk allow library developers to more efficiently expand their coverage to additional languages than they could otherwise. Additionally, relatively recent technologies like WebAssembly unlock new and powerful alternatives to shipping native code, and Rust is at the forefront of that ecosystem.

What are the common challenges developers and architects face in this area?

Communicating between the native code and the language layer is nontrivial, especially when many languages are involved. Supporting a large matrix of operating systems and architectures can be a challenge, as can packaging and shipping the native extensions (for related reasons). I'll cover some techniques for solving these problems.

What's one thing you hope attendees will implement immediately after your talk?

Immediately is a hard goal - but hopefully attendees will come away with some ideas for how they can either refactor an existing multi-language project to reduce its complexity, or a battle plan for any new project with such needs. They may also decide to familiarize themselves with Rust if they aren't already, which can be useful not only for the scenarios my talk covers, but possible usages of Rust beyond that.

What makes QCon stand out as a conference for senior software professionals?

QCon's long history stands out to me. It has a reliable reputation for delivering quality content, and avoids being overly marketing-heavy or trend-chasing. It appeals to senior engineers who are in search of genuinely deep technical content. 


Speaker

Spencer Judge

Engineering Manager @Temporal Technologies, previously Senior Software Engineer @Transparent Systems, Senior Software Engineer @ Tableau Software

Spencer has worked on tools, libraries, and products for other Developers for over a decade. He has a longstanding interest in, and passion for, learning and developing in multiple languages.

Currently he leads the SDK team at Temporal, which develops libraries providing durable execution in 8 languages.

Spencer lives in Seattle and enjoys spending his free time on endurance sports and rock climbing.
 

Read more
Find Spencer Judge at:

From the same track

Session CI/CD

Keeping the Mainline Green Across Diverse Language Monorepos

Monday Nov 17 / 02:45PM PST

At Uber’s scale, ensuring an always-green mainline while processing hundreds of changes per hour is a massive challenge— especially when those changes span multiple language monorepos supporting dozens of business-critical apps.

Speaker image - Dhruva Juloori

Dhruva Juloori

Senior Software Engineer @Uber, Core Contributor to SubmitQueue (Uber's CI System at Scale), Expert in Machine Learning, Distributed Systems, and Developer Productivity

Session AI/ML

Secure Software Supply Chain: Risk Prediction at the Speed of Development

Monday Nov 17 / 01:35PM PST

The Platform That Sees Risk Before Code Does

Speaker image - Bishwajeet Paul

Bishwajeet Paul

Architect, Platform Engineering @JPMorgan Chase - Specializing in Solving Complex Challenges for the Developer Community

Session Fleet Management

Confidently Automating Changes Across a Diverse Fleet

Monday Nov 17 / 11:45AM PST

Maintaining up-to-date and secure software across a polyglot fleet is a challenge for any engineering organization. Manual migrations and urgent updates disrupt productivity and require coordination across many teams.

Speaker image - Casey Bleifer

Casey Bleifer

Senior Software Engineer @Netflix

Session AI

Designing AI Platforms for Reliability: Tools for Certainty, Agents for Discovery

Monday Nov 17 / 10:35AM PST

Modern AI platforms don’t have to choose between deterministic precision and probabilistic exploration—they need both.

Speaker image - Aaron Erickson

Aaron Erickson

Senior Manager and Founder of the DGX Cloud Applied AI Lab @NVIDIA, Previously Engineer @ThoughtWorks, VP of Engineering @New Relic, CEO and Co-Founder @Orgspace

Session Vibe Coding

Directing a Swarm of Agents for Fun and Profit

Monday Nov 17 / 05:05PM PST

Coding agents are a new tool, which many of us are trying to figure out how to use effectively.

Speaker image - Adrian Cockcroft

Adrian Cockcroft

Technology Advisor and Consultant @OrionX.net, Previously VP Open Source and Sustainability @Amazon, Cloud Architect @Netflix, Distinguished Engineer @eBay