Ardan Labs offers the “Ultimate Go” class, a 2 or 3 day on-site corporate training for software developers who wants to learn Go (Golang). This class has been designed over the past 3 years and goes beyond just being a language class.
Your team will walk away with philosophies and techniques for solving common problems with a big understanding of “if performance matters” then these things matter.
This class provides an intensive, comprehensive and idiomatic view of the language. There will be very little teaching of syntax and a big focus on learning how to read and understand the code you are writing.
We will talk about semantics, guidelines, mechanical sympathy and data oriented design. We are going to talk about package oriented design and how to structure your Go projects for the long term. We are going to talk about writing concurrent code and how to effectively use channels. Then I will dig into the testing, benchmarking and profile tooling. We will talk a lot about composition and design. We focus on both the specification and implementation of the language, including topics ranging from language syntax, Go’s type system, concurrency, channels, testing and more. We believe this class is perfect for anyone who wants a jump start in learning Go or who wants a more thorough understanding of the language and its internals.
Everyone is going to be mentally exhausted by the end of each day. We will be challenging every student to think about what they are doing and why. In the 3 years we have taught this material, we never had someone not appreciate the class and feel like they are a better developer for it.
- Mechanical Sympathy
- Data Oriented Design
- Language Syntax
- Arrays, Slices and Maps
- Methods, Interfaces and Embedding
- Packaging and Exporting
- Using Pointers
- Error Handling
- Concurrency Overview
The material has been designed to be taught in a classroom environment. The code is well commented but missing some of the contextual concepts and ideas that will be covered in class. Students with the following minimal background will get the most out of the class.
- Studied CS in school or has a minimum of two years of experience programming full time professionally.
- Familiar with structural and object oriented programming styles.
- Has worked with arrays, lists, queues and stacks.
- Understands processes, threads and synchronization at a high level.
- Operating Systems
- Has worked with a command shell.
- Knows how to maneuver around the file system.
- Understands what environment variables are.
Ardan labs Copyrights © 2018