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?
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
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
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
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
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
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.
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 availabilityNational Training Fund
An instrument for employers — we help you check whether it can be applied
Learn moreTrusted by
We train teams at Poland's largest companies
Interested in this training?
Contact us - we'll prepare an offer tailored to your organization's needs.