Files
awesome-rust-mentors/_includes/mentors.md
2020-08-22 10:40:53 -07:00

359 lines
21 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### Ahmed Masud ([@ahmed-masud](https://github.com/ahmed-masud/))
* **Pronouns**: he/him/they/them
* **Contact**: Twitter:([@ahmedmasud](https://twitter.com/ahmedmasud), Email ([ahmed.masud@saf.ai](mailto: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](https://github.com/amitu))
* **Pronouns**: Amit Upadhyay
* **Contact**: Email ([amitu@acko.com](mailto:amitu@acko.com))
* **Spoken Languages**: _English_, Hindi
* **Topics**: Web Development, CLI, Database, [Realm](http://fifthtry.com/amitu/realm/)
### Ana Hobden ([@hoverbear](https://github.com/hoverbear))
* **Contact:** Email ([ana@hoverbear.org](mailto:ana@hoverbear.org)), Twitter ([@a_hoverbear](https://twitter.com/a_hoverbear))
* **Spoken Language:** _English_, some German, some Mandarin
* **Topics:** Distributed systems, software evolution, infrastructure, architecture, chaos testing, workshops, proc-macros
### Andre Bogus ([@llogiq](https://github.com/llogiq))
* **Pronouns**: he/him
* **Contact** Twitter ([@llogiq](https://twitter.com/llogiq)), reddit ([/u/llogiq](https://reddit.com/user/llogiq))
* **Spoken Languages**: _German_, English
* **Topics**: Procedural macros, writing lints, unsafe code, performance, bit twiddling, public speaking
### Andreas Fischer ([@Vengarioth](https://github.com/vengarioth))
* **Pronouns**: he/him
* **Contact**: Twitter ([@vengarioth](https://twitter.com/vengarioth)), Email ([vengarioth@gmail.com](mailto:vengarioth@gmail.com))
* **Spoken Languages**: _German_, English
* **Topics**: Games programming, graphics & rendering, netcode (games), parsers, starting a company in germany
### Andrew Yourtchenko ([@ayourtch](https://github.com/ayourtch))
* **Pronouns**: he/him/them
* **Contact**: Twitter ([@ayourtch](https://twitter.com/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](https://github.com/ayourtch/takaks)), FFI ([vpp-rust-plugin](https://github.com/vpp-dev/vpp-rust-plugin)), as well as higher level like web-apps ([rsp10](https://github.com/ayourtch/rsp10)) - will be happy to help and share my experience!
### Bastian Kauschke ([@lcnr](https://github.com/lcnr))
* **Pronouns**: he/him
* **Contact**: Zulip ([@lcnr](https://rust-lang.zulipchat.com/)), Twitter ([@lcnr7](https://twitter.com/lcnr7))
* **Spoken Languages**: _German_, English
* **Topics**: Beginners, intermediates, traits, unsafe code, compilers (both **rustc** and [others](https://github.com/lcnr/computer))
### Bernardo Meurer ([@lovesegfault](https://github.com/lovesegfault/))
* **Preferred Pronouns**: he/him
* **Contact**: Twitter ([@lovesegfault](https://twitter.com/lovesegfault)), Email ([bernardo@standard.ai](mailto://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](https://lovesegfault.com/files/rustlab-2019.pdf) this year as a reference on the kind of stuff I work with.
### Bhargav Voleti ([@bIgBV](https://github.com/bIgBV))
* **Pronouns**: he/him
* **Contact**: Twitter ([@2093bps](https://twitter.com/2093bps))
* **Spoken Languages**: _English_, Hindi
* **Topics**: Beginners, async, distributed systems
### Cassie Meharry ([@cassiemeharry](https://github.com/cassiemeharry))
* **Pronouns**: she/her
* **Contact**: Email ([cassie@prophetessof.tech](mailto://cassie@prophetessof.tech)), Discord (bluejeans#1230)
* **Spoken Languages**: English
* **Topics**: Intermediate Rust, `async`/`await`, web, CLI tools, system design
### Chuck Pierce ([@charlespierce](https://github.com/charlespierce))
* **Pronouns**: he/him
* **Contact**: Twitter ([@chuckapierce](https://twitter.com/chuckapierce)), Email ([chuck@charlespierce.dev](mailto://chuck@charlespierce.dev)), Discord (Chuck Pierce#8737)
* **Spoken Languages**: English
* **Topics**: Beginner / Intermediate Rust, CLI, Developer Tools, Code Review
### Cyryl Płotnicki ([@cyplo](https://github.com/cyplo/))
* **Pronouns**: he/him/they/them
* **Contact**: Twitter ([@cyplo](https://twitter.com/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](https://blog.cyplo.dev/tags/rust/) on my [blog](https://blog.cyplo.dev/)
### Dimitri Sabadie ([@phaazon](https://github.com/phaazon))
* **Pronouns**: he/him
* **Contact**: Twitter ([@phaazon](https://twitter.com/phaazon_)), IRC (phaazon on Freenode), Email ([dimitri.sabadie@gmail.com](mailto://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**:
* [My blog](https://phaazon.net/blog)
### Doug Tangren ([@softprops](https://github.com/softprops))
* **Pronouns**: he/him
* **Contact**: Twitter ([@softprops](https://twitter.com/softprops)), Email ([d.tangren@gmail.com](mailto://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](https://github.com/Dylan-DPC))
* **Pronouns**: he/him
* **Contact**: Discord (@dpc), Twitter ([@dpc_22](https://twitter.com/dpc_22))
* **Spoken Languages**: _English_, German
* **Topics**: Open to anything that is sort of in the general-purpose domain
### Eliza Weisman ([@hawkw](https://github.com/hawkw))
* **Pronouns**: she/her
* **Contact**: Email ([eliza@buoyant.io](mailto://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`](https://github.com/tokio-rs/tokio), [`tracing`](https://github.com/tokio-rs/tracing), [`tower`](https://github.com/tower-rs/tower), etc).
### Erich Gubler ([@erichdongubler](https://github.com/erichdongubler))
* **Pronouns**: he/him
* **Contact**: Email ([erichdongubler@gmail.com](mailto://erichdongubler@gmail.com))
* **Spoken Languages**: English, Portuguese (BR)
* **Topics**: Forensics/parsing, workflow (setting up projects, architecture)
### Esteban Küber ([@estebank](https://github.com/estebank))
* **Pronouns**: he/his
* **Contact**: Twitter ([@ekuber](https://twitter.com/ekuber))
* **Spoken Languages**: English, Spanish
* **Topics**: Beginners, `rustc` (parser, diagnostics and in general).
### Gabe Martinez ([@mystal](https://github.com/mystal))
* **Pronouns**: they/them
* **Contact**: Twitter ([@mystalice](https://twitter.com/mystalice)), Discord (mystal#3600)
* **Spoken Languages**: English
* **Topics**: Beginner/Intermediate Rust, Game Programming (& Design), Rapid Prototyping, Product Management
### Geoff Shannon ([@RadicalZephyr](https://github.com/RadicalZephyr))
* **Pronouns**: he/him
* **Contact**: Discord (_@radicalzephyr#6728_)
* **Spoken Languages**: English
* **Topics**: Beginners, intermediates, async/await, macros (by-example and procedural), parsing, tokio
### Gray Olson ([@termhn](https://github.com/termhn))
* **Pronouns**: she/her
* **Contact**: Twitter ([@fu5ha](https://twitter.com/fu5ha))
* **Spoken Languages**: English
* **Topics**: Beginners, graphics, gamedev
* **Additional resources**:
* [learn-gfx-hal](https://rust-tutorials.github.io/learn-gfx-hal/)
* [learn-rendy](https://github.com/rust-tutorials/learn-rendy/)
* [Introduction to PBR](https://www.grayolson.me/blog/posts/pbr-intro/)<Paste>
### Jane Lusby ([@yaahc](https://github.com/yaahc))
* **Pronouns**: she/her
* **Contact**: Twitter ([@yaahc_](https://twitter.com/yaahc_))
* **Spoken Languages**: English
* **Topics**: Beginners, community outreach, cargo, clippy, tracing, CLI, exercism.io, code review
* **Aditional Resources**: [My work tracker](https://github.com/yaahc/prs/projects/1), I'm especially happy to mentor any of these issues
### Jonathan Turner ([@jonathandturner](https://github.com/jonathandturner))
* **Pronouns**: any gender pronoun
* **Contact**: Email, Discord (_jturner#3961_), Twitter ([@jntrnr](https://twitter.com/jntrnr))
* **Spoken Languages**: English
* **Topics**: Developer experiences, growing projects, Emulation, CLI, and Beginner/Intermediate Rust
### Joshua Mir ([@joshua-mir](https://github.com/joshua-mir))
* **Pronouns**: he/him
* **Contact**: Twitter ([@jam10o](https://twitter.com/jam10o)), Gitter Parity technical support chat: ([@joshua-mir](https://gitter.im/paritytech/parity))
* **Spoken Languages**: English
* **Topics**: Beginner Rust, cryptocurrency, blockchain, parity-ethereum, Substrate runtime development
* **Additional Resources**: [Substrate Docs](https://substrate.dev), [Parity (Ethereum) Wiki](https://wiki.parity.io), [Substrate Community Resources](https://substrate.dev/en/community)
### Kevin Flansburg ([@kflansburg](https://github.com/kflansburg))
* **Pronouns**: he/him
* **Contact**: email (in GitHub profile), reddit ([/u/chicago_moose](https://www.reddit.com/user/chicago_moose))
* **Spoken Languages**: English
* **Topics**: Rust, Microservices, Kubernetes, Kafka, Websockets, Automated Trading
* **Additional Resources**: [Krustlet](https://github.com/deislabs/krustlet), [KrustletCRI](https://github.com/kflansburg/krustlet-cri)
### Kevin Knapp ([@kbknapp](https://github.com/kbknapp))
* **Pronouns**: he/him
* **Contact** Twitter ([@thekbknapp](https://twitter.com/thekbknapp)), reddit ([/u/Kbknapp](https://reddit.com/user/Kbknapp)), Keybase ([kbknapp](https://keybase.io/kbknapp)
* **Spoken Languages**: _English_, Spanish (intermediate)
* **Topics**: Beginners, all things CLI, performance, API design, clap, public speaking, systems design
### Lokathor ([@lokathor](https://github.com/lokathor))
* **Contact**: Twitter ([@Lokathor](https://twitter.com/Lokathor)), Discord (_Lokathor#2627_)
* **Spoken Languages**: English
* **Topics**: Beginners, intermediates, unsafe, FFI, SIMD
### Luca Barbato ([@lu-zero](https://github.com/lu-zero))
* **Contact**: IRC (lu_zero on [freenode.net](http://webchat.freenode.net/?channels=%23rust-av&uio=d4)), Telegram ([lu_zero](https://telegram.me/lu_zero))
* **Spoken Languages**: English, Italian
* **Topics**: Multimedia, cargo, proc-macros, CLI
### Luca Palmieri ([@LukeMathWalker](https://github.com/LukeMathWalker))
* **Pronouns**: he/him
* **Contact**: Twitter ([@algo_luca](https://twitter.com/algo_luca)), Email ([rust@lpalmieri.com](mailto:rust@lpalmieri.com))
* **Spoken Languages**: English, Italian
* **Topics**: Scientific computing, machine learning, CLI, backend development/enterprise software.
* **Additional Resources**:
* [Taking ML to production with Rust: a 25x speedup](https://www.lpalmieri.com/posts/2019-12-01-taking-ml-to-production-with-rust-a-25x-speedup/)
* [Scientific computing: a Rust adventure](https://www.lpalmieri.com/posts/2019-02-23-scientific-computing-a-rust-adventure-part-0-vectors/)
* [Writing enterprise software - a Rust experiment](https://docs.google.com/presentation/d/1r5CsiHwqABOTsrN5Dlbf4gCyhcL46NTv7qv9m5mBv-o/edit?usp=sharing)
* [A Machine learning introduction to ndarray (workshop)](https://github.com/LukeMathWalker/ndarray-koans)
### Lucio Franco ([@LucioFranco](https://github.com/LucioFranco))
* **Pronouns**: he/him
* **Contact**: Twitter ([@lucio_d_franco](https://twitter.com/lucio_d_franco))
* **Spoken Languages**: _English_, Italian, French
* **Topics**: Async io, networking, distributed systems, game dev, compilers
### Maher Khalil ([@maherkhalil07](https://github.com/maherkhalil07))
* **Contact**:maherkhalil@outlook.com
* **Spoken Languages**: English, Arabic
* **Topics**: Beginners
### Mara Bos ([@m-ou-se](https://github.com/m-ou-se))
* **Pronouns**: she/her
* **Contact**: Email ([rust@m-ou.se](mailto:rust@m-ou.se))
* **Spoken Languages**: English, Dutch
* **Topics**: Embedded, CLI, math, proc-macro, Linux, undefined behaviour, FFI, lifetimes, shared memory, memory ordering/atomics/caches
### Mike Tang ([@daogangtang](https://github.com/daogangtang))
* **Pronouns**: he/him
* **Contact**: Twitter ([@daogangtang](https://twitter.com/daogangtang))
* **Spoken Languages**: Mandarin, English
* **Topics**: Beginners, community meetup, wasm, web framework, orm, substrate...
* **Additional Resources**:
- [rust.cc](https://rust.cc)
- [rustforce.net](https://rustforce.net)
### Nikolai Vazquez ([@nvzqz](https://github.com/nvzqz))
* **Pronouns**: he/him
* **Contact**: Twitter ([@NikolaiVazquez](https://twitter.com/NikolaiVazquez)), Email ([nikvzqz@gmail.com](mailto:nikvzqz@gmail.com)), Discord ([nvzqz#4477](https://discordapp.com/invite/rust-lang))
* **Spoken Languages**: _English_, Spanish, German
* **Topics**: Learning Rust from nothing or experienced newcomers
* **Additional Resources**: I maintain [Static Assertions](https://github.com/nvzqz/static-assertions-rs), so I'd be happy to teach people how it works
### Oli ([@oli-obk](https://github.com/oli-obk))
* **Pronouns**: he/him
* **Contact**: Zulip ([@oli](https://rust-lang.zulipchat.com/)), Github ([@oli-obk](https://github.com/oli-obk)), Discord ([oli#1337](https://discordapp.com/invite/rust-lang))
* **Spoken Languages**: _German_, English
* **Topics**: Miri, const eval, error messages and other diagnostics, optimizations, MIR
### Phil Krones ([@flip1995](https://github.com/flip1995))
* **Pronouns**: he/him
* **Contact**: GitHub ([@flip1995](https://github.com/flip1995)), E-Mail ([hello@philkrones.com](mailto:hello@philkrones.com)), Discord ([flip1995#2683](https://discordapp.com/users/618807455651987476); not that active there)
* **Spoken Languages**: German, English
* **Topics**: Beginners, Clippy, Lints, Diagnostics
### Raj ([@avranju](https://github.com/avranju/))
* **Pronouns**: he/him
* **Contact**: Twitter ([@avranju](https://twitter.com/avranju))
* **Spoken Languages**: English
* **Topics**: Networking, async I/O, beginner/intermediate Rust
### Ravi ([@wafflespeanut](https://github.com/wafflespeanut))
* **Pronouns**: he/him
* **Contact**: Twitter ([@wafflespeanut](https://twitter.com/wafflespeanut))
* **Spoken Languages**: _Tamil_, English
* **Topics**: Beginners, CLI, web, coding practices, clean + maintainable code.
* **Additional Resources**: I'm actively working on [paperclip](https://github.com/wafflespeanut/paperclip), a WIP OpenAPI tooling library. I'd love to give a hand if anyone's interested!
### Robert Winslow ([@rw](https://github.com/rw))
* **Pronouns**: he/him
* **Contact**: Twitter ([@robert_winslow](https://twitter.com/robert_winslow))
* **Spoken Languages**: English
* **Topics**: Distributed systems, low-latency, testing, formal methods, Bayesian statistics, machine learning, deep learning, serialization. async/await, [FlatBuffers](https://github.com/google/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](https://www.youtube.com/watch?v=YsiQDX20lXI).
### Roman Proskuryakov ([@kpp](https://github.com/kpp))
* **Contact**: Github ([@kpp](https://github.com/kpp)), Email ([r.proskuryakoff@gmail.com](mailto:r.proskuryakoff@gmail.com)), Telegram ([gitkpp](https://t.me/gitkpp)),
* **Spoken Languages**: English, Russian
* **Topics**: Beginner/Intermediate Rust, async, futures, CI
### Shady Khalifa ([@shekohex](https://github.com/shekohex))
* **Pronouns**: he/him
* **Contact**: Twitter ([@shekohex](https://twitter.com/ShekoHex))
* **Spoken Languages**: _Arabic_, English
* **Topics**: Networking, FFI, CLI, parsers, development tools, web (server-side)
### Søren Mortensen ([@nerosnm](https://github.com/nerosnm))
* **Pronouns**: he/him
* **Contact**: Twitter ([@nerosnm](https://twitter.com/nerosnm)), Email ([soren@neros.dev](mailto:soren@neros.dev))
* **Spoken Languages**: English
* **Topics**: Beginners/the basics, developer tools, CLI, RustSwift/Objective-C interop
### Tim McNamara ([@timClicks](https://github.com/timClicks))
* **Pronouns**: he/him
* **Contact**: Twitter ([@timClicks](https://twitter.com/timClicks)), Discord ([timClicks#4198](https://discord.gg/rust-lang)), Reddit ([u/timClicks](https://www.reddit.com/user/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](https://github.com/Firstyear/))
* **Pronouns**: he/him/they/them
* **Contact**: Twitter ([@Erstejahre](https://twitter.com/Erstejahre)), Email ([william@blackhats.net.au](mailto:william@blackhats.net.au))
* **Spoken Languages**: English
* **Topics**: Code review, beginners, C-FFI, concurrency, data structures, security, identity management aka authentication
* **Additional Resources**:
* [Programming lessons and methods](https://fy.blackhats.net.au/blog/html/2019/02/26/programming_lessons_and_methods.html)
* [LDAP guide](https://fy.blackhats.net.au/blog/html/pages/ldap_guide_part_1_foundations.html)
* [Using rust generics to enforce db record state](https://fy.blackhats.net.au/blog/html/2019/04/13/using_rust_generics_to_enforce_db_record_state.html)
* [CPU atomics and ordering explained](https://fy.blackhats.net.au/blog/html/2019/07/16/cpu_atomics_and_orderings_explained.html)
### Xavier Lange ([@xrl](https://github.com/xrl))
* **Pronouns**: he/him
* **Contact**: Discord ([uint128_t#5905](https://discordapp.com/invite/rust-lang))
* **Spoken Languages**: English, French
* **Topics**: Actix, Kubernetes, Docker builds
### Zack M. Davis ([@zackmdavis](https://github.com/zackmdavis))
* **Contact**: Twitter ([@zackmdavis](https://twitter.com/zackmdavis)), email ([code@zackmdavis.net](mailto:code@zackmdavis.net)), Discord (_zackmdavis#3944_)
* **Spoken Languages**: English
* **Topics**: Language basics, rustc development (especially diagnostics)
### Andrew Lilley Brinker ([@alilleybrinker](https://github.com/alilleybrinker))
* **Contact**: Twitter ([@alilleybrinker](https://twitter.com/alilleybrinker))
* **Spoken Languages**: English
* **Topics**: Language (beginner through advanced [I teach Rust]), FFI, Software Assurance, Type System
### Tyler Neely ([@spacejam](https://github.com/spacejam))
* **Contact**: Discord ([@spacejam#5759 on the Rust discord](https://discord.gg/rust-lang))
* **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**:
- [error handling in Rust](https://sled.rs/errors)
- [Jepsen-proof engineering](https://sled.rs/simulation)
- [Fear and Loathing in Lock-Free Programming](https://medium.com/@tylerneely/fear-and-loathing-in-lock-free-programming-7158b1cdd50c)
- [model-based testing](https://medium.com/@tylerneely/reliable-systems-series-model-based-property-testing-e89a433b360)
- [building reliable infrastructure in Rust](https://www.youtube.com/watch?v=hMJEPWcSD8w)
### Berwyn Jamesson ([@berwyn](https://github.com/berwyn))
* **Contact**: Twitter ([@\_berwyn\_](https://twitter.com/_berwyn_)), Discord (berwyn#0956)
* **Spoken Languages**: English
* **Topics**: Beginners, code review, coding practices, Docker, cargo, clippy
### T.J. Telan ([@tjtelan](https://github.com/tjtelan))
* **Pronouns**: he/him/they/them
* **Contact**: Twitter([@ThatTJTelan](https://twitter.com/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](https://tjtelan.com/tags/rust/))
- My Twitch channel - https://www.twitch.tv/tjtelan
<h1 id="mentors-end"></h1>
<script>
var people = [];
var e = document.getElementById("individual-mentorship");
while (e.nextSibling.nodeName != 'H3') e.nextSibling.remove();
e = e.nextSibling;
do {
let person = [];
do {
person.push(e);
e = e.nextSibling;
} while (!/^H[123]$/i.test(e.nodeName));
people.push(person);
} while (e.nodeName == 'H3');
for (let i = people.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[people[i], people[j]] = [people[j], people[i]];
}
people.forEach(person => {
person.forEach(x => {
e.parentNode.insertBefore(x, e);
});
});
e.remove();
</script>