Workshops

Our 2025 Workshops

For even more Go fun, join us at the Workshop Day on Wednesday 13th August - the day before the main conference - for a full day of immersive training with leading industry trainers.

This year we are pleased to be working with our regular partners Ardan Labs to bring you two full-day training options. Taking place on Wednesday 13th August 2025, the day before the GopherCon UK conference, both course options run from 9am-4pm and include hands-on immersive training. Please bring your laptop and charging cable. Power and WiFi will be available. Tickets include refreshments.

Full-Day Workshop: Ultimate Go: Software Design with Kubernetes

Instructor: Bill Kennedy

Level: Intermediate

Description:

“As a program evolves and acquires more features, it becomes complicated, with subtle dependencies between components. Over time, complexity accumulates, and it becomes harder and harder for programmers to keep all the relevant factors in their minds as they modify the system. This slows down development and leads to bugs, which slow development even more and add to its cost. Complexity increases inevitably over the life of any program. The larger the program, and the more people that work on it, the more difficult it is to manage complexity.” - John Ousterhout
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 program along with the instructor as he walks through the design philosophies and guidelines for engineering software in Go. With each new feature added to the project, 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.

Ardan LabsArdan Labs

Deploy First Mentality: We begin to build the service with a focus on the ability to deploy the service in Kubernetes.

  • Design Philosophy, Guidelines, What to Expect
  • Project Layers, Policies, and Guidelines
  • Prepare Project

Kubernetes: We introduce Kubernetes and get a K8s environment up and running. At this point, everything we do runs in the K8s environment.

  • Clusters, Nodes and Pods
  • Start the Kubernetes Cluster
  • Create/Build a Dockerfile for the Service
  • Create/Apply K8s Deployment for the Service

Go Scheduler and Kubernetes Quotas: We introduce applying Quotas to the deployment and discuss the problems that can result.

  • Understanding CPU Quotas
  • Understanding the Go Scheduler
  • Adjust GOMAXPROCS to maximize performance

Domain-Driven, Data-Oriented Architecture: We talk about the data-driven, data-oriented architecture that is implemented in the project. 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

  • 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.

Book your space

Full-Day Workshop: AI-Powered Systems in Go: Retrieval-Augmented Generation (RAG) & Tool Calling

Instructor: Florin Patan

Level: Intermediate

Description:

Building modern applications requires systems that can retrieve, process, and act on information intelligently. This workshop introduces Retrieval-Augmented Generation (RAG) to improve responses in Go applications by fetching relevant data dynamically. It then expands into Tool Calling (Function Calling), allowing AI-powered applications to execute predefined actions, interact with external systems, and automate workflows. By the end of this hands-on, full-day workshop, you’ll have a working knowledge of how to ingest and retrieve documents, integrate with APIs, and use function calling to control external systems—all within Go and the AI system of your choosing.

Ardan LabsArdan Labs

By the end of this workshop, you’ll leave with working code samples, a clear understanding of RAG and Tool Calling, and a roadmap for integrating these capabilities into your Go applications.

Part 1: Retrieval-Augmented Generation (RAG) in Go

  • Understanding RAG Concepts – Improve responses by dynamically retrieving relevant context rather than relying solely on static training data.
  • Ingesting and Processing Documents – Build pipelines to index and retrieve documents from client systems.
  • Interacting with AI-Compatible APIs – Learn how Go applications can connect to vLLM, Ollama, OpenAI, or other AI services.
  • Optimizing Performance & Latency – Implement caching, batching, and parallel processing to enhance efficiency.
  • Using Vector Databases – Store and search embeddings with tools such as Chroma, Pinecone, Weaviate, Milvus or pgvector in PostgreSQL.

Part 2: Tool Calling & Function Execution in Go

  • CHow AI Uses Tool Calling – Enable external system control by allowing AI to invoke predefined functions in Go.
  • Building Function Calls with OpenAI compatible systems – Define structured function inputs and outputs for AI- driven interactions.
  • CConnecting to External APIs & Databases – Trigger real-world actions, query databases, and automate workflows.
  • Handling Responses & Errors – Ensure safe and reliable execution of AI-invoked functions.

  • It is expected that you will have been coding in Go for several months.
  • A working Go environment running on the device you will be bringing to class.

  • Before the workshop, you’ll be asked to clone a repository that will be shared with you head of time.
  • Please read the README.md for installing all the tooling before class.
  • The repository will contain some of the code that we’ll work on during the class.
  • It’s recommended that you run Docker or any other container runtime as some of the dependencies will be downloaded in that format.
  • To save on the bandwidth and not rely on Internet access during the workshop, the repository will direct you on how to download and cache the models required to run the class.
  • Please email the instructor, Florin Patan, (florin.patan@ardanlabs.com) for assistance.
Book your space

Stay up-to-date with GopherCon UK

Enter your email address to join the GopherCon UK mailing list and be the first to hear our latest news and announcements.

gopher