Learn Go By Building
Master The Go Programming Language By Building Real Projects
Start Dates | Price | Booking Link |
---|---|---|
7th April 2025 | 600 USD | Sign up now |
June 2025 | 600 USD | Coming Soon |
TBD 2025 | 600 USD | Coming Soon |
Learn Go By Building Projects.
Learn how to write effective Go by building five real-world applications.
Application | What You Learn |
---|---|
cat | Learn how to build and run command line programs in Go. |
sort | Learn how to use Go'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 Go and be able to confidently build command line tools, network clients and network servers in Go.
What you’ll get out of this course.
When you have completed the course you will have a good understanding of the Go 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 Go.
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 Go.
- 17:00 - 18:30 GMT Instructor led lesson.
In this session you'll learn about Go, setup a Go development environment and build your first Go programs.
Session 2 (Wednesday) - Writing Your First Command Line Tool - Build Cat.
- 17:00 - 18:30 GMT 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 Go.
- Manage control flow and looping in Go.
- To handle command line arguments in Go.
- To read and process files in Go.
- Handle errors in Go.
- Print to the standard out in Go.
Session 3 (Friday) - Writing Tests In Go.
- 17:00 - 18:30 GMT Instructor led lesson.
In this session you'll learn how to write and run tests in Go.
Week 2
Session 4 (Monday) - Writing Your Second Command Line Tool - Build Sort.
- 17:00 - 18:30 GMT Instructor led lesson.
In this session you'll build your own sort tool, in the process learning how to:
- Use slices in Go.
- Implement algorithms in Go.
Session 5 (Wednesday) - Writing Network Clients In Go - Build Curl.
- 17:00 - 18:30 GMT Instructor led lesson.
In this session you'll build a simple clone of curl, in the process learning how to:
- Build network clients in Go.
- Make HTTP requests in Go.
Session 6 (Friday) - Processing Text In Go - Build Wc.
- 17:00 - 18:30 GMT Instructor led lesson.
In this session you'll learn how to process text in Go.
Week 3
Session 7 (Monday) - Writing A Network Server In Go - Build Memcached.
- 17:00 - 18:30 GMT 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 Go.
- Use goroutines.
- Use channels.
- Handle concurrent access to data structures safely.
Session 8 (Wednesday) - Office Hours.
- 17:00 - 18:30 GMT Instructor led lesson.
In this session you'll continue to work on the capstone project, building a Memcached server in Go. 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 Instructor led lesson.
In this session you'll finalise the capstone project, building a Memcached server in Go. 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 |
---|---|---|
7th April 2025 | 600 USD | Sign up now |
June 2025 | 600 USD | Coming Soon |
TBD 2025 | 600 USD | Coming Soon |
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 occiasionally 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 9 live sessions of 90 minutes. 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!
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.