Ultimate Software Design and Engineering

This class teaches you how to engineer production-level software in Go leveraging the power of a domain-driven, data-oriented architecture that can run in Kubernetes. From the beginning, you will pair-program and read code with the instructor as he walks through the design philosophies and guidelines for engineering software in Go.

LEVEL: Intermediate

This is a whole day workshop.
According to the speaker, there will be pauses at 11:00 and 16:00 for coffee breaks and at 13:00 for lunch.

Place
GoLab Workshops I
Length
360 min
When
October 5th, 2025
09:30

Abstract

This class teaches you how to engineer production-level software in Go leveraging the power of a domain-driven, data-oriented architecture that can run in Kubernetes. From the beginning, you will pair-program and read code with the instructor as he walks through the design philosophies and guidelines for engineering software in Go.

With each new feature that is discussed, you will learn how to think about, read, maintain, manage, and debug code. The core of this class is to teach you how to handle and reduce the spread of complexity in the systems you are building.

If one of your biggest challenges is maintaining consistent coding standards across your codebase, maybe because team members have different levels of Go experience and are coming from different programming backgrounds, this course is for you. You will learn a set of idiomatic coding standards that everyone can adopt and apply to your existing projects.

What a student is expected to learn:

- Deploy First Mentality:

We begin to focus on service design with a focus on the ability to maintain, manage, and debug the service in Kubernetes.

• Design Philosophy, Guidelines, What to Expect

• Project Layers, Policies, and Guidelines

• Prepare Project

- Domain-Driven, Data-Oriented Architecture:

We talk about the data-driven, data-oriented architecture. We discuss the design philosophy, guidelines, and semantics of how the three layers of App, Business, and Storage work together.

• Architecture Review

• Applying and Implementing Firewalls

• Data Flow Trust vs Non-Trust

• Data Shaping and Data Validation

• Developer Isolation with Domains

• Extending Functionality through Composition

Prerequisites

• It is expected that you have been coding in Go for several months.

• A working Go environment running on the device you will be bringing to class.

Recommended Preparation:

• Please clone the main repo for the class. (hyperlink “clone the main repo: https://github.com/ardanlabs/service)

• Please read the notes in the makefile for installing all the tooling and testing the code before class.

• Please email the instructor, Bill Kennedy, (hyperlink his name: bill@ardanlabs.com) for assistance

How to reserve a seat

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2025 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS