Go offline with the Player FM app!
76: From C to Rust on Mobile
Manage episode 491200331 series 2199371
What happens when decades-old C code, powering billions of daily messages, starts to slow down innovation? In this episode, we talk to Meta engineers Elaine and Buping, who are in the midst of a bold, incremental rewrite of one of our core messaging libraries—in Rust. Neither came into the project as Rust experts, but both saw a chance to improve not just performance, but developer experience across the board.
We dig into the technical and human sides of the project: why they took it on, how they’re approaching it without a guaranteed finish line, and what it means to optimise for something as intangible (yet vital) as developer happiness. If you’ve ever wrestled with legacy code or wondered what it takes to modernise systems at massive scale, this one’s for you.
Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host Pascal (https://mastodon.social/@passy, https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/.
Timestamps
Intro 0:06
Introduction Elaine 1:54
Introduction Buping 2:49
Team mission 3:15
Scale of messaging at Meta 3:40
State of native code on Mobile 4:40
Why C, not C++? 7:13
Challenges of working with C 10:09
State of Rust on Mobile 18:10
Why choose Rust? 23:36
Prior Rust experience 28:55
Learning Rust at Meta 34:14
Challenges of the migration 37:47
Measuring success 42:09
Hobbies 45:15
Outro 46:41
81 episodes
Manage episode 491200331 series 2199371
What happens when decades-old C code, powering billions of daily messages, starts to slow down innovation? In this episode, we talk to Meta engineers Elaine and Buping, who are in the midst of a bold, incremental rewrite of one of our core messaging libraries—in Rust. Neither came into the project as Rust experts, but both saw a chance to improve not just performance, but developer experience across the board.
We dig into the technical and human sides of the project: why they took it on, how they’re approaching it without a guaranteed finish line, and what it means to optimise for something as intangible (yet vital) as developer happiness. If you’ve ever wrestled with legacy code or wondered what it takes to modernise systems at massive scale, this one’s for you.
Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Instagram (https://instagram.com/metatechpod) and don’t forget to follow our host Pascal (https://mastodon.social/@passy, https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/.
Timestamps
Intro 0:06
Introduction Elaine 1:54
Introduction Buping 2:49
Team mission 3:15
Scale of messaging at Meta 3:40
State of native code on Mobile 4:40
Why C, not C++? 7:13
Challenges of working with C 10:09
State of Rust on Mobile 18:10
Why choose Rust? 23:36
Prior Rust experience 28:55
Learning Rust at Meta 34:14
Challenges of the migration 37:47
Measuring success 42:09
Hobbies 45:15
Outro 46:41
81 episodes
All episodes
×Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.