Need tickets?

Get your tickets early and guarantee your entrance to the largest Goconference in the world.

Purchase Tickets
GopherCon 2015

July 7th - 10th, 2015 in Denver, CO

GopherConIt's the largest event in the world dedicated solely to the Go programming language. It's attended by the best and the brightest of the Go team and community. Join us as 1,500 gophers converge on Denver, Coloradofor 3 full days of talks, events, & hacking.

July 7th

Work Shop(Optional)

Optional workshop day. Workshops to be announced soon.

July 8th

Main Event(Day 1)

Featuring our first day of guest speakers talks and presentations.

July 9th

Main Event(Day 2)

Our second and last day of guest speakers talks and presentations.

July 10th

Hack Day(Optional)

Optional (but highly recommended) hack day. Socialize and work with your Go friends.

Keynote Speakers

We have the brightest in the industry to deliver opening and closing keynotes on both days.

Russ Cox

Russ Cox

Engineer at Google

Russ Cox has worked on the Go programming language at Google since 2008.

Robert Griesemer

Robert Griesemer

Engineer at Google

Robert Griesemer is a software engineer at Google, and one of the designers of the Go language.

Dmitry Vyukov

Dmitry Vyukov

Bug slaughterer at Google
Andrew Gerrand

Andrew Gerrand

Engineer at Google

Andrew Gerrand works on the Go Programming Language at Google Sydney.



Baishampayan Ghose

Baishampayan Ghose

Co-founder at Helpshift
Ben Johnson

Ben Johnson

Open source Go developer in databases & distributed systems.
Derek Parker

Derek Parker

Author of Delvean open source debugger for Go
Hana Kim

Hana Kim

Software engineer on the Go team at Google.
Peter Bourgon

Peter Bourgon

Engineer at Weaveworks
Barak Michener

Barak Michener

Backend Developer at CoreOS and lead maintainer of Cayley
Kevin Cantwell

Kevin Cantwell

Lead Architect at Timehop
Kelsey Hightower

Kelsey Hightower

Product Manager, Developer and Chief Advocate at CoreOS
Rick Hudson

Rick Hudson

Rick is a member of Google's Go team where he is working on Go's GC and runtime issues.
Kyle Erf

Kyle Erf

Kyle Erf is a Kernel Tools Engineer at MongoDB
Sam Helman

Sam Helman

Software Engineer at Flatiron Health
Sarah Adams

Sarah Adams

Software Engineer at Restless Bandit
Richard Fliam

Richard Fliam

Software Engineer Lead on Comcast VIPER’s Pillar linear packager
Tomás Senart

Tomás Senart

Software Engineer and Author of Vegeta
Audrey Lim

Audrey Lim

Developer Evangelist at Nitrous.IO
Blake Caldwell

Blake Caldwell

Developer, Fog Creek Software
Katherine Cox-Buday

Katherine Cox-Buday

Software Engineer at Canonical
Abhishek Kona

Abhishek Kona

Engineer at
Björn Rabenstein

Björn Rabenstein

Production Engineer at SoundCloud


9:00am - 5:00pm Location: Room 301
Go Bootcamp
William Kennedy Ardan Labs

The Go Bootcamp is a 1 day class providing a comprehensive and idiomatic overview of the Go programming language. We will cover topics ranging from language syntax, Go's approach to object-oriented semantics, concurrency, channels and more. This class is great for anyone wanting to get a jump start on learning Go or wanting to understand more about the language and internals!

Teacher:William Kennedy ( @goinggodotnet)
William Kennedy works in Miami, FL as a managing partner at Ardan Studios: a mobile, web and systems development company. He is also the co-author of the book Go In Action, the author of the blog GoingGo.Netand the organizer for Miami's Go and MongoDB meetups.

The Go Bootcamp is an all day workshop to get you up and running with Go provided by Ardan Labs.Tickets for this workshop can be purchased at an additional cost.

Purchase Tickets

9:00am - 10:45am Location: Room 302
Exploring Go's Utility Ecosystem
Kevin Gillette

Discover the full breadth and depth of the Go development and analysis tools available today. We will explore the go tool, golint, oracle, profiling, and various other utilities that will bolster your efficiency and capabilities as a developer. If you know the language and libraries but haven't had time to peruse the toolchain, this is a great opportunity to learn about what you've been missing!

Teacher:Kevin Gillette ( @kevingillette)
Kevin is an experienced software engineer that has enthusiastically used Go since 2012 to develop efficient, high-reliability backend systems. With a focus on breadth of knowledge, Kevin has expertise in a variety of languages and platforms, a firm grounding in theory, as well as a keen interest in computing history.

11:00am - 12:45pm Location: Room 302
Working with Data in Go
Cory LaNou InfluxDB

Working with data is a core component of many applications, and Go has great support for working with many different types of databases. In this workshop, we will cover the use of MongoDB to store and retrieve data with the mgo driver. Following this, you will learn best practices for building packages and apps that work with and expose data from any database.

Teacher:Cory LaNou ( @corylanou)
Cory LaNou is a full stack web developer and entrepreneur with over 17 years of experience. After 11 years of being a successful serial entrepreneur, he has joined the InfluxDB team, working on building an open source time series database written in Go. He is active in the Go community, leading the Denver Gophers meetup, as well as mentoring students in his free time.

1:30pm - 5:00pm Location: Room 302
HTTP - Web Apps and APIs
Mark Bates, Jeremy Saenz

The Go standard library provides a lot of great utility for building web applications and APIs, but it can sometimes it can be difficult to figure out how to build things the “right” way. In this two part workshop Jeremy and Mark will walk you through build web applications and APIs using the standard library and a few third party packages to make building applications fun and easy. Over the two parts Mark and Jeremy will build a web application with an Angular front-end that talks JSON to Go. Middleware, rendering, error handling, routing, testing, and more will covered.

Teacher:Mark Bates ( @markbates)
Mark Bates is the founder and chief architect of the Boston, MA based consulting company, Meta42 Labs. Mark spends his days focusing on new application development and consulting for his clients. At night he writes books, raises kids, and occasionally he forms a band and "tries to make it". Mark is the author of three books, "Distributed Programming with Ruby" (2009), "Programming in CoffeeScript" (2012), and "Conquering the Command Line" (2014). He also runs the weekly Golang screencast site,

Teacher:Jeremy Saenz ( @codegangsta)
Jeremy, AKA Code Gangsta, is a fellow Gopher, author, speaker and screencaster. You have probably heard about one of his open source projects like Martini, Negroni, Gin, CLI and others. Jeremy is also the voice behind GopherCasts.ioand loves teaching people about technology through his programming screencasts.

This track is a series of highly focused workshops to further your Go knowledge by using Go in practice. They are taught by a number of renowned community members and provided by Ardan Labs.. Tickets for this workshop can be purchased at an additional cost.

Purchase Tickets

8:30am Location: Main Theatre

Welcome ceremony and announcements.

8:40am Location: Main Theatre
Opening Keynote
Russ Cox Engineer at Google

9:30am Location: Main Theatre

Go has emerged as the language of the server, but it remains underrepresented in large, consumer-focused companies like Facebook, Twitter, Netflix, and SoundCloud. These organizations have largely adopted JVM-based tech stacks for their business logic, owing in large part to libraries and ecosystems that directly support their service-oriented architectures.

To reach its next level of success, Go needs more than simple primitives and idioms. It needs a comprehensive toolkit, for coherent distributed programming in the large. This talk describes Go kit, a toolkit for Go in the modern SOA.

10:40am Location: Main Theatre

A good debugger is an essential tool for any software engineer – but Go has some unique characteristics (the runtime scheduler, for instance) that make traditional debuggers unfeasible. So I wrote Delve, a debugger tailored specifically for Go.

When your software misbehaves, how can you glean insight into its unruliness?

To answer that we’ll take a deep dive into Delve. We’ll explore what makes software like Delve work, how it aims to solve problems with existing debuggers, and how you can leverage Delve.

11:15am Location: Main Theatre
Code Generation For The Sake Of Consistency
Sarah Adams Software Engineer at Restless Bandit

Maintaining consistency within a growing project is a challenge. I have struggled with my company’s Go web API as it has grown over the past two years, trying to find a nice solution to this intra-project consistency problem without resorting to a large-scale framework.

In my mind, there are three general layers to project consistency:

  • consistency in implementation among similar bits of code
  • consistency in black-box behavior among similar endpoints or commands
  • consistency between actual behavior and documented behavior (documentation accuracy)

This talk will outline how I have leveraged small-scale code and documentation generator tools for each of the three layers outlined above, specifically for the sake of consistency in a growing Go application without using a large-scale framework.

11:50am Location: Main Theatre
A Practical Guide to Preventing Deadlocks and Leaks in Go
Richard Fliam Software Engineer Lead on Comcast VIPER’s Pillar linear packager

Communicating Sequential Processes (CSP) are a foundational element of writing Go code. Our Go application, Pillar, processes 15 gigabits per second, packages over 3000 channels, serves millions of users, and runs on more than 450 servers nationwide.

While writing Pillar, we developed five guidelines for the use of Go and CSP. Guidelines that helped us prevent deadlocks, prevent resource leaks, and simplified our code. Go developers will find lasting value in these battle-tested guidelines.

13:20pm Location: Main Theatre

Long garbage collection (GC) pauses stand directly in the way of Go’s growth. It is an important, and often times the only, technical reason practitioners give for not migrating to managed runtimes such as Go. If Go is to live up to its promise of providing a better place for developers it must eliminate long GC pauses.

This talk presents and discusses the new 1.5 low latency concurrent GC. Motivations will be given, performance numbers will be presented, we will deep dive into some technical challenges, but more importantly we will discuss why this approach fits well with the Go language.

1:55pm Location: Main Theatre
Simplicity and Go
Katherine Cox-Buday Software Engineer at Canonical

The mantra of the Go community is “keep it simple”. Sometimes, this idea is distorted to justify poor engineering decisions. In this talk, we’ll explore what simple really means, and what Go brings to the table.

2:30pm Location: Main Theatre

Learn how a backend platform for mobile app developer reinvented its backend stack without breaking compatibility with the existing API using Go as the primary tool. One can say this is upgrading the engine of a plane mid-flight. Come hear about all the war stories.

Find out how at times we did not do things the “Go-Way”. Learn how we were inspired by the Facebook PHP stack.

3:40pm Location: Main Theatre

Many lessons have been learned from more than two years of developing Prometheus. Most of its components are implemented in Go, and we run them at their limits during our day-to-day work at SoundCloud.

This talk will shed light on various aspects of Prometheus from the perspective of a Go developer, from the instrumentation library all the way to the storage backend.

4:15pm Location: Main Theatre
What Could Go Wrong?
Kevin Cantwell Lead Architect at Timehop

Timehop Engineering has made real strides thanks to using Go in production for two years now and we’ve made plenty of mistakes along the way. Typed nils, bloated interfaces, runaway goroutines, mysterious closure states… you name the mistake, we’ve made it.

4:50pm Location: Main Theatre
The Roots of Go
Baishampayan Ghose Co-founder at Helpshift

Every once in a while, a new programming language comes up that fundamentally changes how we think about computing. But even more so often, the core ideas behind a “new” language are hinged upon ideas that were first propounded by languages or systems which are much older.

Often our understanding of a language’s features and the intentions thereof are limited by our understanding of its roots.

In this talk, BG will talk about the origins of the core ideas behind Go and will take you on a “language-archeology” tour where we’ll trace the roots of Go.

8:30am Location: Main Theatre

Welcome ceremony and announcements.

8:40am Location: Main Theatre
9:15am Location: Main Theatre
Static Code Analysis Using SSA
Ben Johnson Open source Go developer in databases & distributed systems

Single Static Assignment (SSA) is an intermediate representation of code that many compilers use for analysis and optimization. This talk will look at how the go/ssa package is used in existing Go static analysis tools like eg and oracle and how we can use it to build our own tools.

9:50am Location: Main Theatre
Go for mobile devices
Hana Kim Engineer at Google

How cool would it be to write an app for your Android or iOS phone in your favorite language, Go?

Since Go 1.4, Android on ARM is one of the officially supported platforms, and Go 1.5 will include iOS support for ARM. I will present the status of Android/iOS support in Go 1.5, and the efforts around the repository, which hosts tools and libraries for mobile app development in Go.

11:00am Location: Main Theatre
Go Dynamic Tools
Dmitry Vyukov Bug slaughterer at Google

Dynamic tools can provide significant value for small time investment. But frequently they are underappreciated by developers. In this talk I will describe three dynamic tools for Go: data race detector, fuzzing system and execution tracer. The first two tools are related to bug finding, and the tracer can give insights into performance and latency issues of Go programs. I will also share our experiences of systematically applying such tools at scale.

11:35am Location: Main Theatre
Embrace the Interface
Tomás Senart Software Engineer and Author of Vegeta

Go gives us powerful abstraction through interfaces with no bureaucracy. In my quest to find the right balance between pragmatism and abstraction, I have developed some useful patterns that leverage Go’s interfaces to make code modular, lean and clean.

This is a hands-on opinionated talk about software craftsmanship and sane abstraction techniques. This is a talk where you’ll learn how to embrace the interface.

12:10pm Location: Main Theatre

Hear about Fog Creek’s first production Go service: a rewrite of their Git and Mercurial SSH reverse proxy from Python. See how they monitor memory, who’s currently connected, what actions they’re performing, what their code is doing, and how they implement drain-and-die so a connection is never forcefully closed. Response times halved. Scheduled daily restarts were replaced with multi-month uptime, and shoulder shrugging about recent crashes were replaced with detailed forensic logs.

Pick up some tips on how to write resilient services with Go!

1:40pm Location: Main Theatre
Cayley: Building a Graph Database
Barak Michener Backend Developer at CoreOS and lead maintainer of Cayley

Written in Go, Cayley is a graph database based on technology behind Starting with a short history of the inspirations behind Cayley, this talk will deep-dive into the moving parts of building a graph database, between the various query languages, the storage engines, and the iterator trees.

2:15pm Location: Main Theatre

Go can be seen as a language that is too difficult for beginner programmers. The resources and documentation for the language seem too technically advanced for the beginner to pick up fundamental programming concepts. Nevertheless within 5 weeks of looking into Go I taught myself how to build my first CRUD web application and a week later, an API client. In this talk I will share my thoughts about why I think Go is a fantastic teaching tool, and why beginners should not be afraid to learn it.

2:50pm Location: Main Theatre
The Many Faces of Struct Tags
Sam Helman Software Engineer at Flatiron Health
Kyle Erf Kernel Tools Engineer at MongoDB

Struct tags are a great feature of Go, but in the general Go community they receive almost no attention. In this talk we want to show you some of the cleverest and weirdest uses of struct tags we’ve seen. Specifying json and xml fields in struct tags is commonplace, but have you thought about using tags for object-relational mapping, validation functions, defining middleware, or command line options? Come join us for a tour of our favorite practical and impractical uses of an underutilized part of Go.

4:00pm Location: Main Theatre
Betting the Company on Go and Winning
Kelsey Hightower Product Manager, Developer and Chief Advocate at CoreOS

Since the very beginning CoreOS bet the farm on Go, even before it became the popular language it is today. CoreOS builds and ships components that enable users to create distributed systems from the ground up. Just about everything CoreOS builds including our popular open source projects such as etcd, fleet, and rocket are built using Go; this also holds true for most CoreOS commercial offerings.

But how did we do it? What challenges did we face?

In this talk we will answer these questions and provide a retrospective, if you will, on using Go at CoreOS over the years.

4:35pm Location: Main Theatre
Closing Keynote
Andrew Gerrand Engineer at Google

Andrew will present the final talk of GopherCon 2015.

10:00am - 5:00pm Location: Mile High Ballroom
Hack Day

Join all your friends in a day of loosly organized collaboration, lightning talks, and general hackery. We'll provide the space and the wifi, you bring your favorite project and work together with friends you only get to see in person every year at GopherCon.

11:00am - 5:00pm Location: Mile High Ballroom
Lightning Talks

Five minute lightning talks will run until everybody has had their say. Check back in a few days for an online signup form.

10:00am - 5:00pm Location: Hack Rooms
Focused Hack Rooms

Some of your favorite open source projects and companies will be hosting hack sessions in dedicated rooms. Join the core teams of great projects like Etcd and Gobot and hack the day away.

10:00am - 11:00am Location: Mile High Ballroom
Investment 101 for Startups

Robin Vasan will give a presentation about venture capital and the process behind getting your startup funded. Robin is a managing director at Mayfield, one of the most prestigious investment firms in the country. Robin will be joined for a question and answer session by the CEO's from two of Mayfield's investments. Paul Dix from InfluxDB and Mitchell Hashimoto from HashiCorp who will share their experiences as founders going through the investment process.

If you've ever considered a startup, this informal presentation is one you can't afford to miss.

Afternoon Location: Mile High Ballroom

Join us for light snacks in the afternoon.

Thanks to Our Sponsors

Without their support this would not be possible

Hotel Accommodations

We have arranged special rates and reserved room blocks at hotels close to the Convention Center. Be sure to use the links, phone numbers, or booking codes below to get the reduced rates.
If you have any trouble, call 1-866-650-8858for help!

Hampton Inn

$169.00/ night, plus tax

550 15th Street,
Denver, CO 80202

Tel: 800.445.8667
Code: GopherCon

Sold Out!

Homewood Suites

$179.00/ night, plus tax

550 15th Street,
Denver, CO 80202

Tel: 800.445.8667
Code: GopherCon

Sold Out!

Hilton Garden Inn

$189.00/ night, plus tax

1400 Welton Street,
Denver, CO 80202

Tel: 855.215.1283
Code: GopherCon

Sold Out!

The Curtis

$199.00/ night, plus tax

1405 Curtis Street,
Denver, CO 80202

Tel: 800.445.8667
Code: GopherCon

Sold Out!

Embassy Suites

$205.00/ night, plus tax

1420 Stout Street,
Denver, CO 80202

Tel: 800.445.8667
Code: GopherCon