Go For Engineering Teams

We train engineers & teams to think about what they are doing and why resulting in better architected, readable, and maintainable code bases.

Ultimate Go | Golang Training for Teams & Individuals - Ardan Labs Icon

What You'll Learn

Our Go trainers will upskill your team not only in Go fundamentals, but share the same core design philosophies, guidelines, and idioms we use to write to production level software.

Requirements

Your team should have a basic understanding of Go, Docker, or Kubernetes. We will meet you where you are and bring your skills to the next level.

Detailed Course Info

Training Features

  • Flexible Team Training Solutions
  • Instructor-led Live Online Training
  • Instructor-led Onsite Training
  • Hybrid Training Solutions

Note: Contact us for team pricing and custom training solutions.

Available Courses

Ultimate Go: Language Guide Icon

20 Hrs+ total hours

Beginner

Intermediate

Ultimate Go: Language Guide

There will be very little time spent on specific Go syntax. Our time will be spent learning how to read and comprehend Go code with a big focus on “if performance matters” then these things matter.

with: Bill Kennedy

View Course Info

Course Description

The Ultimate Go: Language Guide has been designed over the past 8 years and goes beyond just being a Go language class. There will be very little time spent on specific Go syntax. Our time will be spent learning how to read and comprehend Go code with a big focus on “if performance matters” then these things matter.

Course Outline

  • Data-Oriented Design
  • Memory Semantics and Allocations
  • Mechanical Sympathy with Hardware and Runtime
  • Data Semantics
  • Polymorphism with Interfaces
  • Decoupling Mechanics / Semantics
  • Compositional Design
  • Scheduler Semantics
  • Goroutines
  • Data Races
  • Synchronization / Orchestration
  • CPU and Memory Profiling
  • Tracing Programs
  • Micro/Macro level profiling
Practical Go for Developers Icon

16 Hrs+ total hours

Beginner

Intermediate

Practical Go for Developers

Training class helps experienced engineers get effective with the Go programming language and learn by writing code to solve common programming tasks.

with: Miki Tebeka

View Course Info

Course Description

The Practical Go for Developers training class helps experienced engineers get effective with the Go programming language and learn by writing code to solve common programming tasks.

Course Outline

  • Strings & formatted output
  • Calling REST APIs
  • Working with files
  • Interfaces & Panics
  • Sorting
  • Catching panics
  • Processing text
  • Concurrency
  • Distributing work
  • Timeouts & cancellation
  • Project Engineering
  • Testing your code
  • Structuring your code
  • Writing an HTTP server
  • Adding metrics & logging
  • Configuration patterns
Performance Go for Developers Icon

16 Hrs+ total hours

Intermediate

Performance Go for Developers

This course is aimed for experienced Go developers who’d like to extend their knowledge.

with: Miki Tebeka

View Course Info

Course Description

The Performance Go for Developers training class is aimed for experienced Go developers who’d like to extend their knowledge.

Course Outline

  • Writing custom errors and the case of the nil error
  • Stronger abstractions with small interfaces and using type assertions
  • Customizing behavior by implementing interfaces in the standard library
  • Reducing code size by using generics
  • Going faster with CPU optimization
  • Reducing memory usage
  • Writing middleware for common tasks
  • Advanced JSON serialization
  • Streaming responses for large dynamic data
  • Securing your server
  • Utilizing workspaces to developing two dependant modules (such as application & logging library)
  • Using build tags for platform dependent code
  • Task automation with “go generate”, code that writes code
  • Avoiding mocks by spinning services
Practical Go Services Icon

16 Hrs+ total hours

Intermediate

Practical Go Services

This course is for Go developers who need to improve writing services and learn industry best practices. During this workshop we’ll develop a web service and implement the topics we discuss.

with: Miki Tebeka

View Course Info

Course Description:

This workshop is for Go developers who need to improve writing services and learn industry best practices. During this workshop we’ll develop a web service and implement the topics we discuss.

Course Outline

  • Writing a Web Service
  • Storage & Health
  • Testing & Performance
  • Securing Your Application
Ultimate Go: Software Design with Kubernetes Icon

25 Hrs+ total hours

Intermediate - Advanced

Ultimate Go: Software Design with Kubernetes

This course teaches you how to build production-level services in Go, leveraging the power of a Domain Driven, Data Oriented Architecture deployed in Kubernetes.

with: Bill Kennedy

View Course Info

Course Description

From the beginning of the course, you will pair-program with your instructor Bill Kennedy as he walks you through the design philosophies, architectural decisions, and best practices as they apply to engineering a production-ready Go service.

With each new feature that is added to the service, you will learn how to deploy and manage the Kubernetes environment used to run the service. Throughout the class, the code being worked on is pushed to a repository for personal access and review.

Course Outline

  • Introduction
  • Deploy First Mentality
  • Kubernetes
  • Kubernetes Quotas
  • Finish Initial Service Startup/Shutdown
  • Web Framework
  • Middleware
  • JSON Web Tokens (JWT)
  • Key Store
  • Authentication / Authorization
  • Domain Driven, Data-Oriented Architecture
  • Database Support
  • Database Migrations and Seeding
  • API, App, Business, and Storage Implementation
  • Testing
  • Delegate and Transactions
  • Observability
  • Review Service Project
Ultimate Go: Advanced Engineering Icon

20 Hrs+ total hours

Advanced

Ultimate Go: Advanced Engineering

This Course has been designed to teach advanced Go concepts by building a reference implementation of a blockchain in Go!

with: Bill Kennedy

View Course Info

Course Description

The Ultimate Go Advanced Engineering class has been designed over the past year and will teach advanced Go concepts by building a reference implementation of a blockchain in Go! The goal of this class is to share how to code complex engineering tasks required to build a blockchain technology.

From the beginning, you will pair-program with the instructor, walking through the design philosophies and guidelines used to engineer the code. Throughout the class, you will learn more about Go and the advanced engineering features of the language.

Course Outline

  • Introduction
  • Blockchain Fundamentals
  • Genesis
  • Digital Signatures
  • Database
  • Cryptographic Audit Trails
  • Memory Pools
  • Accepting Signed Transactions
  • Mining
  • Storage
  • Peer to Peer Networking
  • Wallets
Custom Practical Go Training and Boot Camps Icon

8 to 30 Hrs+ total hours

Beginner - Intermediate - Advanced

Custom Practical Go Training and Boot Camps

Our custom hands-on Go training contains several modules that you can choose from to create a syllabus tailored to your needs - we have a lot of experience with Go and development at large. We can build the right training for you.

with: Miki Tebeka

View Course Info

Course Description:

Our custom hands-on Go training contains several modules that you can choose from to create a syllabus tailored to your needs. Feel free to reach out if you have a need that is not converted by the following topics - we have a lot of experience with Go and development at large.

These classes are led by Miki Tebeka. Miki has more than 25 years of experience developing software for clients, with 11 of those years writing code in Go. Miki is the author of several books, a LinkedIn Learning author and a very busy teacher. Miki teaching style is “hands on” - you’re going to write a lot of coding during these sessions.

  • Each module takes between 3.5 and 4 hours to complete
  • Some modules can be turned into 2 hour blocks
  • Custom Training is taught Monday through Thursday for 4 hours each day

Modules Available

  • Variables, Conditions & Loops
  • Collections Types
  • Functions
  • Error Handling
  • Structs & Methods
  • Interfaces
  • Goroutines & Channels
  • The “sync” and “sync/atomic” packages
  • Logging & Metrics
  • Timeouts & Cancellations
  • Project Management
  • Testing
  • HTTP Clients
  • HTTP Servers
  • Protocol Buffers
  • gRPC Basics
  • gRPC Topics *
  • Writing Secure Go Code
  • Static Analysis
  • The Empty Interface
  • Iota & Enums
  • Working with Files
  • Working with Relational Databases
  • Calling non-Go Code
  • Working with Time
  • Configuration
  • Networking
  • Sorting
  • Building
  • Regular Expressions

Why Engineers & Teams Trust Ardan Labs

Cisco Logo

Extremely well organized and high value

"The course is extremely well organized and the pace is also very conducive to the learning process. The exercises are very well organized. Delivered very high value."

- Cisco
Kelsey Hightower's Photo

Best training in the Go community

"You should reach out to the team over at @ardanlabs. They have been training the Go community since the beginning and I've yet to see anyone do it better."

- Kelsey Hightower
Jessica Greene's Photo

Go features that made work better

"Feeling so happy with myself: yesterday at work I refactored some code to use @golang 1.16 built-in, embed I learned about it at @ardanlabs service class."

- Jessica Greene
Zip Recruiter Logo

Well-structured and useful advice

"Excellent class. The instructor is a hacker speaking to hackers, so we got very useful information and advice. Well-structured and paced. 10/10 would gopher it again."

- Zip Recruiter
Adeniyi Oluwatola's Photo

Best ever—learned to build great services

"I finished Ultimate Service from @ardanlabs. I'm telling you this was the best ever. Talking from project structures to metrics. Now I can write good services in Go."

- Adeniyi Oluwatola
Steve Francia's Photo

Improved productivity with Go

"Thanks @ardanlabs for a great Ultimate Go class! Bill is a great teacher and I'm definitely more productive in Go now."

- Steve Francia
Matt Holt's Photo

Complex topics explained clearly

"Highly recommend Ultimate Go by @goinggodotnet & @ardanlabs. I appreciate how Bill explains complex topics simply and clearly. The labs were incredibly helpful too."

- Matt Holt
Cole Calistra's Photo

Well documented and well structured

"Their quality is astounding. They went above and beyond what we asked, working in line with best practices. Everything had test cases, was well documented and well structured, and ran smoothly.”

- Cole Calistra
See What's New

From the Lab

Where ideas get tested and shared. From the Lab is your inside look at the tools, thinking, and tech powering our work in Go, Rust, and Kubernetes. Discover our technical blogs, engineering insights, and YouTube videos created to support the developer community.

Explore our content: