We're very proud to offer two excellent workshops, Daily Go - A Beginners Guide to Writing Go and Practical Guide to Testing in Go!
Description: This course is tailored to developers learning Go for the first time, or having less than one year of Go development experience. This workshop will cover practical, daily Go fundamentals. Starting with the language fundamentals, students will move into interfaces and how they lend to embedding and composition in Go. They will finish up with an overview of concurrency in Go.
What a student is expected to learn: Everyone will have a strong understanding language fundamentals, such as syntax and types, arrays/slices/maps, maps and pointers. From there, a deep dive into interfaces and embedding and composition. Finally, an overview of the how concurrency works in Go.
Prerequisites: At least one year of production experience with another modern programming language. Beginners are highly encouraged to attend this training.
Presenter’s Bio: Mark Bates is a full stack web developer with over 18 years of experience building high quality scalable applications for companies such as Apple, USA Today, Klarna, and Palm. He has written three books, “Distributed Programming with Ruby”, “Programming in CoffeeScript”, and “Conquering the Command Line”. Mark has spoken at conferences around the world, has led user groups such as Boston Ruby and Boston Golang, and has helped to organize conferences such as GothamGo and GopherCon. Mark is the co-founder of Papercall.io, a platform for connecting technical events with high quality content and speakers. Mark is also a partner at Gopher Guides, the industry leader for Go training and conferences. In his spare time Mark leads development of the Go web framework Buffalo.
Description: Whether you are just getting started in Go or have been writing Go code for a couple years, this class will make sure you have what you need to write simple, quick, robust tests. We will start with the basics, and work through advanced concepts such as testing asynchronous code as well as mocking and injecting code. We’ll finish up with looking the tooling around testing as well as testing automation. We believe in a hands-on approach to learning, so bring your laptops and be ready to write a lot of tests!
What a student is expected to learn: Everyone will have a strong understanding of each part of testing. The test package will be covered in depth, different approaches to table driven testing will be taught, as well as the numerous options for running tests and test suites. Students will learn how to test Net/HTTP packages, and how to mock out tests and create test harnesses. From there, students will learn how to create test coverage and example tests for documentation. Finally, students will learn the basics on setting up workflow automation for testing as well as a tour of common test tools such as quick testing and fuzzing.
Prerequisites: A basic understanding of the Go programming language. Beginners are highly encouraged to attend this training. While not necessary, it will be helpful if you have completed the Go tour.
Presenter’s Bio: Tim Raymond is a full-stack developer with over six years of experience writing Go for companies such as USA Today, InfluxData, and Mattel. He's worked on everything from publishing pipelines, gRPC APIs, IoT backends, and interactive React frontends powered by Go backends. Prior to his involvement in the Go community, Tim served as an organizer for the Boston Ruby Group. His professional interests range across web applications, compilers, networking, performance, and cryptography.