Skip to content

maxkulish/rust_incubator

 
 

Repository files navigation

Rust Incubator

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 bootcamp, you will participate in the Rust Incubator, a rigorous, step-by-step Rust certification program 🏆. The aim of this program is to shape you into a proficient 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.

Prerequisites

Before you start the certification program, you need to have confident knowledge of Rust and Git/GitHub. The Rust Book is a must. Nice if you did Rustlings and Exercism and had some practice. If you are a switcher, this certification program will also be useful for you.

Organization and certification

Participants in the boot camp will be divided into several small groups. Group meetings will occur four times a week, excluding weekends. These meetings will provide an opportunity to discuss and answer any questions, and you should also expect to answer questions posed by your mentor. Our learning process is designed around daily skill development, leveraging the best learning materials available.

We provide an interactive platform for tracking your progress. You will be tasked with designing, developing, and presenting a capstone project. Finally, you will undergo a final assessment at the end of the certification program. Successful completion will earn you a certificate, a testament to your ability to utilize best practices and write idiomatic code that will impress your employer.

Getting Started

Fork the Rust Incubator into a private repo. For each exercise, you'll need to create separate pull requests. Then, when the reviewer checks and approves your pull request, you can merge it into the master/main branch. After that, the exercise will be considered done.

  1. Create a new GitHub repository for yourself using this one as template. Remember to make it private.
  2. Invite as a collaborator of your repository our bot.

Look here for more detailed instructions, and here you can find FAQ.

NOTE: This learning course is constantly improving and evolving over time.

To be up-to-date with the recent changes in your own copy of this repository, attach the upstream history with the following commands:

git remote add upstream https://github.com/rust-lang-ua/rust_incubator.git git fetch upstream main git merge upstream/main --allow-unrelated-histories

And then, whenever you want to grab some new changes, do the following:

git fetch upstream main git merge upstream/main

Additionally, to be aware of new changes, you may either watch this repository on GitHub, or even track it via RSS subscription.

Curriculum

Each step must be performed as a separate PR (pull request) with an appropriate name and check-marked here in README's schedule after completion. Each step is a Cargo workspace member, so you can run/test it from the project root (i.e. cargo run -p step_1_8). Consider using rustfmt and Clippy when you're writing Rust code.

Each step has an estimated time for completion. If any deeper investigation on the step'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.

Useful links

Too hard?

Perhaps you are not ready to become certified? That's okay. Follow these links if you find the incubator too hard.

About

Learning Rust step-by-step.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%