Workshops

Our 2024 Workshops

For even more Go fun, join us at the Workshop Day on Wednesday 14th 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 14th August 2024, 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.

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 timme, 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 build 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 building software in Go. With each new feature added to the project, you will learn how to deploy to and manage the Kubernetes environment used to run the project. 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

Introduction to the class and all the engineering that you will learn.

  • Design Philosophy, Guidelines, What to Expect
  • Tooling to Install
  • Images to Install

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

  • Project Layers, Policies, and Guidelines
  • Prepare Project
  • Logging

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

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
  • Data Flow Trust vs Non-Trust

  • 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

Introduction to Generative AI and Building Generative AI Applications with Go

Instructor: Daniel Whitenack

Level: Beginner/Intermediate

Description:

The Morning-

Engineers are scrambling to figure out what they can (or should) do with this latest wave of generative AI technologies, and organizations are struggling to bring the technology into enterprise environments. Beyond anecdotal ChatGPT interactions and intriguing demos, teams need to know how to engineer reliable AI applications, mitigate the risk of hallucinations, integrate private data, establish competitive advantages, plan development activities, and understand the landscape of tooling.

Leaving this workshop, you will be equipped with processes and knowledge to overcome each of these barriers, and you will have gained the practical, hands-on expertise to start integrating generative AI in your domain. Participants will learn the essential AI engineering skills of prompting, data augmentation, chaining, developing agents, validating/filtering model inputs and outputs, and fine-tuning. You will get hands-on with the latest generative AI models (Mistral, Llama 2, DeepSeek, etc.) and gain a better understanding of how transformative AI applications are being architected via a new generative AI stack of tools/infra.

Ardan Labs

  • Learn the essential AI engineering skills of basic prompting, data augmentation, chaining, vector search, developing agents, and validating/filtering model inputs and outputs.
  • Get hands-on with the latest generative AI models (Mistral, Llama 2, DeepSeek, etc.)
  • Gain a better understanding of how transformative AI applications are being architected via a new generative AI stack of tools/infra.
After Lunch-

You’ve already experimented with Large Language Models (LLM) or other APIs and even tried building some basic generative AI-powered features. Now you’re looking to understand how full-functioning generative AI applications are built at scale. This is the workshop you’re looking for! This immersive and hands-on workshop equips you with knowledge and practical experience to build and scale generative AI applications with Go. Participants will combine and integrate the necessary components of the emerging AI stack in Go (vector databases, LLM APIs, prompt templates and chains, etc.) to build functioning chat and data processing applications.

  • Data integration via retrieval augmented generated
  • Multi-modal data integration
  • Tool and database integration
  • Testing and configuration of LLM reasoning chains

  • DWriting a chat application with integrated private docs
  • Writing an application that performs ad hoc data analytics queries
  • Writing an AI application that can search/analyze videos and images
  • Testing and configuring Large Language Models (LLMs) chains of reasoning

  • Familiarize yourself with Go fundamentals (Go Tour, Go by Example)
  • Introduce yourself OpenTelemetry concepts
  • Introduce yourself to LLMs concepts
  • Browse through Go by Example

  • Have a GitHub account
  • Have an OpenAI account
  • IHave a functioning Go environment installed with Go 1.21 or later
  • Use an editor/IDE with Go plugin installed
  • Computers should be capable of modern software development, such as access to install and run binaries, install a code editor, etc.
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