Managing Partner, Ardan Labs Instructor
As a program evolves and acquires more features, it becomes complicated, with subtle dependencies between components. Over time, complexity accumulates, and it becomes harder and harder for programmers to keep all the relevant factors in their minds as they modify the system. This slows down development and leads to bugs, which slow development even more and add to its cost. Complexity increases inevitably over the life of any program. The larger the program, and the more people that work on it, the more difficult it is to manage complexity." - John Ousterhout
This class teaches you how to build production-level software in Go leveraging the power of a domain-driven, data- oriented architecture that can run in Kubernetes. From the beginning, you will program along with the instructor as he walks through the design philosophies and guidelines for building software in Go. With each new feature added to the project, you will learn how to deploy to and manage the Kubernetes environment used to run the project. The core of this class is to teach you how to handle and reduce the spread of complexity in the systems you are building.
Introduction to the class and all the engineering that you will learn.
Deploy First Mentality: We begin to build the service with a focus on the ability to deploy the service in Kubernetes.
Kubernetes: We introduce Kubernetes and get a K8s environment up and running. At this point, everything we do runs in the K8s environment.
Kubernetes Quotas: We introduce applying Quotas to the deployment and discuss the problems that can result.
Domain-Driven, Data-Oriented Architecture: We talk about the data-driven, data-oriented architecture that is implemented in the project. We discuss the design philosophy, guidelines, and semantics of how the three layers of App, Business, and Storage work together.
William Kennedy is a managing partner at Ardan Labs in Miami, Florida. Ardan is a group of passionate engineers, artists and business professionals focused on building and delivering reliable, secure and scalable solutions. Bill is also the author of Go in Action and the Ultimate Go Notebook, plus the author of over 100 blog posts and articles about Go. Lastly, he is a founding member of GoBridge and the GDN, which are organizations working to increase Go adoption through diversity.
Go Trainer, Ardan Labs, Instructor
This workshop is based on "Ultimate Go" by Bill Kennedy. It is aimed at developers who have experience with Go and want to understand how to write more efficient code and understand data semantics and concurrency patterns. We'll cover many coding best practices that help write precise code.
Some of the topics we'll cover are:
You should have experience writing Go code. You should have the following installed on your machine:
Miki is an old Gopher and even older developer :) He spends his time teaching (either via his company or via ArdanLabs), writing books, creating video courses, blogging and of course - writing code (either open source or for customers). Miki is one of the organizers of GopherCon Israel and the Go Israel Meetup.
Software, Reliability, and Cloud Systems Engineer, Instructor
You're an experienced programmer looking to get up and running quickly with Go. You want the knowledge, tools, and techniques to write idiomatic, professional-grade Go using fun exercises that get you comfortable with the language and its ecosystem. This is the workshop you're looking for.
This immersive and hands-on workshop equips you with the essential knowledge and practical experience to become a proficient Go developer. Throughout this intensive training, you'll discover the core principles and advanced techniques that make Go a standout language for building robust and high-performance applications.
Johnny Boursiquot is a multi-disciplined Software, Reliability, and Cloud Systems Engineer with over two decades of experience across various client, server, and cloud infrastructure technologies. He has been part of multiple startup founding teams and worked at large, market-leading Fortune 500 technology companies. Johnny has authored technology courses, collaborated on books as a co-author and technical reviewer, and provided corporate training to large technology companies. Currently, he works extensively with Go (golang), AWS (ECS, Fargate, Lambda, CloudFormation, etc.), Microservice Architectures, and Serverless Architectures. He also teaches these technologies professionally on platforms like LinkedIn Learning, O'Reilly, Packt, and others, and offers programming workshops at no cost to learners in his local community whenever possible.