Discord runs Rust in production for latency-sensitive backend services, most famously the Read States service it moved off Go. Here is what Discord builds in Rust, the public evidence, and how to get hired onto a team that uses it.
Discord is one of the clearest consumer-scale Rust adoption stories: a team of a few engineers rewrote a hot service in Rust and removed the tail-latency spikes that Go's garbage collector was causing.
By Max Wells, updated August 2026
TL;DR
- Discord uses Rust for backend services where predictable latency matters more than raw developer velocity.
- The best-known case is the Read States service, rewritten from Go to Rust in 2020 to kill periodic latency spikes from garbage collection.
- Rust also shows up in Discord's data plane and in client-adjacent native code.
- Hiring is concentrated on backend and infrastructure teams, not general product work.
- A strong systems project plus familiarity with async Rust and Tokio is the realistic entry path.
Does Discord Use Rust?
Yes. Discord has used Rust in production since at least 2020, when it published a widely read engineering post describing why it moved its Read States service from Go to Rust. Read States tracks which messages every user has read across every channel, so it is queried constantly and sits directly in the path of opening the app. On Go, the service showed regular latency spikes every two minutes, traced to garbage collection forcing a full scan of a large in-memory cache. Rewriting the service in Rust removed the spikes entirely, because Rust has no garbage collector and frees memory deterministically.
Since then Rust has become one of the standard choices at Discord for services where the cost of an unpredictable pause is high. It has not replaced Discord's primary application stack, which still leans on Elixir for real-time messaging fan-out and Python and Go for other services. Rust is the tool Discord reaches for when a specific service needs tight control over memory and latency.
What Discord Builds With Rust
The public and inferred picture looks like this:
- Read States service. The canonical example. A high-read, cache-heavy service where garbage collection pauses were a user-visible problem.
- Data plane and caching layers. Services that hold large working sets in memory and need consistent response times benefit from the same properties that helped Read States.
- Performance-sensitive libraries. Encoding, compression, and protocol handling code where a shared Rust library can be reused across services.
- Native client code. Parts of the desktop and mobile experience that need to run fast and compile to multiple targets are natural candidates for Rust, though Discord has said less publicly here.
The common thread is that Rust appears where a pause or a memory bug would be felt by millions of users at once.
The Evidence
- Discord's engineering blog post "Why Discord is switching from Go to Rust" (2020) is the primary source, with concrete latency graphs before and after.
- Follow-up conference talks and interviews from Discord engineers describe expanding Rust use into other backend services.
- Discord job postings for backend and infrastructure roles list Rust as a primary or preferred language.
- Discord engineers are active in the async Rust and Tokio communities, which is a reliable signal that the ecosystem is in daily use internally.
Hiring Signals
Rust roles at Discord cluster on backend, infrastructure, and platform teams rather than product feature teams. Typical titles include Software Engineer on Backend, Infrastructure Engineer, and Senior or Staff Software Engineer with a systems focus. Postings usually pair Rust with distributed systems, databases, and high-throughput service design.
For US-based roles, total compensation bands are broadly in line with other top-tier consumer companies:
- Mid-level backend engineer: roughly 190K to 240K USD total compensation.
- Senior engineer: roughly 250K to 330K USD.
- Staff and above: 350K USD and up, weighted heavily toward equity.
Discord hires remotely within the US and also from its San Francisco office. Rust is rarely a hard requirement on its own; it is expected that a strong systems engineer can pick it up, and interviews focus on systems design and general coding rather than Rust trivia.
How to Get Hired Onto a Rust Team at Discord
- Build one serious backend service in Rust. Something with a real datastore, async request handling with Tokio or Axum, metrics, and load tests. The Read States story is about latency under load, so show that you can measure and reason about it.
- Learn the async Rust model properly. Spawning, cancellation, backpressure, and where lock contention hurts. This is the part interviewers probe when they know a role uses Rust.
- Be strong on distributed systems fundamentals. Caching strategies, sharding, consistency, and failure modes. Rust is the implementation detail; the design conversation is the bar.
- Point at proof. A public repository, a write-up with before-and-after numbers, or a talk. Discord's own hiring content rewards candidates who can show measured results.
If you are targeting a Rust backend role generally, our guide on how to get a Rust backend job in 2026 covers the portfolio and interview prep in more depth.
Frequently Asked Questions
Did Discord really switch its whole backend from Go to Rust?
No. Discord rewrote specific services, most notably Read States. Its broader stack still uses Elixir, Python, and Go alongside Rust.
Why did garbage collection matter so much for Read States?
The service kept a very large cache in memory. Go's garbage collector periodically scanned the whole cache, which forced a latency spike every couple of minutes even when the code was already tuned.
Do I need to know Rust before applying to Discord?
Usually not as a hard gate. Interviews focus on systems design and general engineering. That said, a Rust project on your resume is a strong signal for backend and infrastructure teams.
Is Discord hiring Rust engineers remotely?
Discord hires remotely within the United States for many engineering roles and also staffs its San Francisco office. Check current postings for the specific team.
What should I learn first to work on Rust services like Discord's?
Async Rust with Tokio, a web framework such as Axum, and the fundamentals of caching and distributed systems. See our async Rust and Tokio guide.
Sources
Related Companies
Keep Reading
Last verified: August 2026.


