awesome-rust-mentors A list of rust lang mentors tagged by topics of interest

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

: https://github.com/sunjay/turtle Contact : https://turtle.zulipchat.com/

: https://turtle.zulipchat.com/ Spoken Languages : English, Canadian English

: English, Canadian English Recommended Experience : Beginner - Intermediate

: 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

: https://github.com/dotenv-linter/dotenv-linter Contact : https://twitter.com/mgrachev

: https://twitter.com/mgrachev Spoken Languages : English

: English Recommended Experience : Beginner

: 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

: https://gitlab.com/openpowerlifting/opl-data Contact : https://openpl.zulipchat.com/ (Say hi, or message Sean Stangl if you’re shy!)

: https://openpl.zulipchat.com/ (Say hi, or message Sean Stangl if you’re shy!) Spoken Languages : English, Esperanto

: English, Esperanto Recommended Experience : Beginner - Intermediate

: Beginner - Intermediate Topics: Webservers, Compilers, Databases, Data Analysis

cargo-tarpaulin - Code coverage for rust, source analysis, tracing, reporting

Repo https://github.com/xd009642/tarpaulin

https://github.com/xd009642/tarpaulin Contact Email (danielmckenna93@gmail.com) Discord (xd009642#3296)

Email (danielmckenna93@gmail.com) Discord (xd009642#3296) Spoken Languages : English

: English Recommended Experience : All

: All Topics: Code coverage, CLI tools, Interprocess Communication, Binary analysis

Linfa - A Rust machine learning framework

Repo : https://github.com/rust-ml/linfa

: https://github.com/rust-ml/linfa Contact : https://rust-ml.zulipchat.com/

: https://rust-ml.zulipchat.com/ Mentors : https://github.com/quietlychris, https://github.com/bytesnake

: https://github.com/quietlychris, https://github.com/bytesnake Spoken Languages : English, German

: English, German Recommended Experience : Beginner - Intermediate

: Beginner - Intermediate Topics: Machine Learning, Data analysis, Clustering, Algorithms

Individual Mentorship

See https://rustbeginners.github.io/awesome-rust-mentors/

Ahmed Masud (@ahmed-masud)

Pronouns : he/him/they/them

: he/him/they/them Contact : Twitter:(@ahmedmasud, Email (ahmed.masud@saf.ai)

: Twitter:(@ahmedmasud, Email (ahmed.masud@saf.ai) Spoken Languages : English, Hindi, Urdu, some French, translate.google.com in a pinch,

: 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

: 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

: Amit Upadhyay Contact : Email (amitu@acko.com)

: Email (amitu@acko.com) Spoken Languages : English, Hindi

: English, Hindi Topics: Web Development, CLI, Database, Realm

Ana Hobden (@hoverbear)

Contact: Email (ana@hoverbear.org), Twitter (@a_hoverbear)

Email (ana@hoverbear.org), Twitter (@a_hoverbear) Spoken Language: English, some German, some Mandarin

English, some German, some Mandarin Topics: Distributed systems, software evolution, infrastructure, architecture, chaos testing, workshops, proc-macros

Andre Bogus (@llogiq)

Pronouns : he/him

: he/him Contact Twitter (@llogiq), reddit (/u/llogiq)

Twitter (@llogiq), reddit (/u/llogiq) Spoken Languages : German, English

: German, English Topics: Procedural macros, writing lints, unsafe code, performance, bit twiddling, public speaking

Andreas Fischer (@Vengarioth)

Pronouns : he/him

: he/him Contact : Twitter (@vengarioth), Email (vengarioth@gmail.com)

: Twitter (@vengarioth), Email (vengarioth@gmail.com) Spoken Languages : German, English

: German, English Topics: Games programming, graphics & rendering, netcode (games), parsers, starting a company in germany

Andrew Yourtchenko (@ayourtch)

Pronouns : he/him/them

: he/him/them Contact : Twitter (@ayourtch)

: Twitter (@ayourtch) Spoken Languages : English, Russian

: English, Russian Topics : Beginners, CLI, iron, mustache, IPv6 & computer networking in general

: 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!

Bastian Kauschke (@lcnr)

Pronouns : he/him

: he/him Contact : Zulip (@lcnr), Twitter (@lcnr7)

: Zulip (@lcnr), Twitter (@lcnr7) Spoken Languages : German, English

: German, English Topics: Beginners, intermediates, traits, unsafe code, compilers (both rustc and others)

Bernardo Meurer (@lovesegfault)

Preferred Pronouns : he/him

: he/him Contact : Twitter (@lovesegfault), Email (bernardo@standard.ai)

: Twitter (@lovesegfault), Email (bernardo@standard.ai) Spoken Languages : English, Portuguese

: English, Portuguese Topics : Beginners, intermediates, video, cameras, data transports, distributed systems

: 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

: he/him Contact : Twitter (@2093bps)

: Twitter (@2093bps) Spoken Languages : English, Hindi

: English, Hindi Topics: Beginners, async, distributed systems

Cassie Meharry (@cassiemeharry)

Pronouns : she/her

: she/her Contact : Email (cassie@prophetessof.tech), Discord (bluejeans#1230)

: Email (cassie@prophetessof.tech), Discord (bluejeans#1230) Spoken Languages : English

: English Topics: Intermediate Rust, async / await , web, CLI tools, system design

Chuck Pierce (@charlespierce)

Pronouns : he/him

: he/him Contact : Twitter (@chuckapierce), Email (chuck@charlespierce.dev), Discord (Chuck Pierce#8737)

: Twitter (@chuckapierce), Email (chuck@charlespierce.dev), Discord (Chuck Pierce#8737) Spoken Languages : English

: English Topics: Beginner / Intermediate Rust, CLI, Developer Tools, Code Review

Cyryl Płotnicki (@cyplo)

Pronouns : he/him/they/them

: he/him/they/them Contact : Twitter (@cyplo)

: Twitter (@cyplo) Spoken Languages : English, Polish

: English, Polish Topics : mentoring others (so meta!), project management, brand-new-to-rust, structuring tests, property-based tests, fuzzers, distributed systems, I/O

: 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

: he/him Contact : Twitter (@phaazon), IRC (phaazon on Freenode), Email (dimitri.sabadie@gmail.com), Discord (phaazon#0545)

: Twitter (@phaazon), IRC (phaazon on Freenode), Email (dimitri.sabadie@gmail.com), Discord (phaazon#0545) Spoken Languages : French, English

: 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.

: 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 : My blog

:

Doug Tangren (@softprops)

Pronouns : he/him

: he/him Contact : Twitter (@softprops), Email (d.tangren@gmail.com), Discord (softprops#1989)

: Twitter (@softprops), Email (d.tangren@gmail.com), Discord (softprops#1989) Spoken Languages : English

: 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

: he/him Contact : Discord (@dpc), Twitter (@dpc_22)

: Discord (@dpc), Twitter (@dpc_22) Spoken Languages : English, German

: English, German Topics: Open to anything that is sort of in the general-purpose domain

Eliza Weisman (@hawkw)

Pronouns : she/her

: she/her Contact : Email (eliza@buoyant.io), Discord (mycoliza#5146)

: Email (eliza@buoyant.io), Discord (mycoliza#5146) Spoken Languages : English

: 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

: he/him Contact : Email (erichdongubler@gmail.com)

: Email (erichdongubler@gmail.com) Spoken Languages : English, Portuguese (BR)

: English, Portuguese (BR) Topics: Forensics/parsing, workflow (setting up projects, architecture)

Esteban Küber (@estebank)

Pronouns : he/his

: he/his Contact : Twitter (@ekuber)

: Twitter (@ekuber) Spoken Languages : English, Spanish

: English, Spanish Topics: Beginners, rustc (parser, diagnostics and in general).

Gabe Martinez (@mystal)

Pronouns : they/them

: they/them Contact : Twitter (@mystalice), Discord (mystal#3600)

: Twitter (@mystalice), Discord (mystal#3600) Spoken Languages : English

: English Topics: Beginner/Intermediate Rust, Game Programming (& Design), Rapid Prototyping, Product Management

Zephyr Shannon (@RadicalZephyr)

Pronouns : they/them

: they/them Contact : Discord (@radicalzephyr#6728)

: Discord (@radicalzephyr#6728) Spoken Languages : English

: English Topics: Beginners, intermediates, async/await, macros (by-example and procedural), parsing, tokio

Gray Olson (@termhn)

Pronouns : she/her

: she/her Contact : Twitter (@fu5ha)

: Twitter (@fu5ha) Spoken Languages : English

: English Topics : Beginners, graphics, gamedev

: Beginners, graphics, gamedev Additional resources : learn-gfx-hal learn-rendy Introduction to PBR

:

Jane Lusby (@yaahc)

Pronouns : she/her

: she/her Contact : Twitter (@yaahc_)

: Twitter (@yaahc_) Spoken Languages : English

: English Topics : Beginners, community outreach, cargo, clippy, tracing, CLI, exercism.io, code review

: 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

: any gender pronoun Contact : Email, Discord (jturner#3961), Twitter (@jntrnr)

: Email, Discord (jturner#3961), Twitter (@jntrnr) Spoken Languages : English

: English Topics: Developer experiences, growing projects, Emulation, CLI, and Beginner/Intermediate Rust

Joshua Mir (@joshua-mir)

Kevin Flansburg (@kflansburg)

Pronouns : he/him

: he/him Contact : email (in GitHub profile), reddit (/u/chicago_moose)

: email (in GitHub profile), reddit (/u/chicago_moose) Spoken Languages : English

: English Topics : Rust, Microservices, Kubernetes, Kafka, Websockets, Automated Trading

: Rust, Microservices, Kubernetes, Kafka, Websockets, Automated Trading Additional Resources: Krustlet, KrustletCRI

Kevin Knapp (@kbknapp)

Pronouns : he/him

: he/him Contact Twitter (@thekbknapp), reddit (/u/Kbknapp), Keybase (kbknapp

Twitter (@thekbknapp), reddit (/u/Kbknapp), Keybase (kbknapp Spoken Languages : English, Spanish (intermediate)

: English, Spanish (intermediate) Topics: Beginners, all things CLI, performance, API design, clap, public speaking, systems design

Contact : Twitter (@Lokathor), Discord (Lokathor#2627)

: Twitter (@Lokathor), Discord (Lokathor#2627) Spoken Languages : English

: English Topics: Beginners, intermediates, unsafe, FFI, SIMD

Luca Barbato (@lu-zero)

Contact : IRC (lu_zero on freenode.net), Telegram (lu_zero)

: IRC (lu_zero on freenode.net), Telegram (lu_zero) Spoken Languages : English, Italian

: English, Italian Topics: Multimedia, cargo, proc-macros, CLI

Luca Palmieri (@LukeMathWalker)

Lucio Franco (@LucioFranco)

Pronouns : he/him

: he/him Contact : Twitter (@lucio_d_franco)

: Twitter (@lucio_d_franco) Spoken Languages : English, Italian, French

: English, Italian, French Topics: Async io, networking, distributed systems, game dev, compilers

Maher Khalil (@maherkhalil07)

Contact :maherkhalil@outlook.com

:maherkhalil@outlook.com Spoken Languages : English, Arabic

: English, Arabic Topics: Beginners

Marco Ieni (@MarcoIeni)

Pronouns : he/him

: he/him Contact : Twitter (@MarcoIeni), LinkedIn (@MarcoIeni), Discord (MarcoIeni#7180)

: Twitter (@MarcoIeni), LinkedIn (@MarcoIeni), Discord (MarcoIeni#7180) Spoken Languages : English, Italian

: English, Italian Topics : Embedded, CLI, testing, beginners, basics (lifetimes, ownership, error handling..), developer tools, Continuous integration

: Embedded, CLI, testing, beginners, basics (lifetimes, ownership, error handling..), developer tools, Continuous integration Additional Resources : Rust GitHub Template

:

Mike Tang (@daogangtang)

Pronouns : he/him

: he/him Contact : Twitter (@daogangtang)

: Twitter (@daogangtang) Spoken Languages : Mandarin, English

: Mandarin, English Topics : Beginners, community meetup, wasm, web framework, orm, substrate…

: Beginners, community meetup, wasm, web framework, orm, substrate… Additional Resources : rust.cc rustforce.net

:

Nikolai Vazquez (@nvzqz)

Pronouns : he/him

: he/him Contact : Twitter (@NikolaiVazquez), Email (nikvzqz@gmail.com), Discord (nvzqz#4477)

: Twitter (@NikolaiVazquez), Email (nikvzqz@gmail.com), Discord (nvzqz#4477) Spoken Languages : English, Spanish, German

: English, Spanish, German Topics : Learning Rust from nothing or experienced newcomers

: Learning Rust from nothing or experienced newcomers Additional Resources: I maintain Static Assertions, so I’d be happy to teach people how it works

Pronouns : he/him

: he/him Contact : Zulip (@oli), Github (@oli-obk), Discord (oli#1337)

: Zulip (@oli), Github (@oli-obk), Discord (oli#1337) Spoken Languages : German, English

: German, English Topics: Miri, const eval, error messages and other diagnostics, optimizations, MIR

Phil Krones (@flip1995)

Pronouns : he/him

: he/him Contact : GitHub (@flip1995), E-Mail (hello@philkrones.com), Discord (flip1995#2683; not that active there)

: GitHub (@flip1995), E-Mail (hello@philkrones.com), Discord (flip1995#2683; not that active there) Spoken Languages : German, English

: German, English Topics: Beginners, Clippy, Lints, Diagnostics

Pronouns : he/him

: he/him Contact : Twitter (@avranju)

: Twitter (@avranju) Spoken Languages : English

: English Topics: Networking, async I/O, beginner/intermediate Rust

Pronouns : he/him

: he/him Contact : Twitter (@wafflespeanut)

: Twitter (@wafflespeanut) Spoken Languages : Tamil, English

: Tamil, English Topics : Beginners, CLI, web, coding practices, clean + maintainable code.

: 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

: he/him Contact : Twitter (@robert_winslow)

: Twitter (@robert_winslow) Spoken Languages : English

: 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

: 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),

: Github (@kpp), Email (r.proskuryakoff@gmail.com), Telegram (gitkpp), Spoken Languages : English, Russian

: English, Russian Topics: Beginner/Intermediate Rust, async, futures, CI

Shady Khalifa (@shekohex)

Pronouns : he/him

: he/him Contact : Twitter (@shekohex)

: Twitter (@shekohex) Spoken Languages : Arabic, English

: Arabic, English Topics: Networking, FFI, CLI, parsers, development tools, web (server-side)

Søren Mortensen (@nerosnm)

Pronouns : he/him

: he/him Contact : Twitter (@nerosnm), Email (soren@neros.dev)

: Twitter (@nerosnm), Email (soren@neros.dev) Spoken Languages : English

: English Topics: Beginners/the basics, developer tools, CLI, Rust–Swift/Objective-C interop

Tim McNamara (@timClicks)

Pronouns : he/him

: he/him Contact : Twitter (@timClicks), Discord (timClicks#4198), Reddit (u/timClicks)

: Twitter (@timClicks), Discord (timClicks#4198), Reddit (u/timClicks) Spoken Languages : English, German

: English, German Topics : Rust for people who know Python/Ruby/JavaScript, data science, natural language processing

: 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

:

Xavier Lange (@xrl)

Pronouns : he/him

: he/him Contact : Discord (uint128_t#5905)

: Discord (uint128_t#5905) Spoken Languages : English, French

: English, French Topics: Actix, Kubernetes, Docker builds

Zack M. Davis (@zackmdavis)

Contact : Twitter (@zackmdavis), email (code@zackmdavis.net), Discord (zackmdavis#3944)

: Twitter (@zackmdavis), email (code@zackmdavis.net), Discord (zackmdavis#3944) Spoken Languages : English

: English Topics: Language basics, rustc development (especially diagnostics)

Andrew Lilley Brinker (@alilleybrinker)

Contact : Twitter (@alilleybrinker)

: Twitter (@alilleybrinker) Spoken Languages : English

: English Topics: Language (beginner through advanced [I teach Rust]), FFI, Software Assurance, Type System

Tyler Neely (@spacejam)

Berwyn Jamesson (@berwyn)

Contact : Twitter (@_berwyn_), Discord (berwyn#0956)

: Twitter (@_berwyn_), Discord (berwyn#0956) Spoken Languages : English

: English Topics: Beginners, code review, coding practices, Docker, cargo, clippy

Pronouns : he/him/they/them

: he/him/they/them Contact : Twitter(@ThatTJTelan)

: Twitter(@ThatTJTelan) Spoken Languages : English

: English Topics : CLI, DevOps (CI/CD, automation, tools, infrastructure), distributed systems, embedded systems, wasm, beginner/intermediate Rust

: 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

:

Additional Resources