Below is a quick summary of all of the courses I have created. For more information, including course samples, please check out each individual course page.

Web Development with Go

Paid Course

Learn to build real, production-grade web applications from scratch using Go.

You won’t be building a trivial TODO app that barely touches the complexity of a real app, nor will you be using a framework that hides all the details. In this course we build and deploy a photo sharing application complete with users, authentication, image uploads, a database, and more. We even deploy to a production server and set up automatic HTTPS.

More information can be found at →

Test with Go

Paid Course

Learn how to test real, complex software using Go. The course is composed of two parts - the lessons that teach specific testing techniques, and the projects that show how the testing techniques can be applied to a real codebase. By the end of this course you will be prepared for testing pretty much any Go code you come across.

More information can be found at →


Free Course

Gophercises is a great course for someone who has learned the basics of Go and wants to take their skills and knowledge to the next level. In this course we tackle ~20 coding exercises, each designed to teach you something new about Go. Topics range from parsing JSON to using concurrency, and a little bit of everything in between. Even experienced Gophers tell me they loved this course.

Oh and it is 100% FREE. I probably should have lead with that 😀

More information can be found at →

Algorithms with Go

Free Course

Algorithms with Go is a passion project of mine. I fell in love with algorithms and data structures while in college, and I found that I understood them significantly better when I was able to learn how to properly implement them in code and practice with some exercises. This course is meant to share the knowledge and passion that so many others at my university shared with me.

The long term plan for this course is to cover a wide variety of algorithms and data structures, but the current version only has a few. Within each algorithm or data structure we start by first discussing how it works using visuals like playing cards, then we look at how to implement the algorithm with Go code. Finally we dive into some practice problems to help verify we really understood everything.

This course is also 100% FREE, but as I mentioned it is fairly small and will gradually have new algorithms and data structures added over time.

More information can be found at →

Learn Web Development with Go!

Sign up for my mailing list and I'll send you a FREE sample from my course - Web Development with Go. The sample includes 19 screencasts and the first few chapters from the book.

You will also receive emails from me about Go coding techniques, upcoming courses (including FREE ones), and course discounts.

Avatar of Jon Calhoun
Written by
Jon Calhoun

Jon Calhoun is a full stack web developer who teaches about Go, web development, algorithms, and anything programming. If you haven't already, you should totally check out his Go courses.

Previously, Jon worked at several statups including co-founding EasyPost, a shipping API used by several fortune 500 companies. Prior to that Jon worked at Google, competed at world finals in programming competitions, and has been programming since he was a child.

Spread the word

Did you find this page helpful? Let others know about it!

Sharing helps me continue to create both free and premium Go resources.

Want to discuss the article?

See something that is wrong, think this article could be improved, or just want to say thanks? I'd love to hear what you have to say!

You can reach me via email or via twitter.

Recent Articles All Articles Mini-Series Progress Updates Tags About Me Go Courses

©2018 Jonathan Calhoun. All rights reserved.