Now is the time to bet big on Rust

For about 5 years now, tech giants have had access to a secret weapon: access to the world’s top Rust talent. With hiring freezes and layoffs as the trends du jour, they’re giving that access away.

Many of the strongest developers that I have known are currently looking for work. Even if teams are not affected directly by layoffs (yet), they’re still operating within a climate of fear and constraint. Everyone is worried if their job will be next to go. And even if they’re not directly affected, they’re riddled with survivor guilt and are constantly being distracted by corrosive discussions about the future of their team, their product and their company.

Why has Rust been a secret weapon?

There are very few companies in the world that can afford to pick an experimental technology. And even within those companies, it’s very difficult to persuade leadership to try things that are radically different. But sometimes, the status quo isn’t good enough.

  • Google has faced critical security issues within its Bluetooth drivers in Android for many years. Despite valiant effort, they were unable to eliminate these vulnerabilities from within C++. This essentially forced them to consider alternative languages. They’ve recently announced that they’ve been able to use 1.5 million lines of Rust code into Android, without detecting any security vulnerabilities. This compares to 1 vulnerability to 1k lines of C++ code using similar analysis.
  • Microsoft has been similarly plagued by security vulnerabilities within Windows and other applications. Rust was first deployed heavily within Azure, but has steadily been seen as viable alternative to C++ in other areas. So much so that it’s now part of the Windows 11 kernel.

Rust is bigger than systems programming

It’s not just large companies building core software infrastructure that can make use of this technology. Rust is a good fit whenever your business is concerned about cost. And right now, everyone is concerned about cost.

Rust code is cheap to run. Rust-based applications use less RAM and RAM is expensive. Tilde’s story from migrating from Ruby on Rails is illustrative. Their server agent went down from needing 5GB of RAM at rest to 50MB.

It’s easy to build and deploy Rust applications. Its sophisticated build system and rich package ecosystem work well together. You won’t need to worry about dependency hell or path mismatches at runtime.

Rust code is reliable. Your operations teams will love how easy it is to get something online and keep it available. You’ll never encounter a null pointer exception in Rust. Null pointers don’t exist within the language.

Web services, whether they’re deployed in a traditional manner or use the serverless model, are an ideal fit for Rust. There is no garbage collector which can affect tail latencies or create load spikes.

But it’s still scary

Adding a new programming language to the technology stack is still a difficult challenge. You’re right to be conservative and prudent. But you shouldn’t close the door completely to new ideas.

Adding another language complicates the build process. Suddenly you need to have some system that understands multiple languages.

It’s hard to hire Rust developers because it’s hard to evaluate them. Your senior developers don’t know Rust and therefore don’t know how to rank candidates. There’s also the problem of finding competent Rust talent. Rustaceans lurk in strange corners of the Internet.

Many people have been scared off by stories of Rust’s steep leaning curve (learning cliff?).

These problems and others are all tractable with the right advice and support.

Now — and here comes the pitch — I am one of the people affected by the layoffs I mentioned at the start of the post. My role at AWS, leading Rust education across Amazon, was dis-established this month. I was wildly successful internally helping the teams building the world’s largest web services learn Rust. And so, I want to replicate that success more broadly.

I am starting a business called Accelerant to enable teams to successfully validate and adopt Rust. If seeking advice is something that would be useful to you, please send me a note! tim@accelerant.dev.