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/
RustSec - RustSec Security Advisory Database
- Repo: https://github.com/rustsec/advisory-db
- Contact: Message pinkforest(she/her) in Zulip
- Spoken Languages: English
- Recommended Experience: Any
- Topics: Security, Advisories
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
- Timezone: PST (GMT-8)
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
- Timezone: MSK (GMT+3)
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
- Timezone: MST (GMT-7)
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
- Timezone: GMT
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 - Timezone: EST (GMT-5)
- 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
- Timezone: EST (GMT-5)
- 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@fifthtry.com)
- Spoken Languages: English, Hindi
- Timezone: IST (GMT+5.5)
- Topics: Web Development, CLI, Database, Realm, FTD, FPM
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
- Timezone: CET (GMT+1)
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
- Timezone: CET (GMT+1)
Andrew Yourtchenko (@ayourtch)
- Pronouns: he/him/them
- Contact: Twitter (@ayourtch)
- Spoken Languages: English, Russian
- Topics: Beginners, CLI, iron, mustache, IPv6 & computer networking in general
- Timezone: EST (GMT-5)
- 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!
Andy Thomason (@andy-thomason)
- Pronouns: they/them
- Contact: Twitter (@quaternioso)
- Spoken Languages: English, French, Spanish
- Topics: Beginners/Intermediate, Iterators, Traits, Procedural macros, Bioinformatics, Performance, LLVM, Autovectorisation, Code transformation, Game development lecturer.
- Timezone: GMT
- Additional Resources:
Aumetra (@aumetra)
- Pronouns: they/them
- Contact: Fediverse (@0x0@corteximplant.com), Matrix, Email (on GitHub profile)
- Spoken Languages: English, German
- Topics: Beginners, intermediates, networking, async I/O, web (server-side), (open to other stuff, feel free to ask!)
Bernardo Meurer (@lovesegfault)
- Preferred Pronouns: he/him
- Contact: Twitter (@lovesegfault), Email (bernardo@meurer.org)
- Spoken Languages: English, Portuguese
- Topics: Beginners, intermediates, video, cameras, quantum computers
- Timezone: PST (GMT-8)
Bhargav Voleti (@bIgBV)
- Pronouns: he/him
- Contact: Twitter (@2093bps)
- Spoken Languages: English, Hindi
- Topics: Beginners, async, distributed systems
- Timezone: PST (GMT-8)
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 - Timezone: PST (GMT-8)
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
- Timezone: PST (GMT-8)
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
- Timezone: GMT
- Additional Resources: I sometimes write about Rust on my blog
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.
- Timezone: EST (GMT-5)
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
- Timezone: CET (GMT+1)
Edmund Cape (@edmundsecho)
- Pronouns: he/him
- Contact: Discord (@edmundsecho), Twitter (@edmundsecho)
- Spoken Languages: English, French
- Topics: Beginners, intermediates. Open to anything (I can’t think of anything that I would exclude)
- Timezone: EST (GMT-5)
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). - Timezone: PST (GMT-8)
Erich Gubler (@erichdongubler)
- Pronouns: he/him
- Contact: Email (erichdongubler@gmail.com)
- Spoken Languages: English, Portuguese (BR)
- Topics: Forensics/parsing, workflow (setting up projects, architecture)
- Timezone: EST (GMT-5)
Esteban Küber (@estebank)
- Pronouns: he/his
- Contact: Twitter (@ekuber)
- Spoken Languages: English, Spanish
- Topics: Beginners,
rustc
(parser, diagnostics and in general). - Timezone: PST (GMT-8)
Evan Chan (@velvia)
- Pronouns: he/him
- Contact: Twitter (@evanfchan), Instagram(@platypus.arts)
- Spoken Languages: English, some Cantonese/Mandarin
- Topics: Beginner/Intermediate, Transitioning from GC/JVM/Scala/Python, Data Structures, Data Processing, Databases, Compression, High Performance / Benchmarking / SIMD
- Timezone: PST (GMT-8)
Gabriel Martinez (@mystal)
- Pronouns: they/them
- Contact: Twitter (@mystalice), Discord (mystal)
- Spoken Languages: English
- Topics: Beginner/Intermediate Rust, Game Programming (& Design), Rapid Prototyping, Product Management
- Timezone: PST (GMT-8)
Giles Cope (@gilescope)
- Pronouns: he/his
- Contact: Twitter (@gilescope) / Reddit (u/gilescope)
- Spoken Languages: English
- Topics: Beginners
- Timezone: GMT
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
- Timezone: PST (GMT-8)
Gray Olson (@termhn)
- Pronouns: she/her
- Contact: Twitter (@fu5ha)
- Spoken Languages: English
- Topics: Beginners, graphics, gamedev
- Timezone: MST (GMT-7)
- Additional resources:
Jane Losare-Lusby (@yaahc)
- Pronouns: she/her
- Contact: Zulip (Jane Losare-Lusby)
- Spoken Languages: English
- Topics: Error Handling Project Group, Library Team
- Timezone: PST (GMT-8)
- Additional Resources:
John Arundel (@bitfield)
- Pronouns: he/him
- Contact: Email (john@bitfieldconsulting.com), Twitter (@bitfield)
- Spoken Languages: English
- Topics: Rust for beginners, Rust for people who know Go, CLI/DevOps tools, Kubernetes, software design/architecture, testing, readability, exercism.io
- Timezone: GMT
- Additional Resources:
JT (@jntrnr)
- Pronouns: they/them
- Contact: Email, Discord (jturner#3961), Twitter (@jntrnr)
- Spoken Languages: English
- Topics: Developer experiences, growing projects, Emulation, CLI, and Beginner/Intermediate Rust
- Timezone: between timezones! will update when settled.
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)
- Timezone: CST (GMT-6)
- Additional 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
- Timezone: CET (GMT+1)
- Additional Resources: Substrate Docs, Parity (Ethereum) Wiki, Substrate Community Resources
jyn (@jyn514)
- Pronouns: they/them
- Contact: Discord (jynelson#5849, Zulip (@jyn), Twitter (@jynelson514)
- Spoken Languages: English
- Topics: Intermediate Rust, Rustc contributions, devtools
- Timezone: CST (GMT-6)
Karthik Ravikanti (@plumenator)
- Pronouns: he/him
- Contact: Check GitHub profile
- Spoken Languages: English, Hindi, Japanese, Telugu
- Topics: Books, Code Reviews, Pair programming, Teaching (Rust beginners or programming beginners)
- Timezone: SGT (GMT+8)
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
- Timezone: EST (GMT-5)
Luca Barbato (@lu-zero)
- Contact: IRC (lu_zero on libera.chat), Telegram (lu_zero)
- Spoken Languages: English, Italian
- Topics: Multimedia, cargo, proc-macros, CLI
- Timezone: CET (GMT+1)
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
- Timezone: EST (GMT-5)
Maher Khalil (@maherkhalil07)
- Contact:maherkhalil@outlook.com
- Spoken Languages: English, Arabic
- Topics: Beginners
- Timezone: AST (GMT+3)
Mike Tang (@daogangtang)
- Pronouns: he/him
- Contact: Twitter (@daogangtang)
- Spoken Languages: Mandarin, English
- Topics: Beginners, community meetup, wasm, web framework, orm, substrate…
- Timezone: China Standard Time (GMT+8)
- Additional Resources:
Miguel Raz (@miguelraz)
- Pronouns: he/him
- Contact: Discord (miguelraz)
- Spoken Languages: English, Spanish, some German
- Topics: Beginners, SIMD, performance, LLVM, MIR
- Timezone: Mexico City time (GMT-6)
- 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
- Timezone: EST (GMT-5)
- Additional Resources: I maintain Static Assertions, so I’d be happy to teach people how it works
Phil Krones (@flip1995)
- Pronouns: he/him
- Contact: Zulip (flip1995, GitHub (@flip1995), E-Mail (hello@philkrones.com)
- Spoken Languages: German, English
- Topics: Beginners, Clippy, Lints, Diagnostics
- Timezone: CET (GMT+1)
pinkforest (@pinkforest)
- Pronouns: she/her
- Contact: pinkforest_edu@pm.me
- Spoken Languages: English
- Topics: Community, Program/Project Management, Sustainability, Documentation, Maintenance, Security, Concurrency, Networking, Infrastructure, Testing
- Additional Resources: I’m maintainer and contributor quite few things and more than happy to get people involved in any of those
Raj (@avranju)
- Pronouns: he/him
- Contact: Twitter (@avranju)
- Spoken Languages: English
- Topics: Networking, async I/O, beginner/intermediate Rust
- Timezone: IST (GMT+5.5)
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
- Timezone: PST (GMT-8)
- Additional Resources: Video of a talk I presented at Mozilla HQ on FlatBuffers in Rust.
Roman (@kpp)
- Contact: Telegram (gitkpp)
- Spoken Languages: English, Russian
- Topics: Beginner/Intermediate Rust, async, futures, CI
- Timezone: Yerevan (GMT+4)
Shady Khalifa (@shekohex)
- Pronouns: he/him
- Contact: Twitter (@shekohex)
- Spoken Languages: Arabic, English
- Topics: Networking, FFI, CLI, parsers, development tools, web (server-side)
- Timezone: EET (GMT+2)
Søren Mortensen (@nerosnm)
- Pronouns: he/him
- Contact: Twitter (@nerosnm), Email (soren@neros.dev)
- Spoken Languages: English
- Topics: Beginners/the basics, developer tools, command-line interfaces, parsers, interpreters
- Timezone: GMT
Thomas Adam (@ThomasAdam)
- Pronouns: he/him
- Contact: Email (thomas@xteddy.org), IRC (thomas_adam)
- Spoken Languages: English
- Topics: Beginner, CLI/TUI tools, FFI (C), Parsers, X11/Window management
- Timezone: GMT
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
- Timezone: NZDT (GMT+13)
- 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
- Timezone: AEST (GMT+10)
- Additional Resources:
Xavier Lange (@xrl)
- Pronouns: he/him
- Contact: Discord (uint128_t#5905)
- Spoken Languages: English, French
- Topics: Actix, Kubernetes, Docker builds
- Timezone: PST (GMT-8)
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
- Timezone: EST (GMT-5)
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
- Timezone: PST (GMT-8)
- 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
- Timezone: CST (GMT-6)
- Additional Resources:
- My Blog - https://abramov.io/
William Woodruff (@woodruffw)
- Pronouns: he/him
- Contact: Twitter (@8x5clPW2), e-mail (william@yossarian.net)
- Spoken Languages: English
- Topics: Compilers (LLVM), systems programming, fuzzing, program analysis
- Timezone: EST (GMT-5)
- Additional Resources:
- My Blog - ENOSUCHBLOG
Thomas Gideon (@cmdln)
- Pronouns: he/him
- Contact: Twitter (@cmdln), e-mail (cmdln@thecommandline.net), Discord (cmdln#9288), Mastodon (@cmdln@fosstodon.org)
- Spoken Languages: English
- Topics: CLI, web services, web applications, WASM, DevOps, dev tools
- Timezone: EST (GMT-5)
- Additional Resources:
- My Blog - The Command Line
Narasimha Prasanna HN (@Narasimha1997)
- Pronouns: he/him
- Contact: Twitter (@prasannahn1997), Discord: (prasanna1997#0309), E-mail: (narasimhaprasannahn@gmail.com), Linkedin: Narasimha Prasanna HN
- Spoken Languages: English, Hindi
- Topics: Programming Languages, System Programming, Web Development, DevOps, Microservices
- Timezone: IST (GMT+5:30)
- Additional Resources:
- My Website - Narasimha1997.github.io
Nrishinghananda Roy (@royrustdev)
- Pronouns: he/him
- Contact: Twitter (@royrustdev), Email (royrustdev@gmail.com), Linkedin: Nrishinghananda Roy
- Spoken Languages: English, Hindi, Bengali
- Topics: Beginners, code review, pair-programming
- Timezone: IST (GMT+5:30)
- Additional Resources: royrustdev.com