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.

Training for Teams
Introduction to Rust
In our customized Rust Training for Teams, your team will learn the fundamental skills to confidently read and write Rust code competently on their own. Over the course of six half days your team will gain a deep understanding of Rust and dive into the Rust mindset.

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
The following two half days are spent on the application of Rust in bigger code bases written in teams.
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
The last half day is spent on a topic of your choice from our extensive material list or a comprehensive Q&A.

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!
Ready to book?

Get in touch with us to discuss your unique requirements.

Let’s start talking

Training for Teams
Embedded Rust Training
In our Embedded Rust Training for Teams we'll first cover the fundamentals of the Rust programming language. In a varied mix of lectures and hands-on exercises we'll cover Rust's syntax, type system, control flow, the ownership model as it applies to building Embedded Systems, as well as writing modules and reading Rust's documentation. This component of the course will take three half days. Over the next three half days we cover the following topics, using the Nordic nrf52840-DK as our example platform.

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!

* Ferrous Systems is not affiliated or partnered with mouser.de in any way. This link serves only as an example of one of the available options on the market. Feel free to use any seller that may be more suitable for you!
Ready to book?

Get in touch with us to discuss your unique requirements.

Let’s start talking

An introduction for Managers
Why Rust?
In our half-day course on Why Rust? you will learn what Rust is about, where it is from and where it is going, to help you consider whether Rust is the right programming language for you. You will get get a taster of what our expert training could deliver for your company, and whether it is right for you to look at Rust for your next project.
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.
Ready to book?

Get in touch with us to discuss your unique requirements.

Let’s start talking

Training for Individuals
Introduction to Rust
Our Rust Training in 1 week (5 days) format is designed for individuals who are interested in receiving formal training or business clients who only wish to train a small number of engineers. Our expert trainers will deliver the same basic Rust content as in the Introduction to Rust for Teams package. We omit the final half day from the 'Teams Intro to Rust' package dedicated to a topic of choice or a Q&A session.

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.

Upcoming trainings

May 13 - 17, 2024
12:00 - 16:00 UTC (check in your time zone)

Book nowvia our sales partner, KDAB

or contact us to purchase via invoice
Training for Individuals
Introduction + Embedded Rust Combo
This training is a combined version of our Intro to Rust and Embedded Rust Training that provides a crash course from everything from installation to the Embedded Fundamentals. The course is taught over 8 half days and includes a mixture of teaching and hands-on exercises throughout which our trainers are available to guide participants through any hurdles.

Part 1
You will learn the fundamental skills to confidently read and write Rust code.
Over 5 half days in a mixture of lecturesand hands-on exercises, we’ll cover:

  • 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

Part 2
In our Embedded Rust Training over three half days we'll use the Nordic nrf52840-DK as our example platform.
In a varied mix of lectures and hands-on exercises we'll cover the following topics over 3 half days:

  • 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!

* Ferrous Systems is not affiliated or partnered with mouser.de in any way. This link serves only as an example of one of the available options on the market. Feel free to use any seller that may be more suitable for you!

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.

Upcoming trainings

Week 1 - Mon-Fri 13 May - 17 May 2024
Week 2 - Wed-Fri 22 May - 24 May 2024
12:00 - 16:00 UTC (check in your time zone)

Book nowvia our sales partner, KDAB

or contact us to purchase via invoice
Training for Individuals
Embedded Rust Training
In our Embedded Rust Training over three half days we'll use the Nordic nrf52840-DK as our example platform. In a varied mix of lectures and hands-on exercises we'll cover the following topics:

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!

* Ferrous Systems is not affiliated or partnered with mouser.de in any way. This link serves only as an example of one of the available options on the market. Feel free to use any seller that may be more suitable for you!

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.

Upcoming trainings

May 22 - May 24, 2024
12:00-16:00 UTC (check in your time zone)

Book nowvia our sales partner, KDAB

or contact us to purchase via invoice
Training for Individuals
Why Rust?
In our half-day course on Why Rust? you will learn what Rust is about, where it is from and where it is going, to help you consider whether Rust is the right programming language for you. You will get get a taster of what our expert training could deliver for your company, and whether it is right for you to look at Rust for your next project.
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.
Training for Individuals
Why Ferrocene?
Why Ferrocene? is a free 90 minute introduction to Ferrocene, a toolchain for building safety-critical and functional-safety systems in Rust.

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.
Training Rust since 2014
A comic style drawing of Jonathan. He has a beard, his hair is rendered yellow.
Jonathan Pallant
Jonathan Pallant is an embedded systems engineer with nearly 20 years professional consulting experience. Jonathan started with Turbo Pascal, Delphi and Java, before moving into C and C++. These days, however, Jonathan specialises in the Rust Programming Language and, in particular, its use in embedded systems. Previous projects have included satellite telephones and broadband modems, tracking beacons using NB-IoT, consumer Bluetooth Audio devices and personal safety proximity warning systems. He is the original author of around 30 packages on crates.io, and co-maintainer for many more.

Languages spoken: English

A comic style drawing of Amanjeev, semi-profile. His hands are crossed under his chin, he looks slightly up. His hair (also beard) is rendered green.
Amanjeev Sethi
Despite being born and raised in a small town in India where he had no access to computers, Aman eventually got to study computer science and work with computers. He enjoys teaching and has taught computer science courses as an adjunct lecturer. For software-related roles, he has moved around the stack quite a bit; from early front-end dev to genomics research programmer to infrastructure engineer. These days Aman is focused on bringing Rust knowledge to more people and teams who can use it to build systems that do not keep them awake at night.

Languages spoken: English, Hindi, Urdu, Punjabi

A comic style drawing of Miguel, semi-profile. He has a beard, his short hair is rendered light blue.
Miguel Raz Guzmán Macedo
Miguel Raz Guzmán Macedo is a physicist in training from Mexico City, México. Miguel began his open source career in the Julia programming language, where he focused on high performance computing and sharing video tutorials and translating Spanish documentation. He now brings this expertise to Rust as one of the contributors to the stdsimd library, and enjoys all benefits that Rust's ownership system brings to anti-aliasing optimizations.

Languages spoken: English, Spanish

A comic style drawing of Andrei, semi-profile. He looks slightly up. He wears glasses, has a beard, his hair is rendered yellow.
Andrei Listochkin
Andrei first learned Rust way before its 1.0 release and co-founded RustFest conferences with Florian and others. During his career he worked on a web browser, a large telephony platform, a cancer diagnostics software, an industrial monitoring system, with many other projects in between. For years he's been giving conference talks and conducting workshops in person and online, mostly on web technologies. These days he teaches teams Rust and focuses on making Rust developer experience better by contributing to Rust Analyzer and other projects.

Languages spoken: English, Russian, Ukrainian

A comic style drawing of Florian. He has a beard, his hair is rendered light blue.
Florian Gilcher
Florian has been programming Rust for ten years and is a co-founder of the local Berlin Rust meetup and the European Rust conference RustFest. He has been giving Rust training courses professionally since 2015, with more than five training courses per year. RIPE, Mozilla, and Wire are just some of the groups he has trained. He also gives workshops and async programming around conferences. Before training Rust, he trained people on Elasticsearch and Ruby on Rails.

Languages spoken: English, German, French