When Rust Rusts the Developer Experience
According to Stack Overflow’s 2024 Developer Survey, Rust is the most admired programming language. It promises fast code while keeping memory safety in mind. No wonder it has become the darling of conference talks and GitHub projects alike. But behind the strong narrative and Stack Overflow badges lies another reality, one that doesn’t always make it to the spotlight. Rust demands discipline and fluency. The same features that make it powerful can also make it punishing, especially in teams that need to move fast and grow faster. A team’s Rust experiment, detailed in a Medium blog post, ended in a company-wide ban, despite the language technically delivering on its promises. Where Rust Broke the Team At first, things looked promising. The rewrite of a high-traffic, bug-ridden service into Rust went smoothly. Memory leaks disappeared. The system ran faster and scaled better. From a technical standpoint, Rust delivered exactly what it promised. But the real problems started once the team got back to building features. Progress slowed. Engineers, even the senior ones, often found themselves stuck, trying to untangle Rust’s strict rules around lifetimes and trait bounds. New developers needed weeks, not days, just to get comfortable enough to make changes. The learning curve was too steep, and day-to-day development took a hit. During a sprint review, the CTO posed a simple question: “If this wasn’t Rust, would this feature have shipped already?” No one answered. That silence marked the beginning of the end. Besides, hiring added more pressure. Job listings for Go or Python roles brought in hundreds of qualified candidates. Rust roles? Just a handful, and none with real production experience. Most Rust developers preferred contributing to open source or joining early-stage startups, not jumping into fast-moving product teams. The blog post mentioned that the tooling wasn’t great either. While Rust’s compiler and package manager worked well, the rest didn’t fit. DevOps tools, internal scripts, and monitoring systems had all been built around Go and JVM. Rust forced the team to maintain a second, isolated toolchain, one that often broke. A week later, leadership made the call that Rust would no longer be approved for production services. Existing code could stay, but no new features or projects were to be written in it. Pratham Patel, a member of Rocky Enterprise Software Foundation, told AIM, “I agree that the pain points pictured are a real problem with Rust.” However, Patel also highlighted, “Developers in an organisation should be familiar with Rust before trying to fit it in their use-cases.” Worst of all, the team realised they had solved the wrong problem. Rust fixed memory bugs, yes, but their biggest challenges were actually around complex business logic and team speed. And Rust made both harder. Even Microsoft Chose Go The challenges of adopting Rust are not limited to small teams. Even Microsoft, a company with ample engineering firepower, opted to rewrite the TypeScript compiler in Go, not Rust. The decision sparked debate online, with many surprised by the choice. Yet Ryan Cavanaugh, a lead TypeScript developer, explained that Rust introduced ‘unacceptable’ trade-offs in portability and ergonomics. Efforts to port the compiler to Rust ran into issues like having to write a custom garbage collector. In contrast, Go offered automatic memory management, simpler concurrency primitives, and a gentler transition from JavaScript. Anders Hejlsberg, TypeScript’s chief architect, put it plainly: “If you’re coming from JavaScript, you’re going to find a transition to Go a lot simpler than the transition to Rust.” INDMoney also uses Golang to power its real-time data streaming ability. Microsoft’s choice reflects a broader reality: Rust might be performant, but adopting it means adapting one’s entire engineering mindset, something even large organisations may find too costly. But for the Right Team, Rust Delivers Yet, none of this means Rust is a mistake. For teams with the right expertise and problems, it can unlock immense performance gains. Amazon Prime Video recently rebuilt its UI stack in Rust and WebAssembly, slashing latency by over 7x on some devices. According to principal engineer Alexandru Ene, animations that weren’t even possible in React now ran smoothly in Rust. Companies like Meta, Figma, and Discord run critical infrastructure on Rust. In a Medium article, Yuji Isobe, vice president of engineering at NearMe, shared how he significantly enhanced JavaScript performance using Rust and WebAssembly. These examples suggest that when used selectively, Rust can be transformative.
“I agree that the pain points pictured are a real problem with Rust.”
“I agree that the pain points pictured are a real problem with Rust.”
["programming", "Rust"]
["Go", "AI", "programming", "JavaScript", "Git", "TypeScript", "Python", "Aim", "Rust", "R", "Java"]
["AI", "Aim", "Python", "R", "JavaScript", "TypeScript", "Go", "Rust", "Java", "Git"]
I am a tech aficionado and a computer science graduate with a keen interest in AI, Coding, Open Source, and Cloud. Have a tip? Reach out to ankush.das@aimmediahouse.com