Skip to main content

Learn Zig By Building

Master The Zig Programming Language By Building Real Projects.

Start DatesPriceBooking Link
TBD early 2026600 USDSign up for waitlist

Learn Go By Building Projects.

Learn how to write effective Zig by building five real-world applications.

ApplicationWhat You Learn
catLearn how to build and run command line programs in Zig.
sortLearn how to use Zig's data structures to implement sort.
curlLearn how to write network clients in Go by building your own curl.
wcLearn how to process text data and handle locales by building wc.
MemcachedLearn how to build efficient network servers in Go by building a Memcached clone.

Who is this course for?

Software engineers who want to learn Zig and be able to confidently build command line tools, network clients and network servers in Zig.

What you’ll get out of this course.

When you have completed the course you will have a good understanding of the Zig 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 Zig.

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 Zig.

  • 17:00 - 18:30 GMT+1 Instructor led lesson.

In this session you'll learn about Zig, setup a Zig development environment and build your first Zig 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 Zig.
  • Manage control flow and looping in Zig.
  • To handle command line arguments in Zig.
  • To read and process files in Zig.
  • Handle errors in Zig.
  • Print to the standard out in Zig.

Session 3 (Friday) - Writing Tests In Zig.

  • 17:00 - 18:30 GMT+1 Instructor led lesson.

In this session you'll learn how to write and run tests in Zig.

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 Zig - 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 Zig.
  • Make HTTP requests in Zig.

Session 6 (Friday) - Processing Text In Zig - Build Wc.

  • 17:00 - 18:30 GMT+1 Instructor led lesson.

In this session you'll learn how to process text in Zig.

Week 3

Session 7 (Monday) - Writing A Network Server In Zig - 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 Zig.
  • 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 Zig. 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 Zig. The instructor will be available to review code, answer questions and provide hints and tips.

When Is The Course Running?

Start DatesPriceBooking Link
TBD early 2026600 USDSign 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.