Join us for a great day of fantastic Go talks!

Robert Griesemer

Robert Griesemer is one of the creators of the Go programming language, starting in 2007. Prior to Go, Robert worked on code generation for Google's V8 JavaScript engine, the design and implementation of the domain-specific language Sawzall, the Java HotSpot virtual machine, and the Strongtalk system. He once wrote a vectorizing compiler for the Cray Y-MP and an interpreter for APL. He is a fan of things that "just work." Robert holds a Ph.D. in computer science from ETH Zurich, Switzerland.

Go is 10! Now What?

Go's 10th anniversary is a unique opportunity for reflection and looking forward. What is different now than a decade ago? What have we learned, and where are we going? In this talk we look at Go's developmental milestones to gather insight into these questions and suggest a path forward.

Miriah Peterson

Miriah Peterson graduated from Brigham Young University in 2017 with a Bachelor’s degree in Physics. She is currently a Data Engineer at Weave in Lehi, Utah where she specializes in creating data pipelines for HIPPA protected data. Additionally she works in the community as an organizer of the Machine Learning Utah group and Women Who Go Utah group. She speaks at colleges and bootcamps to encourage community participation and inspire women to pursue careers in technology.

Intro to AI for software engineers Using go-learn

While Artificial Intelligence (AI) and Machine Learning (ML) are 2019 buzzwords, there is an ever growing need for the Software Engineer to understand now they work. This talk explains AI/ML basics in the context of Go dev. It is a hands-on demo using the go-learn library to explain of classing ML techniques.

Jack Lindamood

Jack Lindamood is a software engineer with over 7 years experience building and running large scale distributed services. Starting at Facebook and then SignalFx, Jack now works on Twitch’s Go codebase and feeds framework. He has presented his work previously at Gophercon, GoSF, and other meetups in the past.

Genetic algorithm discovery of worst case Go sort inputs powered by AWS Batch

Curious about genetic algorithms but unsure where to start? This is a start to end description of how to code genetic algorithm with Go then deploy them at a large scale on AWS. It assumes no prior knowledge of AWS or machine learning and gives concrete steps on how to tie the two together using Go.

James Bowes

James Bowes is the CTO of Manifold. Over his 14 year career he has worked for companies like Red Hat and Salesforce as a senior member of the technical staff. James has scaled early stage startups and also managed and sustained large organizations. James is mainly a backend developer, focusing on thorny concurrency issues, but whenever he can, he likes to build infrastructure, try out cool new software, help his peers learn, and make people laugh.

Write once, compile lots, run anywhere

Java once promised us that we could write once, and run our code anywhere. The promise wasn’t quite fulfilled. This talk will show you how Go comes closer to meeting that promise and why, even with a few extra compilations, Go is a great choice for application distribution.

In this talk, we’ll cover how to set up your build tooling to support multiple architectures and operating systems. Next, we’ll look at some features of Go libraries that support cross platform development, and ways to isolate platform specific logic when required. Lastly, we’ll look at common pitfalls, and how to avoid them.

Jason Wentworth

Jason Wentworth

Jason Wentworth is a Software Architect and the resident board game guru at Course Hero. He’s helped to lead Course Hero’s transition from a monolithic application to Go microservices and to bring the engineering team up to speed with Go. When he’s not coding, you can find him running RPGs, playing way too many board games, or catching up on his favorite shows.

Demystifying Context Values

Using context values can be powerful, but it can also be easy to fall into traps and pitfalls. Here are the use cases we found to work best and how to create focused context-aware packages to keep your code understandable while avoiding some of the drawbacks of using context value directly.

Natalie Serebryakova

Natalie Serebryakova is a Software Engineer working in the Infrastructure Team at Reddit in San Francisco. She enjoys working on building and automating various tools that help the development team be more productive and happy.

Building Scalable microservices with Go

These days many companies are moving from monolithic models to microservice architectures to improve time-to-market software delivery. Microservices refers to an architectural style for developing applications. This talk will contain a proposal of how easily build scalable microservices with Go. Will cover good and bad practices. Demo how to setup and run the simplest possible example and how to deploy it to production using other recent technologies like (Docker, Kubernetess, GKE, etc)

Francesc Campoy

Francesc Campoy is the VP of Product at Dgraph Labs. Previously Developer Advocate for the Go team and creator of justforfunc.com, the most successful Go channel on YouTube.

Go is a Graph

In this talk, Francesc will explore how source code - and specifically Go source code - can be understood as a graph formed by a syntax tree and other relationships like "defined in" or "calls" etc.

Then we will explore how that data can be stored in Dgraph (a graph DB written purely in Go) with a program written in Go to analyze some Go code (#meta) and what kind of questions we can answer then.

Tim Raymond

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.

Parsing Expression Grammar (PEG)

Parsing Expression Grammars (PEGs) can help us write parsers for new languages. In this talk, we will use PEGs to parse a new file format introduced to the Go ecosystem in Go 1.11, the go.mod file format. We’ll explore how the Pigeon package uses PEGs to generate parsers and cover some suggestions for working with them effectively.

Kumar Rishav

You can call me “rishav”. I am a senior software engineer at PayPal. I am part of web platform engineering team at Paypal where I work on nodejs and related frameworks most of time. I have been working on javascript/nodejs from past 4 years.

A nodejs developer in the Golang ecosystem: Story of a newbie

A journey of a node(js) developer who has been in this field for around 4 years. After using the golang for few months, I had my own ups and downs while learning it. In this talk I will be sharing my journey in brief: what were my surprises and challenges and how did I overcome it.

Deep Datta

Deep Datta is a Product Manager with JFrog managing the GoCenter - The Central Go Modules Repository. He loves encouraging diversity in tech and he has a passion for helping people join open source communities. Before JFrog he helped build and manage open source programs at Indeed and Benetech.org. Outside of work, Deep likes to travel the world, go to live music events, learn Golang, and find beautiful places to go hiking.

Creating a Go Score to Help the Community Discover Go Modules

Go Modules are the future, but that also means there will be lots of new projects being created and made available to the open source community. That’s not a bad thing, but how do you find the module you really need? When you're building your application and you need a module that can pull in geographic data - how do you find the best module and how do you know which one to use out of the sea of results? Here at Go Center, we’re working on calculating a Go Module Score for discoverability - this score will help you find relevant modules and save you time in your builds.

To conclude, we’ll ask for feedback and your considerations for the Go Score and briefly touch on how important security and vulnerability scanning will be for the future of the Go Modules ecosystem.