Syecz6o0fjykmw5jmfne
4 DAY COURSE

ArdanLabs' Ultimate Go Workshop with Bill Kennedy

Topics covered at GO-01-04

Dates coming soon

Private Training Only: Are you ready for a jump start in learning Go? Are you keen to begin writing highly efficient code? This four day deep dive into Go will focus on teaching you about this highly productive language and give you a thorough understanding of the language and its internals.

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Although it borrows ideas from existing languages, it has a unique and simple nature that make Go programs different in character from programs written in other languages. It balances the capabilities of a low-level systems language with some high-level features you see in modern languages today. This creates a programming environment that allows you to be incredibly productive, performant and fully in control; in Go, you can write less code and do so much more.

This class provides an intensive, comprehensive and idiomatic view of the language. 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.

This is 4 days of material for any intermediate-level developer who has some experience with other programming languages and wants to learn Go. We believe these classes are perfect for anyone who wants a jump start in learning Go or who wants a more thorough understanding of the language and its internals.

Learn how to:

By the end of the course you will have learned the basics of the following:

  • Language Syntax
  • Arrays, Slices and Maps
  • Methods, Interfaces and Embedding
  • Packaging and Exporting
  • Using Pointers
  • Error Handling
  • Concurrency, Race Conditions and Channels
  • Concurrency Patterns
  • Testing and Debugging
  • Project Structure and Vendoring
  • Standard Library

About the Author

Bill Kennedy

William Kennedy is a managing partner at Ardan Studios in Miami, FL, a mobile and web app development company. He is also a co-author of the book Go In Action, the author of the blog GoingGo.Net and the organizer for the Go and MongoDB meetups in Miami. Bill is focused on Go education and through his new venture GoingoGo Training, Bill continues the cause by working with individuals and groups who want to take their Go knowledge and coding skills to the next level.

Thanks to our partners

Language (Day 1 and 2)

This material covers all the language syntax, idioms, implementation and specification of the language. Once you are done with this material you will understand the mechanics of the language and mechanical sympathies the language has for both the hardware and operating system.

  • Language Syntax
    • Variables | Struct Types | Pointers | Constants | Type Conversions | Functions
  • Data Structures
    • Arrays | Slices | Maps
  • Methods, Interfaces and Embedding
    • Methods | Interfaces | Embedding
  • Packaging
    • Exporting | Projects | Vendoring
  • API Design
    • Composition | Error Handling

Concurrency (Day 3)

This material covers all the currency aspects of the language. Once you are done with this material you will understand the mechanics of concurrency and the mechanical sympathies concurrency has for both the hardware and operating system.

  • Concurrency
    • Goroutines | Data Races | Channels | Patterns

Tooling (Day 4)

This material covers a good portion of the tooling that comes with go. Specifically we cover testing and benchmarking. We also cover profiling memory and the scheduler. Finally we learn how to read stack traces.

  • Tooling -Testing | Benchmarking | Fuzzing | Profiling | Stack Traces.

Audience

If you are an intermediate developer who has some experience with other programming languages and are interested in learning Go in a workshop environment, then this course is perfect for you!

Prerequisites

You should have a minimum of two years full time programming experience and be familiar with structural and object oriented programming styles. You should also have worked with arrays, lists, queues and stacks and understand processes, threads and synchronization at a high level.

Other skills: Has worked with a command shell. Knows how to manoeuvre around the file system. Understands what environment variables are.

Bring your own hardware

To participate in this course, please bring your own laptop, so you can develop with your own tools and languages, rather than something you are not familiar with.

If you are not able to bring in your own laptop, please contact the Skills Matter team on +44 207 1839040 or email info@skillsmatter.com

Your formal Joining Instructions email will contain a more detailed walk through of the installations required prior to the course.