"It wasn't always so clear, but the Rust programming language is fundamentally about empowerment: no matter what kind of code you are writing now, Rust empowers you to reach farther, to program with confidence in a wider variety of domains than you did before."
Rust Book's Foreword
In this rustcamp, you will participate in the Rustcamp, a rigorous, step-by-step Rust certification program 🏆. The aim of this program is to shape you into a proficient Strong Junior Rust Developer. Indeed, with this rigorous training, you will find yourself better prepared than developers switching from other languages without a similar level of instruction. If you are a mid- or senior-level developer transitioning to Rust, you can confidently target Middle-level positions after achieving this certification.
Description | Number |
---|---|
Total applications to Rustcamp | 507 |
Total number of Participants | 187 |
Mentors | 38 |
Certified Professionals | 40 |
Before you begin the certification program, you should have a solid understanding of Rust and Git/GitHub. We strongly recommend completing the Rust Book. It's also beneficial if you have completed Rustlings and Exercism, and have some hands-on practice. If you're transitioning from another programming language, you'll also find this certification program particularly useful.
Participants in the boot camp will be divided into closely-knit small groups. Meetings within these groups will occur four times a week, excluding weekends. These meetings are an opportunity for dynamic discussion, mutual learning, and answering any questions you might have. Additionally, participants can expect to answer insightful questions posed by their mentors, fostering a proactive learning environment.
Our learning process is designed around daily skill enhancement, leveraging the highest quality learning materials available. We provide an interactive platform for tracking progress, ensuring a clear path of advancement and accomplishment.
Participants will also be challenged with designing, developing, and presenting a capstone project. This project provides a fantastic opportunity to apply the skills learned throughout the boot camp in a practical, impactful way.
Finally, a comprehensive assessment will be conducted at the end of the certification program. Upon successful completion, participants will earn a certificate. This certificate is more than just a document; it's a testament to your ability to utilize best practices and write idiomatic code that employers will value highly. Imagine the doors that could open with this certificate in hand!
Please, read instructions.
Please, read instructions.
- rustup for installing Rust toolchain and keeping it up-to-date.
- CLion/IntelliJ IDEA + IntelliJ Rust + Toml plugins as development environment (or any other on your choice).
- Rust Book teaches and explains Rust basics.
- Rust By Example teaches you Rust basics using editable examples.
- Rust Reference is not a formal spec, but is more detailed and comprehensive than the Rust Book.
- Cheats.rs and Rust SVG Cheatsheet for quick reference.
- Rust Edition Guide for considering improvements of Rust 2018 and Rust 2021.
- Rust std lib documentation.
- Cargo Book is a guide to Cargo, Rust's build tool and dependency manager.
- Rustdoc Book is a guide to
rustdoc
documentation tool. - Rust Cookbook is a collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem.
- Rust Design Patterns is an open source repository of Rust design patterns and idioms.
- Effective Rust is a collection of guidelines that had been learned from real world experience of creating software in Rust.
- Rust API Guidelines is a set of recommendations on how to design and present APIs for Rust.
- Rust FAQ answers common question about Rust.
- Rust Playground allows to share and check runnable Rust code snippets online.
- Awesome Rust is a curated list of Rust code and resources.
- This Week in Rust represents handpicked and subscribable Rust weekly updates.
- Baby Steps blog of Nicholas Matsakis shares useful Rust patterns, ideas and design decisions.
Each task must be performed as a separate PR (pull request) with an appropriate name and checkmarked here in README's schedule after completion. Each task is a Cargo workspace member, so you can run/test it from the project root (i.e. cargo run -p task_1_8
). Consider to use rustfmt and Clippy when you're writing Rust code.
Each task has the estimated time for completion. If any deeper investigation on task's theme is needed by you, then it's on your own.
Do not hesitate to ask your mentor/lead with questions, however you won't receive any concrete answer, but rather a direction for your own investigation. Mentor/Lead is the one who asks questions here, demanding concrete and complete answers.
- 0. Become familiar with Rust basics (1 week)
- 1. Concepts (2 weeks)
- 2. Idioms (2 weeks)
- 3. Ecosystem (3 weeks)
- 3.1. Testing and mocking
- 3.2. Declarative and procedural macros
- 3.3. Date and time
- 3.4. Regular expressions and custom parsers
- 3.5. Collections and iterators
- 3.6. Serialization and deserialization
- 3.7. Randomness and cryptography
- 3.8. Logging and tracing
- 3.9. Command-line arguments, environment variables and configs
- 3.10. Multithreading and parallelism
- 3.11. Async I/O, futures and actors
- 3.12. Summary Task
- 4. Backend ecosystem (2 weeks)
- Agree your capstone project
- 5. Zero To Production (3 weeks)
- 6. Capstone Project (1 week)
- 🧭 Orientation - Maximize your rustcamp experience with these tips.
- ⏩ Getting Started - Kick off your learning journey here.
- 🎓 Exercism - Dive into coding exercises with the guidance of mentors.
- 📚 Learning Materials - A curated collection of top-notch Rust learning materials.
- 🔧 Ecosystem - A curated collection of frequently used crates, representing essential parts of the Rust ecosystem.
- 🌐 Zero To Production - A back-end focused book to broaden your knowledge.
- Access the book as a series of articles.
- ❔ FAQ - Answers to frequently asked questions at your fingertips.
- 🔄 Progress Board - Participant progress board
- 🚀 Graduates' Capstone Projects - Graduates' сapstone зrojects
- 👣 Step-by-Step Introduction - A gradual introduction to Rust programming.
- 🐣 Rustlings - Small exercises designed to familiarize you with reading and writing Rust code.
- 📘 Rust Book - An indispensable guide to Rust. While it's a must-have starting point, we strongly encourage revisiting it throughout your learning journey.
Rustcamp materials were based on the Rust Incubator program created by the Legendary Kai 💜 and Member of the Jedi High Council Luca Palmieri 🧙♂️