Awesome Rust Mentors - github
New mentees
Welcome to awesome rust mentors! This project is a curated list of Rustaceans who are ready and willing to act as mentors to new Rustaceans looking to get more involved in the language and/or its community. If that sounds interesting to you, check out the rules and our list of mentors, pick one at random or maybe based off of their bio, and make a friend!
Expectations For Mentees
Mentees are expected to…
- Remember that our mentors are all volunteers, be kind and friendly.
- Inform us if you have any problems with your mentor, such as violating the Code of Conduct (CoC) or being non responsive for a long period of time (approximately > 1 week or so).
- Provide feedback, on this repository or on your mentor, let us know if there are any ways in which we are not serving your needs, this project is all about you after all, help us help you.
Missing Mentor Topics
If there are any topics of interest that you’re looking for that aren’t covered by any of the mentors here just open an issue to let us know! We will do our best to find a mentor for that topic / library / whatever and get them to sign up.
Exercism.io
If you’re looking for someone to mentor solutions for exercism.io just look for mentors that have exercism.io
as one of their mentor topics, they will be happy to help.
Code of Conduct
All mentors and mentees are expected to abide by the Rust community code of conduct. Violators will be removed from this list.
New Mentors
To apply, please open a PR that adds an entry for yourself to _includes/mentors.md
.
Expectations For Mentors
Mentors are expected to…
- Be a friend and guide to your mentee, be their constant cheerleader, and enable them to achieve their goals.
- Provide constructive feedback, pass on things you’ve learned in the course of working in open source.
- For example, if your mentee is working on something cool encourage them to blog about it, give a talk about it at a local meetup, or both!
- Be responsive, approximately < 1 day for a response is a good goal. Not getting feedback for long periods of time can be discouraging, even if all you can do is say that you’re busy, try to respond promptly.
- Introduce your mentee to other Rustaceans. You aren’t expected to know everything that your mentee might be interested in, but knowing people who can help and facilitating introductions is important.
Mentors are not expected to…
- Be a tutor. Mentors and Tutors are not the same, one advises, the other teaches. You are not expected to teach your mentee the language, only to advise them on how to participate in the Rust community.
- Be a manager. You’re not expected to assign work to your mentees and make sure it gets done, thats a job in its own right. Though if you’re maintaining a project that your mentee is getting involved in maybe this doesn’t apply to you, but that’s more of a maintainer role than a mentor role.
- Be paid. This is a volunteer service. Please do not plan on asking mentees to pay you for your time.
Project Mentorship
See https://rustbeginners.github.io/awesome-rust-mentors/
Turtle - Create Animated Drawings Quickly and Easily in Rust
- Repo: https://github.com/sunjay/turtle
- Contact: https://turtle.zulipchat.com/
- Spoken Languages: English, Canadian English
- Recommended Experience: Beginner - Intermediate
- Topics: 2D Computer Graphics, Game Engine, Interprocess-Communication, Async, WebAssembly
Dotenv-linter - ⚡️ Lightning-fast linter for .env
files. Written in Rust 🦀
- Repo: https://github.com/dotenv-linter/dotenv-linter
- Contact: https://twitter.com/mgrachev
- Spoken Languages: English
- Recommended Experience: Beginner
- Topics: CLI, Linters, Dotenv
OpenPowerlifting - Database, compiler, webserver, and data for the sport of Powerlifting. It’s all Rust!
- Repo: https://gitlab.com/openpowerlifting/opl-data
- Contact: https://openpl.zulipchat.com/ (Say hi, or message Sean Stangl if you’re shy!)
- Spoken Languages: English, Esperanto
- Recommended Experience: Beginner - Intermediate
- Topics: Webservers, Compilers, Databases, Data Analysis
cargo-tarpaulin - Code coverage for rust, source analysis, tracing, reporting
- Repo https://github.com/xd009642/tarpaulin
- Contact Email (danielmckenna93@gmail.com) Discord (xd009642#3296)
- Spoken Languages: English
- Recommended Experience: All
- Topics: Code coverage, CLI tools, Interprocess Communication, Binary analysis
Linfa - A Rust machine learning framework
- Repo: https://github.com/rust-ml/linfa
- Contact: https://rust-ml.zulipchat.com/
- Mentors: https://github.com/quietlychris, https://github.com/bytesnake
- Spoken Languages: English, German
- Recommended Experience: Beginner - Intermediate
- Topics: Machine Learning, Data analysis, Clustering, Algorithms
Individual Mentorship
See https://rustbeginners.github.io/awesome-rust-mentors/
Aaron Hill (@Aaron1011)
- Contact Discord (Aaron1011#7024), Email (aa1ronham@gmail.com)
- Spoken Languages: English
- Topics: Beginners,
rustc
(parser, diagnostics, traits, crate metadata), proc-macros, pin projections, miri - Additional Resources: I help maintain pin-project
Ahmed Masud (@ahmed-masud)
- Pronouns: he/him/they/them
- Contact: Twitter:(@ahmedmasud, Email (ahmed.masud@saf.ai)
- Spoken Languages: English, Hindi, Urdu, some French, translate.google.com in a pinch,
- Topics: Beginners, Basics, CLI, Async, Machine-Learning, AI, File systems, Kernel development, opinions on managing complex projects
- Additional Resources: I am a relative beginner in Rust, but I have a lot of experience in software engineering and systems design (~30 years) I will share all the ways I’ve made mistakes :-) so you don’t have to repeat any of mine.
Amit Upadhyay (@amitu)
- Pronouns: Amit Upadhyay
- Contact: Email (amitu@acko.com)
- Spoken Languages: English, Hindi
- Topics: Web Development, CLI, Database, Realm
Ana Hobden (@hoverbear)
- Contact: Email (ana@hoverbear.org), Twitter (@a_hoverbear)
- Spoken Language: English, some German, some Mandarin
- Topics: Distributed systems, software evolution, infrastructure, architecture, chaos testing, workshops, proc-macros
Andre Bogus (@llogiq)
- Pronouns: he/him
- Contact Twitter (@llogiq), reddit (/u/llogiq)
- Spoken Languages: German, English
- Topics: Procedural macros, writing lints, unsafe code, performance, bit twiddling, public speaking
Andreas Fischer (@Vengarioth)
- Pronouns: he/him
- Contact: Twitter (@vengarioth), Email (vengarioth@gmail.com)
- Spoken Languages: German, English
- Topics: Games programming, graphics & rendering, netcode (games), parsers, starting a company in germany
Andrew Yourtchenko (@ayourtch)
- Pronouns: he/him/them
- Contact: Twitter (@ayourtch)
- Spoken Languages: English, Russian
- Topics: Beginners, CLI, iron, mustache, IPv6 & computer networking in general
- Additional Resources: I would classify myself as an intermediate level in Rust, but I dabble at various levels, e.g. both lower-level like TACACS+ (takaks), FFI (vpp-rust-plugin), as well as higher level like web-apps (rsp10) - will be happy to help and share my experience!
Bernardo Meurer (@lovesegfault)
- Preferred Pronouns: he/him
- Contact: Twitter (@lovesegfault), Email (bernardo@standard.ai)
- Spoken Languages: English, Portuguese
- Topics: Beginners, intermediates, video, cameras, data transports, distributed systems
- Additional Resources: You can see the slides of the talk I gave this year as a reference on the kind of stuff I work with.
Bhargav Voleti (@bIgBV)
- Pronouns: he/him
- Contact: Twitter (@2093bps)
- Spoken Languages: English, Hindi
- Topics: Beginners, async, distributed systems
Cassie Meharry (@cassiemeharry)
- Pronouns: she/her
- Contact: Email (cassie@prophetessof.tech), Discord (bluejeans#1230)
- Spoken Languages: English
- Topics: Intermediate Rust,
async
/await
, web, CLI tools, system design
Chuck Pierce (@charlespierce)
- Pronouns: he/him
- Contact: Twitter (@chuckapierce), Email (chuck@charlespierce.dev), Discord (Chuck Pierce#8737)
- Spoken Languages: English
- Topics: Beginner / Intermediate Rust, CLI, Developer Tools, Code Review
Cyryl Płotnicki (@cyplo)
- Pronouns: he/him/they/them
- Contact: Twitter (@cyplo)
- Spoken Languages: English, Polish
- Topics: mentoring others (so meta!), project management, brand-new-to-rust, structuring tests, property-based tests, fuzzers, distributed systems, I/O
- Additional Resources: I sometimes write about Rust on my blog
Dimitri Sabadie (@phaazon)
- Pronouns: he/him
- Contact: Twitter (@phaazon), IRC (phaazon on Freenode), Email (dimitri.sabadie@gmail.com), Discord (phaazon#0545)
- Spoken Languages: French, English
- Topics: Graphics programming, procedural macros, unsafe bindings & FFI, functional programming & type theory, parsing, type-driven architectures, blockchains, low-level optimizations, cargo tools, writing RFCs.
- Additional Resources:
Doug Tangren (@softprops)
- Pronouns: he/him
- Contact: Twitter (@softprops), Email (d.tangren@gmail.com), Discord (softprops#1989)
- Spoken Languages: English
- Topics: Beginners, intermediates. Transitioning to Rust from Scala/Java/Typescript. Community. Open source. Effective std lib. Command line tools, AWS/Serverless.
Dylan DPC (@Dylan-DPC)
- Pronouns: he/him
- Contact: Discord (@dpc), Twitter (@dpc_22)
- Spoken Languages: English, German
- Topics: Open to anything that is sort of in the general-purpose domain
Eliza Weisman (@hawkw)
- Pronouns: she/her
- Contact: Email (eliza@buoyant.io), Discord (mycoliza#5146)
- Spoken Languages: English
- Topics: Async I/O, networking, concurrent data structures. I’m pretty busy and would generally prefer to provide mentoring for contributions to projects I already contribute to (
tokio
,tracing
,tower
, etc).
Erich Gubler (@erichdongubler)
- Pronouns: he/him
- Contact: Email (erichdongubler@gmail.com)
- Spoken Languages: English, Portuguese (BR)
- Topics: Forensics/parsing, workflow (setting up projects, architecture)
Esteban Küber (@estebank)
- Pronouns: he/his
- Contact: Twitter (@ekuber)
- Spoken Languages: English, Spanish
- Topics: Beginners,
rustc
(parser, diagnostics and in general).
Gabe Martinez (@mystal)
- Pronouns: they/them
- Contact: Twitter (@mystalice), Discord (mystal#3600)
- Spoken Languages: English
- Topics: Beginner/Intermediate Rust, Game Programming (& Design), Rapid Prototyping, Product Management
Giles Cope (@gilescope)
- Pronouns: he/his
- Contact: Twitter (@gilescope) / Reddit (u/gilescope)
- Spoken Languages: English
- Topics: Beginners
Zephyr Shannon (@RadicalZephyr)
- Pronouns: they/them
- Contact: Discord (@radicalzephyr#6728)
- Spoken Languages: English
- Topics: Beginners, intermediates, async/await, macros (by-example and procedural), parsing, tokio
Gray Olson (@termhn)
- Pronouns: she/her
- Contact: Twitter (@fu5ha)
- Spoken Languages: English
- Topics: Beginners, graphics, gamedev
- Additional resources:
Jane Lusby (@yaahc)
- Pronouns: she/her
- Contact: Twitter (@yaahc_)
- Spoken Languages: English
- Topics: Beginners, community outreach, cargo, clippy, tracing, CLI, exercism.io, code review
- Aditional Resources: My work tracker, I’m especially happy to mentor any of these issues
Jonathan Turner (@jonathandturner)
- Pronouns: any gender pronoun
- Contact: Email, Discord (jturner#3961), Twitter (@jntrnr)
- Spoken Languages: English
- Topics: Developer experiences, growing projects, Emulation, CLI, and Beginner/Intermediate Rust
Jordan Gregory (@j4ng5y)
- Pronouns: he/him
- Contact: Discord (j4ng5y#0157), Twitter (@j4ng5y), Slack (@Jordan Gregory)
- Spoken Languages: English
- Topics: Beginner Rust, WASM, CLI, JavaScript Transition / Integration, Go Transition, Python Transition / Integration, Microservices, Kubernetes, Web APIs (RESTful / xRPC)
- Additonal Resources: Meetup (STLRust), YouTube (STLRust), Twitch (j4ng5y)
Joshua Mir (@joshua-mir)
- Pronouns: he/him
- Contact: Twitter (@jam10o), Gitter Parity technical support chat: (@joshua-mir)
- Spoken Languages: English
- Topics: Beginner Rust, cryptocurrency, blockchain, parity-ethereum, Substrate runtime development
- Additional Resources: Substrate Docs, Parity (Ethereum) Wiki, Substrate Community Resources
Kevin Flansburg (@kflansburg)
- Pronouns: he/him
- Contact: email (in GitHub profile), reddit (/u/chicago_moose)
- Spoken Languages: English
- Topics: Rust, Microservices, Kubernetes, Kafka, Websockets, Automated Trading
- Additional Resources: Krustlet, KrustletCRI
Kevin Knapp (@kbknapp)
- Pronouns: he/him
- Contact Twitter (@thekbknapp), reddit (/u/Kbknapp), Keybase (kbknapp
- Spoken Languages: English, Spanish (intermediate)
- Topics: Beginners, all things CLI, performance, API design, clap, public speaking, systems design
lcnr (@lcnr)
- Pronouns: they/them
- Contact: Zulip (@lcnr), Twitter (@lcnr7)
- Spoken Languages: English, German
- Topics: Beginners, intermediates, traits, unsafe code, compilers (both rustc and others)
Lokathor (@lokathor)
- Contact: Twitter (@Lokathor), Discord (Lokathor#2627)
- Spoken Languages: English
- Topics: Beginners, intermediates, unsafe, FFI, SIMD
Luca Barbato (@lu-zero)
- Contact: IRC (lu_zero on freenode.net), Telegram (lu_zero)
- Spoken Languages: English, Italian
- Topics: Multimedia, cargo, proc-macros, CLI
Luca Palmieri (@LukeMathWalker)
- Pronouns: he/him
- Contact: Twitter (@algo_luca), Email (rust@lpalmieri.com)
- Spoken Languages: English, Italian
- Topics: Scientific computing, machine learning, CLI, backend development/enterprise software.
- Additional Resources:
Lucio Franco (@LucioFranco)
- Pronouns: he/him
- Contact: Twitter (@lucio_d_franco)
- Spoken Languages: English, Italian, French
- Topics: Async io, networking, distributed systems, game dev, compilers
Maher Khalil (@maherkhalil07)
- Contact:maherkhalil@outlook.com
- Spoken Languages: English, Arabic
- Topics: Beginners
Marco Ieni (@MarcoIeni)
- Pronouns: he/him
- Contact: Twitter (@MarcoIeni), LinkedIn (@MarcoIeni), Discord (MarcoIeni#7180)
- Spoken Languages: English, Italian
- Topics: Embedded, CLI, testing, beginners, basics (lifetimes, ownership, error handling..), developer tools, Continuous integration
- Additional Resources:
Mike Tang (@daogangtang)
- Pronouns: he/him
- Contact: Twitter (@daogangtang)
- Spoken Languages: Mandarin, English
- Topics: Beginners, community meetup, wasm, web framework, orm, substrate…
- Additional Resources:
Nikolai Vazquez (@nvzqz)
- Pronouns: he/him
- Contact: Twitter (@NikolaiVazquez), Email (nikvzqz@gmail.com), Discord (nvzqz#4477)
- Spoken Languages: English, Spanish, German
- Topics: Learning Rust from nothing or experienced newcomers
- Additional Resources: I maintain Static Assertions, so I’d be happy to teach people how it works
Oli (@oli-obk)
- Pronouns: he/him
- Contact: Zulip (@oli), Github (@oli-obk), Discord (oli#1337)
- Spoken Languages: German, English
- Topics: Miri, const eval, error messages and other diagnostics, optimizations, MIR
Phil Krones (@flip1995)
- Pronouns: he/him
- Contact: GitHub (@flip1995), E-Mail (hello@philkrones.com), Discord (flip1995#2683; not that active there)
- Spoken Languages: German, English
- Topics: Beginners, Clippy, Lints, Diagnostics
Raj (@avranju)
- Pronouns: he/him
- Contact: Twitter (@avranju)
- Spoken Languages: English
- Topics: Networking, async I/O, beginner/intermediate Rust
Ravi (@wafflespeanut)
- Pronouns: he/him
- Contact: Twitter (@wafflespeanut)
- Spoken Languages: Tamil, English
- Topics: Beginners, CLI, web, coding practices, clean + maintainable code.
- Additional Resources: I’m actively working on paperclip, a WIP OpenAPI tooling library. I’d love to give a hand if anyone’s interested!
Robert Winslow (@rw)
- Pronouns: he/him
- Contact: Twitter (@robert_winslow)
- Spoken Languages: English
- Topics: Distributed systems, low-latency, testing, formal methods, Bayesian statistics, machine learning, deep learning, serialization. async/await, FlatBuffers, testing, minimizing heap allocations, lifetimes, traits, borrow-checker, API design
- Additional Resources: Video of a talk I presented at Mozilla HQ on FlatBuffers in Rust.
Roman Proskuryakov (@kpp)
- Contact: Github (@kpp), Email (r.proskuryakoff@gmail.com), Telegram (gitkpp),
- Spoken Languages: English, Russian
- Topics: Beginner/Intermediate Rust, async, futures, CI
Shady Khalifa (@shekohex)
- Pronouns: he/him
- Contact: Twitter (@shekohex)
- Spoken Languages: Arabic, English
- Topics: Networking, FFI, CLI, parsers, development tools, web (server-side)
Søren Mortensen (@nerosnm)
- Pronouns: he/him
- Contact: Twitter (@nerosnm), Email (soren@neros.dev)
- Spoken Languages: English
- Topics: Beginners/the basics, developer tools, CLI, Rust–Swift/Objective-C interop
Tim McNamara (@timClicks)
- Pronouns: he/him
- Contact: Twitter (@timClicks), Discord (timClicks#4198), Reddit (u/timClicks)
- Spoken Languages: English, German
- Topics: Rust for people who know Python/Ruby/JavaScript, data science, natural language processing
- Additional Resources:
- Twitch stream: https://twitch.tv/timclicks
- YouTube channel: https://youtube.com/c/timClicks
William (@Firstyear)
- Pronouns: he/him/they/them
- Contact: Twitter (@Erstejahre), Email (william@blackhats.net.au)
- Spoken Languages: English
- Topics: Code review, beginners, C-FFI, concurrency, data structures, security, identity management aka authentication
- Additional Resources:
Xavier Lange (@xrl)
- Pronouns: he/him
- Contact: Discord (uint128_t#5905)
- Spoken Languages: English, French
- Topics: Actix, Kubernetes, Docker builds
Zack M. Davis (@zackmdavis)
- Contact: Twitter (@zackmdavis), email (code@zackmdavis.net), Discord (zackmdavis#3944)
- Spoken Languages: English
- Topics: Language basics, rustc development (especially diagnostics)
Andrew Lilley Brinker (@alilleybrinker)
- Contact: Twitter (@alilleybrinker)
- Spoken Languages: English
- Topics: Language (beginner through advanced [I teach Rust]), FFI, Software Assurance, Type System
Tyler Neely (@spacejam)
- Contact: Discord (@spacejam#5759 on the Rust discord)
- Spoken Languages: English
- Topics: Professional Rust trainer. Distributed systems, storage engines, io_uring, exploit development, lock-free programming, parallelism, fault injection, testing, systems engineering, consensus, eventual consistency, binary instrumentation, fuzzing, profiling, tuning, SIMD, FFI, kernel and hypervisor development.
- Additional Resources:
Berwyn Jamesson (@berwyn)
- Contact: Twitter (@_berwyn_), Discord (berwyn#0956)
- Spoken Languages: English
- Topics: Beginners, code review, coding practices, Docker, cargo, clippy
T.J. Telan (@tjtelan)
- Pronouns: he/him/they/them
- Contact: Twitter(@ThatTJTelan)
- Spoken Languages: English
- Topics: CLI, DevOps (CI/CD, automation, tools, infrastructure), distributed systems, embedded systems, wasm, beginner/intermediate Rust
- Additional Resources:
- My Blog - https://tjtelan.com/ (Or just the Rust stuff)
- My Twitch channel - https://www.twitch.tv/tjtelan
Aaron Abramov (@aaronabramov)
- Pronouns: he/him
- Contact: Twitter(@aarondjents)
- Spoken Languages: English
- Topics: infra, graph algorithms, graph databases, software testing, testing frameworks, scaling, dev tooling, devx
- Additional Resources:
- My Blog - https://abramov.io/