Speakers

Keynote Speaker
Johnny Boursiquot
Johnny Boursiquot

Johnny Boursiquot | Heroku | JBoursiquot

Johnny Boursiquot is a multi-disciplined software engineer with over two decades of experience and a love for teaching. His passion for technology is matched only by his devotion to community service. He is a GoBridge Core Member, the founder and organizer of the Baltimore Go User Group, and a previous organizer of both the Boston Ruby User Group and the Boston Go User Group. He stays busy as a speaker, trainer, and diversity advocate within the Go community, as well as a Site Reliability Engineer at Salesforce’s Heroku.

Abstract: Keynote description coming soon

The Quest of the Chaos Monkey
Rayhaneh Banyassady
Rayhaneh Banyassady

Rayhaneh Banyassady | KOHO

Speaker bio coming soon!

Abstract: More stressed than your application when you want to stress-test it? Join us for this talk to learn how to successfully build a stress test suite. By the end of this session you will have practical insights into load testing and how to become the champion of performance in all your projects.

How Golang enabled us to build a platform to live stream SuperBowl 2020 to millions of concurrent users!
Amit Mishra
Amit Mishra

Amit Mishra | Fox

I am part of Architect team which is responsible for building platform to live stream the contents across all the FOX properties. As an architect my role is to make sure, we build highly scalable services to support complex use cases for sports and news contents without impacting user experience. This year we delivered first ever 4k super bowl to football fans. Being part of something like this is very rare. I want to share my learnings and knowledge with goLang community because without goLang I would have not achieved what I could so far.

Abstract: Do you know what it looks like live streaming super bowl to millions of concurrent users? Especially when you find out at last moment that you have to rebuild the whole platform within few weeks as you noticed major performance issues with currently used platform. Go is there to rescue you but how?

Event Driven Microservices in Golang
Armin Maurice
Armin Maurice

Armin Maurice | ThinkData Works inc.

I'm Armin Maurice, I've worked many jobs across the software industry in Toronto and feel lucky to have seen so many parts of our profession. I started as a freelancer writing Wordpress sites to pay rent, onto Agency work then front end development at some early stage startups event leading to full stack and back end heavy development. I became a Golang evangelist over the past three years as it has allowed me to create the projects that I am most proud of. I'm incredibly curious and love learning about the endless innovations in our profession, I hope to share some of what I've learned over the past few years.

Abstract: Micro-services (Loosely coupled software services) can have huge development benefits, but they can create more problems than they solve. Here we will outline how we avoided many of the common pitfalls of microservice development and completely rebuilt our enterprise application in 8 months.

A Journey to Postgres Productivity with Go
Johan Brandhorst
Johan Brandhorst

Johan Brandhorst | Utility Warehouse | JohanBrandhorst

Johan grew up and studied in Sweden but has worked in the United Kingdom as a programmer since 2012 at both multinational companies and small startups. He's the maintainer of many open source projects, such as the grpc-gateway and grpc-web. Having started with C/C++, he now spends his time working almost exclusively with Go, presenting at conferences around the world on topics as diverse as WebAssembly and writing REST services with gRPC.

Abstract: Working effectively with databases is an essential skill for any programmer, and often that means working with Postgres. But with so many different drivers, ORMs, frameworks, how do you choose which tools to use? Follow me on a journey through the tooling to arrive at productivity station.

schedgroup: A timer-based goroutine concurrency primitive
Matt Layher
Matt Layher

Matt Layher | Fastly | mdlayher

Matt Layher is a Distributed Systems Engineer at Fastly, and a regular contributor to a wide variety of open source networking applications and libraries written in Go.

Abstract: It is often desirable for tasks to execute as soon and fast as possible, but there are circumstances where it's useful to delay the execution of a task. This talk will introduce the schedgroup package, which provides a sync.WaitGroup-like API built on top of goroutines, channels, and runtime timers.

How To Build A Modern Compiler in Go
Milad Irannejad
Milad Irannejad

Milad Irannejad | Uber | moorara

I enjoy learning about and building distributed systems and applications. To me, distributed systems are very much like human communities and how we live together! I am an advocate for simplicity and like tools that are simple and just work! I am passionate about improving the developer experience and helping people in general. I am also interested in psychology, history, linguistics, physics, paleontology, economics, and pretty much everything that helps me understand what is going on around myself!

Abstract: When it comes to code-generation, people often build ad-hoc tools that only work in limited cases and do not scale beyond a few examples. Building a real compiler makes a big difference in terms of long-term cost and extensibility. Let’s learn how to build a modular compiler for any language in Go.

Intro to AI for software engineers using go-learn
Miriah Peterson
Miriah Peterson

Miriah Peterson | Weave | captainnobody1

Miriah Peterson graduated from Brigham Young University in 2017 with a Bachelor’s degree in Physics. She attended one semester of graduate school at the University of Oklahoma in 2017, but dropped out to start a career as a software engineer. 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 local colleges and bootcamps to encourage community participation and inspire women to pursue careers in technology.

Abstract: AI is a 2019 buzzword. There is an ever growing need for the Software Engineer to understand now these models work. This talk I 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.

Writing a VM to deserialize binary data from the ground up
Alysha Gardner
Alysha Gardner

Alysha Gardner | Pachyderm | actgardner

Alysha is a long-time Go developer with an interest in Data, Infrastructure and systems architecture. When they're not coding they enjoy cycling, cross-country skiing, and they're learning how to roller skate.

Abstract: Virtual machines are all around us, like the JVM or the Python runtime. But you can easily design and build your own toy VM and bytecode for fun and/or profit! This talk walks through the design of a toy VM written in Golang to solve a real problem.

Tracing Go Programs with eBPF
Grant Seltzer Richman
Grant Seltzer Richman

Grant Seltzer Richman | Oscar Health | grantseltzer

Grant is a security engineer at Oscar Health. Prior to that he worked at Capsule8, and Red Hat. He cares deeply about free software and the effect software has on privacy, and security. When he’s not writing Go or eBPF code for fun he enjoys riding his bike, brewing kombucha, and spending time with his family.

Abstract: eBPF is touted as a way to give Linux super powers, and I say Go is the ultimate superhero! This talk dives into how we can use eBPF to trace the execution of running Go programs... from Go. We'll uncover hidden secrets of the Go runtime and learn about the hottest tracing mechanism in the industry!

The Quest of the Chaos Monkey
Yan Matagne
Yan Matagne

Yan Matagne | KOHO | ymatagne

Speaker bio coming soon!

Abstract: More stressed than your application when you want to stress-test it? Join us for this talk to learn how to successfully build a stress test suite. By the end of this session you will have practical insights into load testing and how to become the champion of performance in all your projects.

Anatomy of a Gopher: Binary analysis of Go binaries
Alex Useche
Alex Useche

Alex Useche | nVisium

Alex is an Application Security Consultant at nVisium and has over 12 years of experience in the IT industry as a software developer, security engineer, and penetration tester. As a software developer, he has worked and architected mobile and web applications in a wide range of languages and frameworks, including .NET, Django, Objective C and Go. In his previous position, Alex led several projects aimed at building secure coding and DevOps processes for a mid-sized consultancy agency, as well as automating security analysis and tasks. Alex has a Bachelors in Information Technology and a Masters in Software Engineering. Alex is actively working on developing security tools written in Go and participating in various bug bounties.

Abstract: Go is everywhere these days (because Go is awesome). It is now common to find Go binaries embedded in IoT, Edge computing devices, and web assembly applications. We will show you what makes a Go binary different than a C binary, and how reverse engineers conduct binary analysis of Go applications.

I'm So Successful 💁‍♀️: Onboarding Happy Teammates Onto Complex Projects
Chloe Edeal-Smith
Chloe Edeal-Smith

Chloe Edeal-Smith | Manifold

Chloe Edeal-Smith (she/her) is a platform engineer writing Go for Manifold's commerce engine. She is a bootcamp grad with a degree in Anthropology and a passion for helping people feel empowered in tech. Her hobbies include performing on the trapeze, playing with her cats, and persuading her colleagues to write more documentation.

Abstract: Joining a new team? Bringing someone onto yours? Come learn tactics for team and project onboarding from both sides of the process that will set everyone up for success. Ariana Grande said it best: 'It feels so good to write Golang and have this team and be successful!' (Or... something like that!)

The Go WebAssembly ABI at a Low Level
Christine Dodrill
Christine Dodrill

Christine Dodrill | Lightspeed POS | theprincessxena

I'm a computer scientist and chaos magician that loves to make hard or opaque things easier to explain. I like to find the connections between things that allow for easier explanations, like git being effectively a blockchain. I like taking complicated things apart, learning how they work together and using that knowledge to create bigger and better things. I also like getting inspiration from sources other people would disregard.

Abstract: As of Go 1.11, the Go compiler supports compiling your code to WebAssembly. Unfortunately there has been very little documentation of how it works. This talk will cover how it all works at a low level and how it all is built up into making your work shine!

Taken Out of context.Context
David Justice
David Justice

David Justice | Microsoft | JBoursiquot

David Justice is a Principal Software Engineer in Microsoft's Azure cloud native compute team focused on Kubernetes, Golang and OpenAPI.

Abstract: Golang's context.Context makes it easy to pass request-scoped values, cancelation signals, and deadlines across API boundaries to all the goroutines involved in handling a request, but wait, wait there's more. Context unlocks, concurrency patterns, distributed tracing, value propagation and more.

Dungeons & Gophers
Guillaume St-Pierre
Guillaume St-Pierre

Guillaume St-Pierre | Manifold

Guillaume is a Full-Stack Software Developer at Manifold who has worked for more than 5 years in both technical support and software development. His interests range from micro-services to game development, and he loves to learn how complex systems work under the hood. He has written multiple small libraries in order to recreate concepts he wanted to learn and then to teach them to others. Guillaume is also a lover of bad puns and Samoyeds, and uses every opportunity to share his interests with the world.

Abstract: Multiplayer games are not always the first thing that comes to mind when talking about Go’s strengths. And yet, with gRPC, it is very possible to create real-time multiplayer games. Let’s dive into the world of gaming as we explore the inner workings of a multiplayer Dungeon crawler game.

How to safely and efficiently build your Go modules
Aaron Schlesinger
Aaron Schlesinger

Aaron Schlesinger | Microsoft | arschles

Aaron is a developer advocate at Microsoft Azure and a core maintainer of the [Athens](https://docs.gomods.io/) Project. Before Athens, he was a core maintainer and chair of the Kubernetes [SIG-Service-Catalog](https://github.com/kubernetes-incubator/service-catalog) and a contributor to various other projects in the Kubernetes community.

He has 15 years of software engineering experience ranging from frontend design to distributed data systems. He discovered Go around 2013 and hasn’t looked back. He lives in beautiful Portland, OR.

Abstract: Go 1.13 shipped with subtle but important changes to modules. Folks working on private codebases need to change parts of their workflow to avoid breaking builds & leaking private information. It's important that they see examples of how all of that can happen, and what they must change as a result.

Going Serverless
Steven Bogacz
Steven Bogacz

Steven Bogacz | Twilio Sendgrid | bogaczio

Steven is a Uruguayan by birth and a Wisconsinite by upbringing. A climber, snowboarder, and fútbol fan, he takes the same depth-first search approach towards sticky problems at work that he does to his hobbies. Passionately lazy, he's been a strong advocate at SendGrid for writing reusable and maintainable libraries for both Go and Terraform.

Abstract: Go's adoption rate is impressive, surpassed perhaps only by the adoption of serverless cloud technologies. We'll explore how we write serverless Go code for complex APIs deployed in environments such as Lambda and Google Cloud Functions, focusing on testing and abstraction.

Replacing a Chicken with Go
John Hobbs
John Hobbs

John Hobbs | Flywheel | jmhobbs

I am a polyglot programmer who loves learning things and teaching them to others. I work as a senior platform engineer at the managed WordPress hosting company Flywheel, wrangling containers and writing Ruby and Go. Outside of work I live in an old farmhouse with my wife, three kids, eight chickens and more projects than I will ever be able to finish.

Abstract: This session will help anyone who wants to hatch eggs, but without a spare chicken handy. I will give a guide to the world of hardware hacking with Go, by walking through the creation of an incubator. By the end of the talk you will know how to use Go and a Raspberry Pi to make real world tools!