I work in the Android Security team. In case you haven't seen it yet, we published s blog post last week about how we have scaled up the Rust adoption in Android and Google:
I hope the post will be interesting for people here! We explain that we wrote s new Rust course because we needed classroom training which covers more than the standard library.
We have been training more than 500 Google engineers in 2023, partly via a vendor, Immunant, we work with for this. We have been able to do 2-3 classes per month this year and I hope to keep up this pace going forward since the interest is enormous. As an example, I recently scheduled a new in-person class in the Zurich office and it was completely full in less than 25 minutes!
The blog post is also a big Thank You to the 200+ people from all over the world who have helped shape the class! The course is continuously evolving and improving thanks to the contributions of you all. I'm talking bug fixes, translations, new content, as well as actually teaching the class... thank you!
I've written about the course before here — it's all free and available online: Welcome to Comprehensive Rust 🦀 - Comprehensive Rust 🦀
It's available in several languages thanks to a large set of in-house and volunteer translators. We built the mdbook translation infrastructure ourselves for this:
I'm happy to answer any questions people might have about how we run the training at Google.
Others are welcome to use the training as well, as has already happened:
The course is split into four major parts:
This used to be the full course and which we called called Comprehensive Rust. However, then we became more ambitious and wrote more material...
- Rust in Android: a half-day course on using Rust for Android platform development. We also show interoperability with C, C++, and Java here. I would like to expand the CXX section here since it's super important for our Android engineers.
- Bare-Metal Rust: a full day about using Rust to write firmware in
no_std environments. I saw a presentation yesterday where @steveklabnik used some of the material:
- Concurrency in Rust: another full day about fearless concurrency. This covers both threads and the new async/await syntax.
We'll cover Wasm in the future — and other topics, depending on what people come up with!