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.

Browse Courses

Trusted By Companies Of All Sizes

Learn with Ardan Labs What Can You 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.

Go Training - Ardan labs

Go Team Training Curriculum

7 Courses

3 Instructors

100+ Hours

Show all course details

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
  20 Hrs
  Beginner - Intermediate

Show Details

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

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
  16 Hrs
  Beginner - Intermediate

Show Details

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

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

with Miki Tebeka
  16 Hrs
  Intermediate

Show Details

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

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
  16 Hrs
  Intermediate

Show Details

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

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
  25 Hrs
  Intermediate - Advanced

Show Details

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

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

with Bill Kennedy
  20 Hrs
  Advanced

Show Details

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

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
  8 to 30 Hrs
  Beginner - Intermediate - Advanced

Show Details

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

Flexible Team Training Solutions

  •  

    Instructor-led Live Online Training

  •  

    Instructor-led Onsite Training

  •  

    Self-Paced Online Training

  •  

    Hybrid Training Solutions

Our Go Instructors

Bill Kennedy - Ardan labs

Bill Kennedy

Bill has been developing software professionally for more than 30 years. In 2013 he became a pioneer using Go and now has trained over 25,000 engineers worldwide. He also is the author of the book Go in Action, Ultimate Go Notebook, and is the main contributor to our blog.

Miki Tebeka - Ardan labs

Miki Tebeka

Miki is a thought leader and developer with 25 + years of cutting edge software development experience. He’s taught many workshops on various technical subjects all over the world at companies such as AT&T, Oracle, Dropbox, J.P. Morgan, and others. Miki is involved in open source, both in the Go and Python worlds.

Additional Courses

See all of our training options
K8s Training

Kubernetes & Docker Training

Rust Training

Rust Training

Terraform Training

Terraform Training

Don't just take our word for it:

Rated 5 stars

The Ardan Labs Engineer is a great problem solver who gets things done

He's also self aware and reflective, open to thoughts and feedback and open to learning and evolving which in turn helps his entire team improve. Additionally - and very importantly - He is a really good tech mentor, he managed to build great rapport with his team mates and constantly helps them improve.

Rated 5 stars

The Ardan Labs Engineer assigned to us is extraordinary

He may be the best senior engineer I've ever had on any of my teams. He helps in all aspects of the software development lifecycle. Having 1 Ardan Labs Engineer on a team elevates the entire team to high-performing.

Rated 5 stars

The Ardan Labs Engineer ramped up very quickly

Despite the relative complexity of the product, and jumped right into the thick of things. He shows great initiative and interest in the broader system, and never shies away from difficult work.

Trusted by Top Technology Companies

We've built our reputation as educators and bring that mentality to every project. When you partner with us, your team will learn best practices and grow along the way.

30,000+

Engineers Trained

1,000+

Companies Worldwide

14+

Years in Business

Let’s start a conversation

Reach out and let us know what you are interested in.