Learn Rust By Building
Master The Rust Programming Language By Building Real Projects.
| Start Dates | Price | Booking Link |
|---|---|---|
| TBD early 2026 | 600 USD | Sign up for waitlist |
Learn Go By Building Projects.
Learn how to write effective Rust by building five real-world applications.
| Application | What You Learn |
|---|---|
| cat | Learn how to build and run command line programs in Rust. |
| sort | Learn how to use Rust's data structures to implement sort. |
| curl | Learn how to write network clients in Go by building your own curl. |
| wc | Learn how to process text data and handle locales by building wc. |
| Memcached | Learn how to build efficient network servers in Go by building a Memcached clone. |
Who is this course for?
Software engineers who want to learn Rust and be able to confidently build command line tools, network clients and network servers in Rust.
What you’ll get out of this course.
When you have completed the course you will have a good understanding of the Rust programming language and how to build CLI tools, network clients and servers with it. You will have demonstrated those skills by building five real-world applications in Rust.
Course syllabus
The course will run for three weeks from the start date. During the course there will be nine live, instructor led 90 minute sessions.
The instructor will also be available throughout the course for questions on a private Slack channel for the course.
Week 1
Session 1 (Monday) - Introduction To Rust.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll learn about Rust, setup a Rust development environment and build your first Rust programs.
Session 2 (Wednesday) - Writing Your First Command Line Tool - Build Cat.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll build your own cat command line tool, in the process learning how:
- Variables and types work in Rust.
- Manage control flow and looping in Rust.
- To handle command line arguments in Rust.
- To read and process files in Rust.
- Handle errors in Rust.
- Print to the standard out in Rust.
Session 3 (Friday) - Writing Tests In Rust.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll learn how to write and run tests in Rust.
Week 2
Session 4 (Monday) - Writing Your Second Command Line Tool - Build Sort.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll build your own sort tool, in the process learning how to:
- TBD
Session 5 (Wednesday) - Writing Network Clients In Rust - Build Curl.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll build a simple clone of curl, in the process learning how to:
- Build network clients in Rust.
- Make HTTP requests in Rust.
Session 6 (Friday) - Processing Text In Rust - Build Wc.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll learn how to process text in Rust.
Week 3
Session 7 (Monday) - Writing A Network Server In Rust - Build Memcached.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll begin to build a Memcached server clone, in the process learning how to:
- Build network servers in Rust.
- Handle concurrent access to data structures safely.
Session 8 (Wednesday) - Office Hours.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll continue to work on the capstone project, building a Memcached server in Rust. The instructor will be available to review code, answer questions and provide hints and tips.
Session 9 (Friday) - Office Hours and Final Wrap-Up.
- 17:00 - 18:30 GMT+1 Instructor led lesson.
In this session you'll finalise the capstone project, building a Memcached server in Rust. The instructor will be available to review code, answer questions and provide hints and tips.
When Is The Course Running?
| Start Dates | Price | Booking Link |
|---|---|---|
| TBD early 2026 | 600 USD | Sign up for waitlist |
Meet Your Instructor
John Crickett
I'm the founder of Coding Challenges, a software engineer, and sometimes a manager of software engineers. I've worked as both a senior individual contributor (Staff+) and a senior manager (VP Engineering, Head of Software Development).
I've worked across many tech stacks. I've spent most of the last six years building distributed systems with Python and Flask deployed on AWS using CloudFormation and some CDK.
I've done some TypeScript/JavaScript, React and Next.js on the frontend with Node.js and Express on the backend. All deployed on AWS using CDK. It's not my forte though!
For most of my career before that I worked in C++ as well as a number of other programming languages including C, Java, C#, PHP, Perl, Visual Basic, Pascal, Deplhi and others.
I'm currently working in Python, Go and Rust. Coding Challenges was born out of the process of learning Rust by building real-world applications.
Frequently Asked Questions
I work full-time, what is the expected time commitment?
This is a intense immersive course, to get the most from it you need to attend during the sessions and complete the projects. There are 4 live sessions of 6 hours. You will need to allow another 10 or so hours to complete your projects outside the taught sessions.
Most organisations provide a learning and development budget so I suggest you approach your boss and ask them if they'll cover the cost of the course and give you time to attend. If you need anything from Coding Challenges to support that, please reach out!
You can use this email template to ask your manager for support. Fill in the sections in square brackets as appropriate.
What programming language can I use?
You can use any programming language you like. We can't promise that we'll be familiar with it.
One of the key skills that's helped John through his career is jumping into new code bases often in new programming languages - we will use the diversity of languages used by students to explore this.
Does each participant develop their own solutions?
The intention is that everyone builds their own solutions. The instructor will be available to help if you get stuck.
What’s the refund policy?
Things come up.
If you have to cancel and do so more than 72 hours before the start of the course we'll give you a full refund.
At any other time, you'll have the option to reschedule to a later course.