Hi all. I've slowly stepping my feet into the compiler world and ran across https://github.com/bytecodealliance/wasmtime/blob/main/docs/contributing.md#mentoring.
At the moment, I'm learning Rust and reading/doing the Crafting Interpreters book. My learning speed for Rust has been slow especially because I'm doing this outside of my job obligations. I've switched back and forth between learning the language and contributing to Rust-based OSS projects. It has been slow because I don't think I have the right mental model for Rust yet.
As you said "We're happy to mentor people, whether you're learning Rust", how would that work?
My goal is to be comfortable with Rust to the point where it becomes natural to implement the concepts in Crafting Interpreters and contribute to https://github.com/bytecodealliance/wasmtime/labels/good%20first%20issue without too much battle with the language itself.
I would love to hear some thoughts.
Hi @Vinh -- thanks for commenting!
We do indeed aspire to mentor folks, and we want to be as welcoming as possible. That's where our documentation comes from. That said, we're also currently in a situation where the core contributors on Wasmtime and Cranelift are stretched very thin with existing work and probably don't have the time for "classical mentoring" (walking you through how to build a thing, teaching how everything works, teaching how the language itself works, etc) -- or at least that's the case for me, if your level is still "learning Rust".
If others (Alex, Nick, Pat, ...?) want to chime in and volunteer as an active mentor, of course by all means don't let me stop you! But I just wanted to set likely expectations.
I'd recommend working through the interpreters book and any other project ideas you have with good Rust intro material (there's a lot out there!) and getting comfortable with both the language and the concepts in interpeters, compilers, and runtimes. If you're built a few toy instances of those and feel comfortable with them, you're a lot more likely to be able to pick up one of our tasks and be productive in our codebase.
All the best!
Thanks @Chris Fallin for the reply!
I indeed didn't expect the "classical mentoring" as it would consume too much time from the mentors.
I generally looked for advice on how to get ramp up on Rust and intepreters/compilers/runtimes. I don't have an education and industry background in all of these. However, I've been a SWE at several startups and bigtech for +5 years. So I can somewhat self-learn things as long as I know how to cut through the noise.
If you have books and materials you would recommend, please send them my way!
Thanks again for an encouraging reply!
Gotcha -- thanks for asking here and props for wanting to explore this area!
Aside from Crafting Interpreters that you mentioned, a few general directions to explore:
Once someone has background in all the above then Cranelift and Wasmtime are definitely more approachable. All the best!
Last updated: Dec 06 2025 at 05:03 UTC