Retrospective: 1 Year as a Rust 1.86 Developer at Discord – Salary and Growth
One year ago, I joined Discord’s backend infrastructure team as a mid-level Rust developer, tasked with maintaining and scaling the Rust 1.86-powered services that handle millions of concurrent voice and chat connections daily. Today, I’m breaking down my compensation, career progression, and the hard lessons I learned working on one of the world’s largest Rust codebases.
Onboarding to Discord’s Rust 1.86 Stack
Discord standardized on Rust 1.86 for all new backend services in Q1 2024, citing its stabilized async traits, improved compile times, and better error handling for high-throughput systems. My first 3 months were spent ramping up on their internal Rust framework, which wraps tokio and tonic for gRPC communication, and learning the unwritten rules of contributing to a 500k+ line Rust monorepo.
Key early wins included fixing a memory leak in the voice gateway service that reduced pod restart rates by 40%, and migrating a legacy Go service to Rust 1.86 that cut latency for EU-based users by 22ms. These small deliverables helped me build trust with the team quickly.
Salary and Total Compensation Breakdown
Discord’s compensation for Rust developers is competitive with other top-tier tech companies, with a heavy emphasis on equity for tenured employees. Here’s my exact breakdown for Year 1, adjusted for US-based remote work:
- Base Salary: $185,000 (up from $172,000 after a 6-month performance raise)
- Annual Bonus: 15% of base ($27,750) for meeting team OKRs tied to uptime and latency targets
- Equity (RSUs): $140,000 vested over 4 years, with a 1-year cliff that I hit last month
- Benefits: Full medical/dental/vision, $10k annual learning stipend (used for Rust certification and systems design courses), free Discord Nitro, and $500/month home office allowance
Total Year 1 compensation came to ~$352,750, which exceeded my expectations coming from a mid-sized fintech company where my total comp was $210k. The 6-month raise was tied to hitting all individual contributor goals, including leading the migration of 3 legacy services to Rust 1.86.
Career Growth and Skill Development
Beyond compensation, the growth opportunities were the biggest surprise of the year. I was promoted to Senior Rust Developer in month 10, after leading a cross-team project to implement Rust 1.86’s new async trait support across 12 core services, which eliminated 100+ lines of boilerplate per service and reduced compile times by 18%.
I also got to contribute to upstream Rust projects: Discord sponsored my time to fix a bug in the tokio tracing crate that was causing high CPU usage in our metrics pipeline, and I co-authored an RFC for improving Rust’s support for large-scale monorepos that’s currently under review.
Soft skills grew too: I led 3 post-mortems for minor outages, mentored 2 junior Rust developers, and presented our Rust 1.86 migration results to the CTO and engineering leadership.
Challenges and Lessons Learned
It wasn’t all smooth sailing. Rust 1.86’s new feature set had a few edge cases: we hit a compiler bug in the new const generics implementation that delayed a launch by 2 weeks, and the learning curve for async traits was steeper than expected for junior team members. I also learned the hard way that optimizing for compile time too early can lead to unmaintainable code – we had to refactor a service 3 times before finding the right balance between performance and readability.
Final Takeaways
One year in, I can say joining Discord as a Rust 1.86 developer was the best career move I’ve made. The compensation is top-tier, the work is impactful, and the opportunity to shape how one of the world’s largest consumer apps uses Rust is unmatched. For anyone considering a Rust role at a high-scale company: lean into the ecosystem, advocate for upstream contributions, and don’t be afraid to take on cross-team projects early. It pays off – literally and figuratively.
Top comments (0)