---
title: Get thee to a Go meetup
date: 2013-02-27
by:
- Andrew Gerrand
tags:
- community
- talk
summary: How to find or start a local group of gophers.
---


Last week, David Symonds and I each gave talks at Sydney's Go meetup,
[golang-syd](http://www.meetup.com/golang-syd/).
Dave spoke about [Go API design in the context of Protocol Buffers](http://talks.godoc.org/github.com/dsymonds/talks/2013-feb-golang-syd/golang-syd.slide),
and I discussed some neat tricks in the construction of [a small command-line program](http://talks.godoc.org/github.com/nf/streak/talk.slide).
The presentations were short but provoked some good questions and interesting discussion.
Of the 50-odd attendees, most were regular Go programmers and a fair chunk
write Go code professionally. It was a fun night.

It would have been great to see you there but,
statistically, you're not from Sydney.
Despair not, however, as there are likely some people in your area who either
run a Go meetup or want to start one.

The Go wiki lists [Go user groups](/wiki/GoUserGroups) around the world,
so if there's one nearby you should consider going along to the next event.

If not, why not start your own? To gauge interest,
ask around in the [Go+ Community](https://plus.google.com/communities/114112804251407510571) and
the [golang-nuts mailing list](http://groups.google.com/group/golang-nuts), and
take a look at this [list of people](http://golang.meetup.com/all/) waiting
for a Go meetup in their area.
Once you have a few people interested - and at least one person willing
to present something - pick a venue and set a date.
If you build it, they will come.
