Steve Francia

Steve Francia is the Technical Program Manager on the Go Language Team at Google. Steve is the creator of Hugo, Cobra, spf13-vim, and is an author and frequent speaker.

Prior to Google, Steve served as the Chief Operator of Docker, and the Chief Developer Advocate of MongoDB.

Steve loves creating software and is thrilled to be able to work on it full time and then some. He is a very active member of the Go community and has been an organizer of GopherCon and GothamGo.

Alan Donovan

Alan Donovan

Alan Donovan is a Staff Engineer in Google's infrastructure division, specializing in software development tools. Since 2012, he has been working on the Go team, designing libraries and tools for static analysis. He is the author of the oracle, godoc -analysis, eg, and gorename tools.

Alan is also a co-author of the Go Programming Language book.

Carmen Andoh

Carmen Andoh lives in New York and is an Infrastructure Engineer on the Build Infrastructure team at Travis CI. She is active in the NYC Go community, is an organizer of both the Go Language NYC and the WomenWhoGo NYC meetups, and is a member of Golang's New Developer experience Working Group.

Jon Bodner

Jon Bodner is part of the Technology Fellows Program at Capital One, currently working on a fork of the LGTM project that will be open sourced soon. Jon's team is helping to transform Capital One through introduction and integration of new technologies, working to shorten release cycles, and generally pushing forward an "open source first" culture.

Jon is a software engineer, lead developer, and architect and enjoys presenting and discussing open source, technology trends, and the future of software engineering. Over the past 20 years, Jon has worked in just about every corner of the software industry including on-line commerce, education, finance, government, healthcare, and internet infrastructure.

Jess Frazelle

Jess Frazelle works with Linux and Containers at Microsoft. She loves all things involving Linux namespaces and cgroups and is probably most well known for running desktop applications in containers. Jessica has been a maintainer of Docker and a contributor to RunC, Kubernetes, Linux, and Golang, among other projects, maintained the AppArmor, Seccomp, and SELinux bits in Docker, and is quite familiar with locking down containers.

JP Robinson

JP Robinson is a Principal Software Engineer at The New York Times where he has been using and evangelizing Go for over 4 years. When he’s not walking around the office beating the drum to lead coworkers towards serenity with Gophers and Google Cloud, he can be found lounging with his fat cat, enjoying the amazing food of NYC or attempting (and failing) to get the high score on Joust at Barcade.

Building a Multiplayer New York Times Crossword

At The New York Times, we’ve been using Go along with Google’s tools to rebuild the platform behind the crossword product. Recently we’ve been experimenting in adding realtime (and offline) collaborative crossword play and we’re ready to share some of the details of our implementation.

We’ll walk through building a realtime collaborative crossword game that uses App Engine, Firebase’s Realtime Database and other Google Cloud Platform tools for matchmaking, streaming game progress and aggregating game statistics.

Bouke van der Bijl

Bouke van der Bijl is a jack of all trades, master of some at Shopify. He uses Go in his day-to-day work, has written multiple blog posts on the subject, and published multiple semi-serious packages for Go, including one that allows you to monkey patch Go functions (don’t use it).

Kris Nova

Kris Nova lives and breathes open source. She is transgender, and is transparent about all things in her life. She believes in advocating for the best interest of the software, and keeping the design process open and honest. She is a backend infrastructure engineer, with roots in Linux, and C. She has a deep technical background in the Go programming language, and has authored many succesful tools in Go. She is a Kubernetes maintainer, and the creator of kubicorn, a successful Kubernetes infrastructure management tool. She organizes a special interest group in Kubernetes, and is a leader in the community. Kris understands the grievances with running cloud native infrastructure via a distributed cloud native application, and is authoring an O'Reilly book on the topic called Cloud Native Infrastructure.

Andrew Bonventre

Andrew Bonventre is a senior engineer on the Go team at Google. He is the creator of Google Forms and led the recent UI overhaul of Gerrit, the code review system used by the majority of open source projects at Google (including Go).

Kevin Burke

Kevin Burke likes building great experiences. He helped scale Twilio and Shyp, and currently runs a software consultancy. Kevin once accidentally left Waiting for Godot at the intermission.

Becoming a Go Contributor

Contributing to the Go project and associated tools can look really intimidating. I’ll share how I went from being a part time Go hacker to a contributor, and discuss how you can get started contributing to Go!

Sean Kelly

Sean Kelly (affectionately known as Stabby) is a Principal Software Engineer for Komand Security. A simple man with a dog for an avatar, he enjoys learning new things, helping / mentoring others, and posting photos of his dog on the internet. When he's not giving talks about his many failures, he enjoys spending time at home with his wife, and coming up with new projects to work on that he will never actually finish.

I Will Debate Mark Bates About All of the Controversial Issues in Go

Mark Bates - A name known throughout the community for terrible opinions.

I will have an open debate with Mark, as a sequel to our famous Boston Go/Ruby cross meetup Go VS Ruby debate (where Mark chose Ruby, AND LOST). I’m not going to say that Mark performed shamefully - but the audience was thinking it.

Go is a great language, with a great community. But there are a good number of “controversial” issues in the community that you see flare up from time to time, with a lot of impassioned people taking up sides on how things should be done “in the go way”.

I will debate Mark on these controversial opinions (dependency management/vendoring, logging, handling errors, frameworks, “just use the stdlib”, and others) in a quick lightning debate, where we inject a little levity into the situation and remind people that it’s ok to laugh at ourselves in good fun.

Also, It’s good to laugh at Mark, which I assume everyone will be doing as I mercilessly destroy him in front of his own audience. The dude has no idea what is about to hit him, and no silly batman costume will save him from me.

Massimiliano Pippi

Massimiliano Pippi is a software developer for over 10 years, more than half spent working on scientific visualization and backend software for a private company, using C++ and Qt technologies. Then a lot of Python, Django and web related applications. I can ops. Open source advocate and active contributor, documentation fanatic, speaker at conferences (for the ❤ of sharing). I wrote a book once.

Currently at Datadog, where I’m allowed to play with high scalable systems, a wide number of different technologies, open source stuff, Python and Golang.

A Python and a Gopher Walk into a Bar - Embedding Python in Go

Success stories about rewriting Python applications in Go are not big news anymore. The pros and cons are well known, best practices are in place, and the standard library is there to help. But what if you want to keep some of your Python code? When we chose to port the Datadog Agent to Go, we needed to maintain support for our existing library of plugins written in Python. During the talk we will share lessons learned from our experiences with cgo, the GIL and the quest for performance as we bridge multiple languages in a single application.

Kat Zien

Kat Zien writes Go, Ruby, bash and PHP at Brightpearl. Working remotely from Bristol, UK or anywhere with wifi. Her main interests include automating #allthethings, sorting out legacy code and making things simpler and faster. She’s co-organising and giving talks at Golang Bristol++ and PHPSW. Kat loves travelling and keeping active, appreciates good coffee and is a big Lego fan. She will be cycling from Copenhagen to Berlin in September to raise money for Room To Read.

Performance Optimisation: How Do I Go About It?

Every developer should be confident that their code is efficient and safe to run in production. But it can be hard to get started. What tools to use? What do the graphs mean? What to look at first? Let’s answer those questions by analysing a simple app using Go tools and some open source projects.

Filippo Valsorda

Filippo Valsorda works on cryptography and systems engineering.

He’s been the main developer of the pure-Go Cloudflare DNS server, and designed its DNSSEC implementation. Then he deployed the crypto/tls and net/http based TLS 1.3 reverse proxy for the Cloudflare edge.

He often writes about Go on his blog, talks about security and programming, and builds Go tools like gvt, hellogopher, the Heartbleed test and the whoami SSH server.

Calling Rust from Go, without cgo

Calling Rust from Go would let us replace unreadable assembly for tasks like crypto.

But cgo is too slow, and we’ll see why. It has to do with goroutine stacks, panics and the GC.

Instead, with knowledge of the Go calling convention and build system, we can use assembly to call Rust directly.

Aditya Mukerjee

Aditya Mukerjee is a systems engineer at Stripe on the Observability team, based in New York City. He studied statistics at Columbia and computer science at Cornell, and has been writing Go professionally for the past four years. When not defending users against online fraudsters, he spends his free time playing German-style board games and listening to embarrassing music.

Monitoring and Tracing Your Go Services

“If a Go microservice falls down in the middle of a server farm, does my pager make a sound?”

If your service is automatically monitored, then the answer is “yes!”. But what if your service isn’t monitored yet? Or what if your monitors alert you when the server is offline, but not on subtler problems like latency spikes or CPU load?

Fortunately, there’s a quick and easy way to get high-resolution metrics for monitoring your services. The Go standard library now contains the basic building blocks for application tracing. When you combine these tools with Veneur, a pure Go distributed metrics aggregator, you can easily answer the questions you care about, like “Which servers are currently running near maximum capacity?”, or “Can our infrastructure handle tomorrow’s product launch?”.


JBD is working on the Go programming language at Google. Her current focus is to make Go the best language to write production systems. Before Go, she worked on API infrastructure at Google. She has a decade-long experience in building developer platforms and tools.

Tim Marcinowski

Tim Marcinowski is part of the Technology Fellows Program at Capital One, currently working on cloud architecture, container infrastructure, and evangelizing Go. Tim has over ten years of experience in large scale operations, development, and open source communities. Before working for Capital One, Tim worked for Puppet, FINRA, CFPB, General Dynamics, and US Navy.