The Surprising Success of the First Gophercon
Any time a new conference starts, setting realistic expectations is hard. I've been to a few "first cons" in my life, and even the most successful have been small, fraught with technical difficulties, and often difficulties with focus. As far as I can tell, Gophercon had none of these issues.
The conference organizers quipped that they had expected somewhere in the neighborhood of 100-200 people. They were forced to cap their overflowing registration at 700. The venue (Denver's Downtown Marriott conference center) was superb, and the organizers lined up some great food and some great after-hours activities.
But the really big deal was the speaker line-up. Opting for a single-track conference, the organizers created a fast-paced two days loaded with the best names in Go development. The keynotes were delivered by Rob Pike, Russ Cox, and Andrew Gerrand (all members of Google's core Go team). Pike reflected on Go's historical roots. Cox delivered a spectacular talk on the process of programmatically converting the Go compiler from C to Go. And Gerrand closed the conference with a reflection on Go's intentional push toward simplicity. (And he drew, it seems, from Rich Hickey's excellent distinction between simple and easy).
While the conference had no stated theme, it was clear that one bubbled to the surface. Go is, as Donnie Berkholz stated not too long ago, the emerging language of the cloud. App Engine, Docker, SoundCloud, Ubuntu JuJu, CloudFoundry... over and over we heard from both established and nascent cloud companies about how they'd placed their bets on Go. Alan Shreve even made fun of this in his "altered" title about Go without the cloud. With a standard library as network-aware (and web-aware) as Go, it's no surprise that it's finding its anchor in this market.
The danger of a single-track conference comes with the requirement to satisfy all of your audience some of the time, and none of the audience all of the time. And this is especially true for an initial conference aimed at both the beginners and the insiders. So topics ranged from introductory discussions of the core language to experimental and exploratory topics. For example, Baron Schwartz explained the Go database library while Ron Evans and Adrian Zankich did a live demo of their experimentation with Go and some cool little robots.
In spite of this, I found that in every session I attended, there was at least something I came away with, be it a new appreciation for something, a new trick, or just a different perspective on using Go to solve real-world problems. For example, Peter Bourgon dedicated his session to lessons learned deploying Go applications at SoundCloud. Peter's methodologies are similar to my own in many respects, but I learned the most from his explanations of things that SoundCloud does differently than I do. This gave me reason to pause and think a little harder about whether we could engineer our deployment environment to function better.
For a first conference in the field, Gophercon was tremendously well orchestrated. Big glitches, if they happened at all, were invisible to us. The session remained on schedule. The crowd was friendly and respectful. And the organizers brought in a great speaker lineup. My hope is that they felt proud enough of this conference to do it again in the years to come. It most certainly is a valuable venue for Go developers.