Rust For Engineering Teams

We train engineers & teams to think about what they are doing and why resulting in better architected, readable, and maintainable code bases.

Browse Courses

Trusted By Companies Of All Sizes

Learn with Ardan Labs What Can You Learn?

Our Rust trainer(s) will upskill your team not only in Rust fundamentals, but share the core philosophies behind the creation of Rust which includes advanced engineering best practices as well as debugging techniques for more scalable, performant, and bug-free code.

Go Training - Ardan labs

Rust Team Training Curriculum

3 Courses

1 Instructor

60+ Hours

Show all course details

Ultimate Rust: Foundations

Starts with an introduction to Rust, and why you benefit from using – both as a foundation and within your existing ecosystem.

with Herbert Wolverson
  20 Hrs
  Beginner - Intermediate

Course Description

The Ultimate Rust Foundations class starts with an introduction to Rust, and why you benefit from using – both as a foundation, and within your existing ecosystem.

Course Outline

  • Rust includes Cargo, a swiss-army knife tool that can:
  • Using Rust without Cargo
  • Rust’s Safety Guarantees
  • “Hello World” application – the foundation of most languages.
  • Arrays, vectors and slices.
  • Strict types and strong typing.
  • Serializing and De-Serializing data.
  • Iterative Programming – using iterators to combine operations.
  • Working with Strings
  • Protection from data races
  • Easy multi-threaded concurrency with Rayon
  • Ultimate control with raw threads
  • High-performance Input/Output with Asynchronous design and Tokio.
  • Build a CPU bound program with Rayon, and use all of your CPU power.
  • Manage raw-threads and shared data.
  • Spin up a simple server in 10 minutes.
  • The classic Object-Oriented Programming example of different objects printing different text – but with traits.
  • Designing a simple generic function with ToString.
  • Stacked traits – traits that depend upon one another, combined with generic programming.

Ultimate Rust: Integrating Pipelines

Rust doesn’t have to be an all-or-nothing proposition. Rust is very good at sliding into an existing platform, allowing you to focus on optimizing – both for speed and safety.

with Herbert Wolverson
  20 Hrs
  Beginner - Intermediate

Course Description

Rust doesn’t have to be an all or nothing proposition. Rust is very good at sliding into an existing platform, allowing you to focus on optimizing – both for speed and safety – the parts that matter without throwing away all of your existing hard work.

Course Outline

  • Introducing FFI, the Foreign Function Interface.
  • Consuming a C library from Rust:
  • From C to Rust:
  • Calling Go from Rust
  • Building a Rust FFI Crate
  • Consume the Rust crate from C
  • Consume the Rust crate from Go
  • Managing Your Build Process – Practical Observations
  • Porting Parts to Rust
  • Build an HTTP authentication service with Actix in under 200 lines of Rust.
  • Build an efficient, binary protocol server with Tokio.
  • Combining asynchronous high-performance I/O with CPU-bound computation.
  • Event tracing
  • Use a Unikernel to host a Rust service as a single-purpose virtual machine.
  • Use WebAssembly (WASM) to host high-performance code in the browser.
  • Build without a standard library for embedded targets

Ultimate Rust: Optimizing Rust & Debugging

The Rust compiler catches many bugs for you that are common in other languages. Use the tools to avoid bugs and use Rust’s error system to pass meaningful errors and handle them appropriately.

with Herbert Wolverson
  20 Hrs
  Beginner - Intermediate

Course Description

The Rust compiler catches many bugs for you that are common in other languages. Use the tools to avoid bugs and use Rust’s error system to pass meaningful errors and handle them appropriately.

Optimizing Rust

  • Measure First: the importance of knowing what to optimize
  • Use Rust’s built-in benchmark system to test component performance.
  • Use a Profiler to find hotspots.
  • When NOT to optimize
  • Optimize the Algorithm First
  • Optimization levels, Safety, Link Time Optimization.
  • Understanding your cache: When Optimizing for Size is faster than Optimizing for Speed.
  • Using unsafe safely.
  • Profile-Guided Optimization.
  • Compiler hints and inlining.
  • Tracing distributed components
  • Is your microservice too micro?
  • Blocking Operations
  • Waiting for Databases, File and Network I/O
  • Fast, Efficient Logging

Debugging Rust

  • Using your tools
  • Debugging with println statements.
  • Faster printing: tracing with tokio, and fast logging.
  • Types of bug
  • Attaching a debugger
  • Unit testing to avoid bugs in the first place.
  • Use Rust’s error system to pass meaningful errors—-and handle them appropriately.
  • Avoiding Bugs with the Rust Type System.
  • Strong Types, compile-time checking.
  • Strong Types, run-time checking.
  • Floating point errors.
  • Unicode errors.
  • Type-conversion errors.
  • Always test in debug mode to catch overflow and out-of-bounds errors.
  • Memory Issues
  • Great Documentation with Rust.
  • Integration testing with library examples.

Flexible Team Training Solutions

  •  

    Instructor-led Live Online Training

  •  

    Instructor-led Onsite Training

  •  

    Self-Paced Online Training

  •  

    Hybrid Training Solutions

Our Rust Instructor

Herbert Wolverson - Ardan labs

Herbert Wolverson

Herbert has been developing software professionally for more than 20 years. Starting with Pascal, and then moving onto C and C++, Herbert has developed custom applications ranging from web-server filters to games. Herbert is the author of Hands-on Rust and Rust Brain Teasers

Additional Courses

See all of our training options
Go Training

Go Training

K8s Training

Kubernetes & Docker Training

Terraform Training

Terraform Training

Don’t just take our word for it

Rated 5 stars

The Ardan Labs Engineer is a great problem solver who gets things done

He's also self aware and reflective, open to thoughts and feedback and open to learning and evolving which in turn helps his entire team improve. Additionally - and very importantly - He is a really good tech mentor, he managed to build great rapport with his team mates and constantly helps them improve.

Rated 5 stars

The Ardan Labs Engineer assigned to us is extraordinary

He may be the best senior engineer I've ever had on any of my teams. He helps in all aspects of the software development lifecycle. Having 1 Ardan Labs Engineer on a team elevates the entire team to high-performing.

Rated 5 stars

The Ardan Labs Engineer ramped up very quickly

Despite the relative complexity of the product, and jumped right into the thick of things. He shows great initiative and interest in the broader system, and never shies away from difficult work.

Trusted by top technology companies

We've built our reputation as educators and bring that mentality to every project. When you partner with us, your team will learn best practices and grow along the way.

30,000+

Engineers Trained

1,000+

Companies Worldwide

12+

Years in Business

Let’s start a conversation

Reach out and let us know what you are interested in.