Rust Training Programs
Learn Rust with us.
Ferrous Systems offers training programs for development teams in companies as well as scheduled trainings for individual programmers interested in furthering their Rust skills.
Whether you’re building up your team’s Rust skills from scratch or developing specializations for embedded systems, our trainers have the knowledge to make your dev team full-blown “Rustaceans”.
We guide teams through the ins and outs of Rust with active participation and coaching. We embrace “learning by doing” – because that’s how we got to where we are today.
At a glance:
- Our trainings are designed to deliver rock-solid foundational knowledge of Rust with room for your specific challenges.
- All sessions are live and feature practical tasks for hands-on learning.
- All material remains available to your team for review.
- Each of our trainers has in-depth knowledge and can answer all your Rust-related questions (even the ones that are hard to google for).
- The goal is always to get your team on a shared knowledge level that will enable them to hit the ground running in Rust.
Our qualifications:
We have a collective 100 years of experience in working with Rust. We’ve shared our knowledge and experience with developers from government organizations to Fortune 500 companies to the birthplace of Rust itself, Mozilla. Ferrous Systems is a collective of members of various Rust Governance teams and working groups, Rust Foundation founding members, as well as maintainers of key Rust projects like rust-analyzer and Knurling. We’re also the developers of Ferrocene, a qualified toolchain.
Our globally-situated trainers come from diverse backgrounds and can offer Q&A support in different languages. Read the bios.
Trainings for Teams
Our basic training packages are conducted online over six half days. If you’re not sure which package best suits your needs or if you need something more custom, get in touch via our contact page.
Introduction to Rust
- Expert Rust trainer
- Customized hands-on exercises
- 6 half days
- Thorough grounding in Rust
Embedded Rust Training
- Expert embedded trainer
- Hands on exercises on hardware
- 6 half days
- Intro to Rust + embedded skills
Why Rust?
- Industry expert
- Interactive lecture format
- Live programming demo
- 1 half-day session
Trainings for Individuals
We work with our partners at KDAB to offer regularly scheduled Rust trainings. This offer is better designed for individual skill development or smaller teams.
Introduction to Rust
- Expert Rust Trainer
- Hands-on exercises
- 5 half days in a 1-week block
- Thorough grounding in Rust
Introduction + Embedded Rust Combo
- Expert Rust trainer
- Hands-on exercises
- Combination of Intro to Rust + Embedded Rust trainings
- 8 half days over two weeks
Embedded Rust Training
- Expert embedded trainer
- Hands on exercises on hardware
- 3 half days
- Embedded skills
Introduction to Rust
In the first three half days we'll cover the fundamentals of the Rust programming language. In a varied mix of lectures and hands-on exercises we'll cover the following topics:
- Installation and “Hello World”
- Rust's type system
- Basic functions
- Control flow
- Introduction to Rust's ownership model
- Error Handling
- Compound Types
- Reading documentation
- Introduction to testing and tooling
- Writing a simple module
- Five programming exercises
You'll learn everything you need to know write effective, well documented code.
- Generics
- Traits
- Lifetimes & a deeper dive into the ownership model
- Concurrency
- Introduction to important crates such as serde
- Writing documentation for modules
- Four programming exercises
Is your team already writing production code in Rust for more then a year? We offer an advanced version of the training to give your team the boost they need!
Embedded Rust Training
Embedded Rust Fundamentals
- Introduction to the knurling tooling (flip-link, probe-run, nrfdfu)
- Differences between
[std]
and[no_std]
programming - Building and running an embedded Rust program
- Defining custom panic behavior
- Using a HAL implementation
- Getting serial output
- Using the heapless crate
- Hands-on exercise: Solving a puzzle with the nRF52840-DK Radio
Down-the-stack of Embedded Rust
- Introduction to the stack:
- Board Support Crates (BSC)
- HAL implementations
- Peripheral Access Crates (PAC)
- Embedded-HAL traits vs. specific HAL implementations
- Introduction to
svd2rust
- Implementation of
embedded-hal
traits - Hands-on Exercise: implementing parts of a BSC
- Hands-on Exercise: parsing an SVD file with
svd2rust
The Real-Time Interrupt-driven Concurrency framework (RTIC)
- Interrupts in Rust
- Introduction to the RTIC framework
- Hands-on project: implement a working USB Device using RTIC
Hardware
This workshop requires ordering hardware in advance!
- nRF52840-DK *
- nRF52840-Dongle *
- Two micro-USB cables
Why Rust?
The session includes two interactive lectures, an extended live programming demonstration, and a Q&A session. We also provide a list of resources and places you can go for support and advice on taking your next steps.
The price for this product is €500. The fee will be reimbursed if the client purchases any subsequent product, such as training, code reviews, or consultancy work.
Introduction to Rust
Below are the following upcoming training sessions which are available via our sales partners - KDAB. You can also see the upcoming sessions for Rust training by us on KDAB's website.
The price for this product is €2250 per person.
We conduct all training sessions remotely using modern video-conferencing tools to ensure the best learning experience.
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
or contact us to purchase via invoiceIntroduction + Embedded Rust Combo
- Installation and “Hello World”
- Rust's type system
- Basic functions
- Control flow
- Introduction to Rust's ownership model
- Error Handling
- Compound Types
- Reading documentation
- Introduction to testing and tooling
- Writing a simple module
- Generics
- Traits
- Lifetimes & a deeper dive into the ownership model
- Concurrency
- Introduction to important crates such as serde
- Writing documentation for modules
- Nine programming exercise
- Introduction to the Knurling tooling (flip-link, probe-run, nrfdfu)
- Differences between
[std]
and[no_std]
programming - Building and running an embedded Rust program
- Defining custom panic behavior
- Using a HAL implementation
- Getting serial output
- Using the heapless crate
- Hands-on exercise: Solving a puzzle with the nRF52840-DK Radio
Down-the-stack of Embedded Rust
- Introduction to the stack:
- Board Support Crates (BSC)
- HAL implementations
- Peripheral Access Crates (PAC)
- Embedded-HAL traits vs. specific HAL implementations
- Introduction to
svd2rust
- Implementation of
embedded-hal
traits - Hands-on Exercise: implementing parts of a BSC
- Hands-on Exercise: parsing an SVD file with svd2rust
The Real-Time Interrupt-driven Concurrency framework (RTIC)
- Interrupts in Rust
- Introduction to the RTIC framework
- Hands-on project: implement a working USB Device using RTIC
Hardware
This workshop requires ordering hardware in advance!
- nRF52840-DK *
- nRF52840-Dongle *
- Two micro-USB cables
The price for this training is €3500 per person.
We conduct all training sessions remotely using modern video-conferencing tools to ensure the best learning experience.
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
or contact us to purchase via invoiceEmbedded Rust Training
Embedded Rust Fundamentals
- Introduction to the knurling tooling (flip-link, probe-run, nrfdfu)
- Differences between
[std]
and[no_std]
programming - Building and running an embedded Rust program
- Defining custom panic behavior
- Using a HAL implementation
- Getting serial output
- Using the heapless crate
- Hands-on exercise: Solving a puzzle with the nRF52840-DK Radio
Down-the-stack of Embedded Rust
- Introduction to the stack:
- Board Support Crates (BSC)
- HAL implementations
- Peripheral Access Crates (PAC)
- Embedded-HAL traits vs. specific HAL implementations
- Introduction to
svd2rust
- Implementation of
embedded-hal
traits - Hands-on Exercise: implementing parts of a BSC
- Hands-on Exercise: parsing an SVD file with
svd2rust
The Real-Time Interrupt-driven Concurrency framework (RTIC)
- Interrupts in Rust
- Introduction to the RTIC framework
- Hands-on project: implement a working USB Device using RTIC
What you should know before taking this course
Our Embedded Rust training makes some assumptions around the Rust knowledge previously gained by the attendees, so we can concentrate on the Embedded-specific aspects. Before starting this course, we strongly suggest you self assess your Rust skills by having a look at this exercise.
If you've already completed Introduction to Rust, you'll have no issue getting started in the Embedded Rust Training.
Hardware
This workshop requires ordering hardware in advance!
- nRF52840-DK *
- nRF52840-Dongle *
- Two micro-USB cables
The price for this training is €1350 per person.
We conduct all training sessions remotely using modern video-conferencing tools to ensure the best learning experience.
Book nowvia our sales partner, KDAB
Book nowvia our sales partner, KDAB
or contact us to purchase via invoiceWhy Rust?
The session includes two interactive lectures, an extended live programming demonstration, and a Q&A session. We also provide a list of resources and places you can go for support and advice on taking your next steps.
The price for this product is €100 per person.
Next training date to be announced!
Subscribe to our Why Rust? newsletter to get the latest updates.
Why Ferrocene?
In this session our experienced trainer will show off a pre-release of the Ferrocene toolchain, talking about the similarities and differences with the upstream Rust toolchain, its use cases and how its long-term support model works. We will also build a small example application for ARM64, live. Finally there will be time for Q&A, and we will provide details you need to obtain a copy of Ferrocene for yourself.
This training is free!
Next training date to be announced!
Subscribe to our Ferrocene newsletter to get the latest updates.
Languages spoken: English
Languages spoken: English, Hindi, Urdu, Punjabi
Languages spoken: English, Spanish
Languages spoken: English, Russian, Ukrainian
Languages spoken: English, German, French