Go Concurrency Deep Dive

Give your apps a speed boost and delight your users

Note: this course is also included in the Master Go course bundle.

Achieve the next level of developing high-performance applications

A purely sequential app has two downsides.

- If the app maxes out the CPU, you need to switch to faster hardware.
- If the app waits for I/O operations to finish, nothing else can be done during that time.

To make your app run faster and be more responsive, there is no way around thinking and programming in terms of concurrency.  

Have you shied away from concurrent programming because you were afraid of having to tackle the added complexity?  

Think twice.  

Can you afford not to write concurrent code?

Single-threaded code is certainly easier to write and easier to troubleshoot. So why bother with all the pitfalls and unknowns of concurrent programming?

Here is why: concurrent code enables your backend software to serve more clients, faster. Users love responsiveness and quick turnarounds. And you can provide them with that. If you know how to go beyond single-threaded programming.  

Write supersonic apps. 

Boost your Go code with concurrency 
for highest performance and lowest latency 

Go has concurrency built into the language, but concurrency itself is tricky by its very nature. Concurrent execution flows add a new dimension of complexity to programming.  

Learn and practice concurrency in Go to achieve mastership in building concurrent applications.

What you'll learn in this course

All about Go's concurrency primitives: Goroutines and channels

Useful concurrency patterns: Do not re-invent the wheel

Troubleshooting concurrent code: What do do if things go wrong

Course Curriculum

Concurrency is a core aspect in Go. Learn how to leverage the basic concurrency mechanisms, how to design concurrent flows, and how to observe and troubleshoot concurrent services.

Course Curriculum

Christoph Berger

Hi, I am Christoph.

I started programming at the age of 13, when computers still had 8-bit processors. I always had a genuine interest in programming languages, powered by the belief that picking the right language does matter if you want to be productive and generate fast, robust, and maintainable code.

After studying Computer Sciences at the Technical University of Munich, I worked as a project consultant and later as a technical support engineer for many years, and this is where I learned how to explain complex technical things in a way that is easy to understand, yet does not leave anything important out.

In 2011, an article about (pre-1.0) Go in an IT magazine caught my attention, and since them I am hooked. I loved (and still do!) how the incredibly clean design of the language, as well as the awesome tool chain, suddenly made coding a breeze.

I love Go for being simple and effective at the same time, boosting programmer productivity by focusing on the language features that matter.

Still, every language able to produce production-level code has some inherent complexity, and soon I found myself dragging pieces of information together,from various tutorials, blogs, forums, books, and other parts of the internet. You bet that these information bits were often incomplete, targeted at a different level than I needed, or even contradicted each other.

I really wished I had everything in one place, carefully collected and assembled into a sane curriculum, presented in a pleasant way, with consistent style, easy to digest.
And so I started building Go courses, to give you the training that I wish I had. Courses designed to be efficient, intuitive, and complete.

I write about Go since 2016, through my well-received blog "Applied Go". By building online courses I want to go one step further and help everyone becoming fluent with one of the coolest and most pragmatic languages around.

Course Pricing

Note: the course is also included in the Master Go bundle.

Course Pricing