Skip to main content

Rust Coding Challenges

· 2 min read

I'm often asked to recommend some Coding Challenges for developers who are learning Rust.

The obvious answer is ALL of them! After all I started writing and sharing these coding challenges as I was using them to learn Rust.

But to try and provider a more curated answer the question, here are the eight great coding challenges you can use to learn Rust:

  1. Build your on wc - get started by learning to handle command line arguments and process file IO and text streams.
  2. Build your own compression tool - start digging into building data structures and algorithms using Rust to build a tool that compresses and decompresses files using Huffman compression.
  3. Build your own Redis Server - Building a clone of the original Redis server is a great challenge to learn either async (i.e. Tokio) or multi-threaded development in Rust. Alongside that you get to do some protocol handling, data structures and network programming.
  4. Build your own URL Shortener - a great challenge to learn about hashing and building REST APIs in Rust.
  5. Build your own diff - get into some dynamic programming with Rust.
  6. Build your own Shell - Rust is a system programming language so building your own Shell is a fun way of using it.
  7. Build your own DNS Resolver - Some more low level network programming and packet handling.
  8. Build your own git client - build on your diff and add more data structures and algorithms.