# Golang UK 2015
9 Oct 2015
Tags: conference, golanguk
Summary: Reporting from GolangUK 2015, the first London Go conference.

Francesc Campoy

##

On August 21st the Go community gathered in London for the first edition of
[Golang UK](https://golanguk.com). The conference featured two parallel
tracks and nearly 400 gophers attended.

.image gouk15/gouk.jpg 300 _

The conference started with the opening keynote by [David Calavera](https://twitter.com/calavera)
called Crossing the Language Chasm ([video](https://www.youtube.com/watch?v=JPVRnEZ4v_w&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
and continued with two concurrently executed [tracks](http://golanguk.com/schedule/).

Main track:

  - Stupid Gopher Tricks,
    by [Andrew Gerrand](https://twitter.com/enneff)
    ([video](https://www.youtube.com/watch?v=UECh7X07m6E&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
  - Complex Concurrency Patterns in Go,
    by [Evan Huus](https://twitter.com/eapache)
    ([video](https://www.youtube.com/watch?v=2HOO5gIgyMg&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
  - Code Analysis [no reading required],
    by [Francesc Campoy](https://twitter.com/francesc)
    ([video](https://www.youtube.com/watch?v=oorX84tBMqo&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
  - Go kit: a toolkit for microservices,
    by [Peter Bourgon](https://twitter.com/peterbourgon)
    ([video](https://www.youtube.com/watch?v=aL6sd4d4hxk&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
  - Dependency Management Conundrum,
    by [William Kennedy](https://twitter.com/goinggodotnet)
    ([video](https://www.youtube.com/watch?v=CdhucJShJU8&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))

Side track:

  - Building APIs,
    by [Mat Ryer](https://twitter.com/matryer) ([video](https://www.youtube.com/watch?v=tIm8UkSf6RA&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
  - Building a Bank with Go,
    by [Matt Heath](https://twitter.com/mattheath)
    ([video](https://www.youtube.com/watch?v=cFJkLfujOts&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
  - CockroachDB: Make Data Easy,
    by [Ben Darnell](https://twitter.com/bendarnell)
    ([video](https://www.youtube.com/watch?v=33oqpLmQ3LE&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
  - Understanding memory allocation in Go,
    by [Dean Elbaz](https://twitter.com/DeanElbaz)
    ([video](https://www.youtube.com/watch?v=zjoieOpy5hE&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))
  - Whispered Secrets,
    by [Eleanor McHugh](https://twitter.com/feyeleanor)
    ([video](https://www.youtube.com/watch?v=ViBRx-F4Z2U&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd))

Finally [Damian Gryski](https://twitter.com/dgryski)
took the stage for the closing keynote
([video](https://www.youtube.com/watch?v=IiSyFc10Jj0&list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd)),
giving an overview of how the Go community has evolved over time and hinting
to what the future might look like.

On the day before the conference,
[William Kennedy](https://twitter.com/goinggodotnet)
gave a full day Go workshop.

It was a great conference, so congratulations to the organizers and see you next year in London!
