Skip to main content

Learn Event-Driven Go

Level up your Go skills. Build scalable and decoupled event-driven apps.

Let's talk business

It’s a funny job market now: developers complain they can’t find jobs, and companies still have a hard time hiring. Many will look to hire people who can design a system to handle the worst production outages and extreme traffic spikes without keeping anybody up in the middle of the night.

While leading multiple teams, we noticed many developers don’t know how to implement Event-Driven architecture. Even fewer know how to do it properly. That's too bad because it’s impossible to implement some scenarios in a traditional, synchronous way.

The good news is we've been there, and you don't need to reinvent the wheel.

Stay with us if you want to learn how to build systems that:

  • ✅️ Scale well — The asynchronous approach ensures all requests are processed during traffic surges.
  • ✅️ Handle traffic spikes — Event-Driven Architecture (EDA) improves handling requests during intense traffic spikes. No need for expensive autoscaling.
  • ✅️ Don't wake you up — With EDA, outages won't interrupt your sleep. With events in place, issues can be resolved later, or even auto-heal on their own.
  • ✅️ Simplify complex parts — EDA breaks down complex problems into manageable chunks. They're simpler to build and maintain.
  • ✅️ Help advance your career — EDA is a skill in demand. Stand out from the crowd and enjoy new job opportunities.

We designed an online training where you learn this rare knowledge by building real-world projects. No boring videos to watch.

Gopher of time

You can't buy time

It's rare to find high-quality learning materials. They're often inconsistent, outdated, or incomplete. (We've been there.)

Go Event-Driven distills practical knowledge and years of experience. We focus on essential topics and filter out the noise to ensure you're productive right away.

Practical Gopher


You can't learn to drive a car from a book or a video. Creating software is no different.

This training is all about practice. You'll get your hands dirty with coding to grasp the topics. If you prefer passively watching videos, you're on the wrong website.

Practical Gopher
Gopher of success

Real-world examples

Have you ever wondered why many tutorials use a coffee machine analogy? It takes work to come up with proper examples.

Abstract or too simple examples leave you unprepared for real-world challenges. In Go Event-Driven, you apply what you learn to a real-world project.

Stay in your environment. Use your favorite tools.

We created a custom platform that guides you through the training. It's a unique experience that helps you learn the fastest way possible. You won't find such a learning platform anywhere else.

Work on real-life projects doesn't happen in the browser. We let you stay with your favorite tools. VS Code, GoLand, Vim, Emacs? It's up to you.

You can solve the exercises at any time that suits you best. You can start the training now, in a week, or a year.

How does the training look like?

What graduates like about our platform?


This "Event-Driven Go" course was honestly super useful. The CLI tool they've got for hands-on exercises is a game-changer. The CLI tool functions like an interactive debugger, giving immediate feedback and validation as you work through coding exercises. I'm looking forward to using what I learned directly in my job.

The Discord community is also a big win. It's not every day you get to chat directly with the people who made the course. They're super helpful and quick to answer any questions. Also, they continuously take feedback and improve the course.

So, would I recommend it? Absolutely, especially if you're into Go or want to get the hang of event-driven architecture. It's well worth the time and money.

Damian Trzepała, Software Development Engineer

What will you learn?

Coding hours*
* based on the average time to finish the training

We carefully selected the essential topics to apply event-driven patterns in your projects.

You will practice each agenda item with smaller exercises. Then, you will apply them to a complete application.

Modeling Events

Naming Events

Events Serialization

Testing Event-Driven Code

Choosing the Pub/Sub

Error Handling

Transient Errors

Retrying Errors

Scaling Applications

Eventual Consistency

At-Least-Once Delivery

Idempotent Handlers

Read Models

Message Ordering

Poison Queues

Consumer Groups

The Outbox Pattern


Using Commands

Correlating Events

Observability: Tracing

Observability: Metrics

Observability: Alerting

Using Data Lake

Fault Tolerance


Process Managers

Replaying Events




Great hands-on course that immediately puts the theory into practical example.

Examples and tasks are extremely relevant for anyone trying to write event-driven application, all recognized as "yeah this is a problem we are solving/need to solve".

Small focused programming tasks and one longer bigger project that is built through the whole course is great for having isolated examples of the concepts and also their place in overall architecture which is often missing in courses/tutorials.

Definitely recommending this for all of our developers as the problems and solutions are daily struggle in any distributed system.

And as a bonus contains clever tool that allows you to work on the examples in any IDE you prefer AND does run robust tests that make sure the code works properly.

Petr Vitek, Developer

Created by

Robert Laszczak & Miłosz Smółka

Three Dots Labs logo Three Dots Labs founders

We are authors of the Three Dots Labs blog, and our e‑book: Go With The Domain: Building Modern Business Software in Go. Those are both some of the most popular resources about advanced programming patterns in Go.

We are also authors of the Watermill library, the most popular Go library for building event-driven and message-driven applications.

We worked in many fields, including infrastructure, complex and global financial domains, healthcare, and security. In the meantime, we've built a few startups and led multiple teams. It gave us a broad perspective on software development across different organizations.

We've been building projects together for over 15 years. In 2016, we fell in love with the simplicity and pragmatism of Go. In our daily work, we're helping businesses win using Go software.

When we meet in our free time, we like to cook and eat some steaks and burgers.

Trusted by the Go community

blog visitors
unique per year
E-book downloads
Newsletter subscribers
GitHub stars
of our projects

We have been blogging, creating open-source projects, and writing an e-book for the past five years. It helped us to build the trust of the Go community.

The best proof was that we sold 323 copies of Go Event-Driven in pre-sale without even starting work on it. In other words, over 300 people trusted us enough to pay more than $54k total on the promise that we'll deliver something they'll love.

In total, 615 people have joined the training, and we earned $125,219.

We plan to run the next sale in 2024

Is it for you?

We want to build the best trainings possible for a specific group of developers.

This training is a perfect match if:

You prefer to learn by doing.

You look for knowledge you can apply in your projects.

You want to learn from real-life scenarios.

You like to work in your local environment.

You're ok paying to save your time.

You won't like it if:

You are a beginner developer. It's designed for a more experienced developers.

You're looking for a video course you can passively watch. Learning by doing is an integral part of our learning method.

You don't want to pay to learn.

Don't know Go yet? No problem!
See Go in One Evening, our training on Go basics.