Skip to content

Rust — Systems and Safe Programming

A five-day, end-to-end workshop combining ownership and the borrow checker, concurrent programming with async/Tokio, unsafe Rust and FFI, and production tooling in a single path — for teams building memory-safe systems in a language adopted by the Linux kernel, Android, Microsoft, and AWS.

Memory safety without a garbage-collector cost

Rust eliminates an entire class of memory bugs at compile time through its ownership model and borrow checker — without the performance overhead typical of garbage-collected languages. The course dedicates its first module to a deep understanding of this model, since it is what sets Rust apart from other systems languages and is the source of most beginners’ compile errors.

One path, four pillars of production Rust

Instead of splitting the material into separate, narrow courses, this workshop combines four areas needed for production work in five days: memory safety, concurrent programming (async/Tokio), deliberate use of unsafe Rust and FFI for C/C++ integration, and tooling (cargo, tests, CI/CD). It is designed for teams that want to deploy Rust in a real project, not just learn the syntax.

Why tech leaders choose Rust

The Linux kernel, Android, Microsoft, and AWS adopt Rust where memory safety and performance must go hand in hand. The course’s final module ties these guarantees to practice: performance optimization, profiling, and a solid CI/CD pipeline, so participants leave ready to deploy Rust in their own organization.

Benefits

  • Master the ownership, borrowing, and lifetimes model as the foundation of memory safety in Rust
  • Write safe concurrent code using async/await and the Tokio runtime
  • Use unsafe Rust and FFI deliberately and safely to integrate with C/C++ code
  • Work effectively with production tooling: cargo, testing, dependency management, and deployment

Who is this training for?

Systems and C/C++ developers moving to Rust for memory safety without a garbage collector
Engineers building high-performance, low-latency services
Embedded and infrastructure teams integrating Rust with existing C/C++ code
Backend developers seeking an alternative to GC-based languages in performance-critical paths

Prerequisites

  • Experience programming in a low-level language (C, C++) or strong general programming fundamentals
  • Basic familiarity with memory management concepts (stack, heap, pointers) helps

Training program

01

Ownership, borrowing, and lifetimes — the foundation of memory safety

  • The ownership model and move semantics
  • Borrowing: mutable and immutable references, borrow-checker rules
  • Lifetimes — explicit and implicit, common compiler errors and their causes
  • Smart pointers: Box, Rc, Arc, RefCell — when and why to use them
02

Types, patterns, and error handling

  • Rust's type system: structs, enums, traits
  • Pattern matching and the match expression as a central control-flow mechanism
  • Error handling without exceptions: Result, Option, the ? operator
  • Generics and trait bounds
03

Safe concurrency — async/await and Tokio

  • Rust's concurrency model: Send, Sync, and thread-safety guarantees
  • Asynchronous programming: async/await, futures, the executor
  • The Tokio runtime: tasks, channels, synchronization in async code
  • Building a simple network service with Tokio
04

Unsafe Rust and FFI — integrating with C/C++ code

  • When and why to reach for unsafe Rust — where programmer responsibility begins
  • Working with raw pointers and unsafe operations
  • Foreign Function Interface (FFI): calling C code from Rust and vice versa
  • Safely wrapping unsafe code in safe abstractions
05

Production tooling and deployment

  • Cargo: dependency management, workspaces, build profiles
  • Unit, integration, and property-based testing
  • Static analysis (clippy), formatting (rustfmt), and CI/CD for Rust projects
  • Performance optimization and profiling production applications

Delivery Methods

Online

  • Convenience of participating from anywhere
  • Interactive live sessions with trainer
  • Materials available for 30 days
  • No travel costs

On-site

  • Direct contact with trainer and group
  • Intensive hands-on workshops
  • Networking with other participants
  • Full focus on learning

Frequently asked questions

How is this different from Rust — Secure Systems Programming and Rust in Systems Programming in our catalog?

Those two existing courses are narrower, standalone courses focused on systems security and systems-programming basics in Rust, respectively. This course is a five-day, end-to-end workshop that combines, in one path, four areas developed separately elsewhere: the ownership/borrow-checker model, asynchronous programming with Tokio, deliberate use of unsafe Rust and FFI for C/C++ integration, and complete production tooling (cargo, tests, CI/CD). It is a full course from fundamentals to production readiness, not a deep dive into a single thread.

Do I need to know C or C++ before this course?

It is not a formal requirement, but experience with a low-level language significantly helps with understanding Rust's memory model and the FFI module, where Rust communicates with existing C code. Participants without such experience should expect a slower pace in the first two days of the workshop.

When in practice do you need to reach for unsafe Rust, given the language is supposed to be safe?

Unsafe Rust is needed where the compiler cannot verify the safety of an operation even though the programmer knows it is correct — for example, working with raw pointers, FFI calls to C, or implementing low-level data structures. The course teaches not just unsafe syntax but, more importantly, the pattern of safely wrapping such code in safe abstractions so the rest of the application still benefits from Rust's guarantees.

Why are large tech companies (the Linux kernel, Android, Microsoft, AWS) adopting Rust?

Rust eliminates an entire class of memory bugs (use-after-free, buffer overflow, data race) at compile time, without the performance cost of a garbage collector — hence its adoption in the Linux kernel, the Android OS, Windows components (Microsoft), and AWS infrastructure, where memory safety and performance are both critical simultaneously. The course shows how to apply those same guarantees in your own projects.

Anna Polak
Anna Polak Opiekun szkolenia

Request a quote

Funding Options

Check funding options for your company

Development Services Database

An instrument for micro, small and medium-sized companies — check whether it applies to your organisation

Check availability

National Training Fund

An instrument for employers — we help you check whether it can be applied

Learn more

Trusted by

We train teams at Poland's largest companies

ING Bank - EITT client
mBank - EITT client
PKO Bank Polski - EITT client
PZU - EITT client
Allianz - EITT client
T-Mobile - EITT client
KGHM - EITT client
PGE - EITT client
IKEA - EITT client
InPost - EITT client
Leroy Merlin - EITT client
ZUS - EITT client

Interested in this training?

Contact us - we'll prepare an offer tailored to your organization's needs.

2500+ trainings available
ISO 9001 quality certified
Request Training
Call us +48 22 487 84 90