Building Production Ready REST APIs in Go - 2nd Edition

Course Instructor:
Elliot Forbes

Hey Gophers! My name is Elliot and I'm the creator of TutorialEdge and I've been working with Go systems for roughly 5 years now.

Twitter: @Elliot_f

Building Production Ready REST APIs in Go - 2nd Edition



Welcome Gophers! 👋 I’m delighted to introduce you to the second edition of my course - Building Production Ready Services in Go.

Who Am I?

My name is Elliot Forbes and I’ve been working professionally with Go for the past 7 years now. I started off with some smaller projects such as CLIs for business-report generation and over the years moved onto bigger and more complex projects.

I’m currently working for a company called CircleCI as a Senior Software Engineer working on the Pipelines team which is responsible for taking incoming webhooks from companies such as GitHub/BitBucket/GitLab etc and running CI pipelines.

Prior to that, I worked at a fintech startup based in London called Curve in which I was helping to build out their second generation payment processing platform and before that I was at JPMorgan Chase where I lead the development for the automation pipelines that now deploy and manage the largest CloudFoundry estate in the world.

Course Contents

Over the past few years, I’ve been honing my craft when it comes to building services in Go, and this course is hopefully going to capture most of my learnings within that time and present them to you in easily digestible chunks that can help accelerate your own Go learning journey.

In this revised second edition course, I’m going to be walking you through everything it takes in order to build clean, easily testible/maintainable Go services.

We’ll walk through, stage by stage, building up a production ready REST-API in Go.

Architecture Decisions

In this course, we’ll be building an application that follows a clean-architecture design. We’ll be gradually building up the various layers of our application starting at the service layer, then the repository layer and then finally the transport layer.

My intentions for this course are to help you understand the benefits of this architecture style and how it allows you to build more testable, and maintainable services that can be used in production-like environments.


There are a few things I’ve purposefully omitted from this course. Notably, I’ve stripped out the deployment and kuberenetes aspect of this course from the first edition as I felt more time could have been spent on the code itself rather than the operational aspects around it.

I’ve also omitted the addition of tracing and metrics from the course, although I may add a few videos in a bonus content section.

Feedback and Testimonials

My business thrives on word-of-mouth sales, as such, if you enjoyed the course then I would love to hear from you. I’m constantly looking for new testimonials to help with marketing so any help would be greatly appreciated.

If you have any comments/concerns or feedback about certain topics within the course then you can reach out to me directly at or you can ask questions on the premium discord channel if you require some more in-depth guidance!