
Go Time: Golang, Software Engineering
Your source for wide-ranging discussions from all around the Go community. Panelists include Mat Ryer, Jon Calhoun, Natalie Pistunovich, Johnny Boursiquot, Angelica Hill, Kris Brandow, and Ian Lopshire.
We discuss cloud infrastructure, distributed systems, microservices, Kubernetes, Docker... oh and also Go!
Some people search for GoTime or GoTimeFM and can't find the show, so now the strings GoTime and GoTimeFM are in our description too.
Latest episodes

Oct 24, 2019 • 1h 2min
Building search tools in Go
Johnny is joined by Marty Schoch, creator of the full-text search and indexing engine Bleve, to talk about the art and science of building capable search tools in Go. You get a mix of deep technical considerations as well as some of the challenges around running a popular open source project.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:KubeCon + CloudNativeCon – Get an additional 10% off EARLYBIRD registration pricing with the code KCEUGOTIME — ends November 8th! Learn more and register.
Datadog – Cloud monitoring as a service. See inside any stack, any app, at any scale, anywhere. Datadog is cloud-scale monitoring that tracks your dynamic infrastructure and applications. Plus next-generation APM. Monitor, troubleshoot, and optimize end-to-end application performance. Start your free trial, install the agent, and get a free t-shirt!
strongDM – Manage access to any database, server, and environment. strongDM makes it easy for DevOps to enforce the controls InfoSec teams require.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:Marty Schoch – GitHub, XJohnny Boursiquot – Website, GitHub, XShow Notes:
Bleve
Bleve on GitHub
Bluge Labs
Something missing or broken? PRs welcome!

Oct 17, 2019 • 1h 4min
All about caching
Manish Jain and Karl McGuire of Dgraph join Johnny and Jon to discuss caching in Go. What are caches, hit rates, admission policies, and why do they matter? How can you get started using a cache in your applications?
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:KubeCon + CloudNativeCon – The Cloud Native Computing Foundation’s flagship Kubernetes community conference which gathers adopters and technologists from leading open source and cloud native communities. Learn more and register — get 10% off with the code KCNACHANGELOG19 Feel free to use the Convince Your Boss letter in part or in full so you can your team can attend.
TeamCity by JetBrains – Build and release your software faster with TeamCity — a self-hosted continuous integration and delivery server developed by JetBrains. TeamCity is super-smart at running incremental builds, reusing artifacts, and building only what needs to be built, which can save over 30% of the daily build time. Learn more at teamcity.com/gotime.
Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:Manish R Jain – Website, GitHub, XKarl McGuire – GitHub, XJon Calhoun – Website, GitHub, XJohnny Boursiquot – Website, GitHub, XShow Notes:
ristretto - a high performance open source Go cache
caffeine - a high performance caching library for Java that was part inspiration for ristretto.
TinyLFU - a paper discussing a highly efficient cache admission policy adopted in many modern high performance caches
BP-Wrapper - a paper discussing a way to improve lock contention for caches and databases
Something missing or broken? PRs welcome!

Oct 9, 2019 • 1h 6min
On application design
Mat is joined by Peter Bourgon, Kat Zień, and Ben Johnson to talk about application design in Go — principles, trade-offs, common mistakes, patterns, and the things you should consider when it comes to application design.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:KubeCon + CloudNativeCon – The Cloud Native Computing Foundation’s flagship Kubernetes community conference which gathers adopters and technologists from leading open source and cloud native communities. Learn more and register — get 10% off with the code KCNACHANGELOG19 Feel free to use the Convince Your Boss letter in part or in full so you can your team can attend.
TeamCity by JetBrains – Build and release your software faster with TeamCity — a self-hosted continuous integration and delivery server developed by JetBrains. TeamCity is super-smart at running incremental builds, reusing artifacts, and building only what needs to be built, which can save over 30% of the daily build time. Learn more at teamcity.com/gotime.
Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:Peter Bourgon – GitHub, XBen Johnson – Website, GitHub, XKat Zień – Website, GitHub, XMat Ryer – Website, GitHub, LinkedIn, XShow Notes:
Standard Package Layout
Context matters on how you lay out your project
We need an it depends Gopher in Gopher slack
Standard Go Project Layout ~> golang-standards/project-layout
xkcd on Standards
Latency numbers every programmer should know
Write code that is easy to delete, not easy to extend.
Modern software over-engineering mistakes
Rethinking classical concurrency patterns by Bryan C. Mills @ GopherCon 2018
Microservices in Go by Matt Heath @ GOTO 2016
Something missing or broken? PRs welcome!

Oct 3, 2019 • 57min
Security for Gophers
Mat, Filippo, Johan, and Roberto discuss security in Go. Does Go make it easy to secure your code? What common mistakes are Gophers making? What is fuzzing? How can attackers abuse your code if you use the default http mux?
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:KubeCon + CloudNativeCon – The Cloud Native Computing Foundation’s flagship Kubernetes community conference which gathers adopters and technologists from leading open source and cloud native communities. Learn more and register — get 10% off with the code KCNACHANGELOG19 Feel free to use the Convince Your Boss letter in part or in full so you can your team can attend.
TeamCity by JetBrains – Build and release your software faster with TeamCity — a self-hosted continuous integration and delivery server developed by JetBrains. TeamCity is super-smart at running incremental builds, reusing artifacts, and building only what needs to be built, which can save over 30% of the daily build time. Learn more at teamcity.com/gotime.
Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog.
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:Filippo Valsorda – Website, GitHub, Mastodon, XJohan Brandhorst – Website, GitHub, XRoberto Clapis – GitHub, XMat Ryer – Website, GitHub, LinkedIn, XShow Notes:
Go Playground example #1 - this demonstrates the sql safety pattern that Roberto mentions in the episode.
Go Playground example #2 - this demonstrates the stringer pattern mentioned by Roberto to avoid printing passwords out in logs.
go-fuzz package - a package for generating random inputs for your code.
So you want to expose Go on the Internet - although this needs updating, it was written by Filippo to help others tackle the challenge of securely exposing Go services to the internet.
Something missing or broken? PRs welcome!

Sep 25, 2019 • 1h 6min
Creating the Go programming language
Carmen and Jon talk with Rob Pike and Robert Griesemer (the creators of Go) about its origins, growth, influence, and future. This an epic episode that dives deep into the history and details of the how’s and why’s of Go, and the choices they’ve made along the way in creating this awesome programing language.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:KubeCon + CloudNativeCon – The Cloud Native Computing Foundation’s flagship Kubernetes community conference which gathers adopters and technologists from leading open source and cloud native communities. Learn more and register — get 10% off with the code KCNACHANGELOG19 Feel free to use the Convince Your Boss letter in part or in full so you can your team can attend.
TeamCity by JetBrains – Build and release your software faster with TeamCity — a self-hosted continuous integration and delivery server developed by JetBrains. TeamCity is super-smart at running incremental builds, reusing artifacts, and building only what needs to be built, which can save over 30% of the daily build time. Learn more at teamcity.com/gotime.
Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:Rob Pike – GitHub, XRobert Griesemer – GitHub, XCarmen Andoh – GitHub, XJon Calhoun – Website, GitHub, XShow Notes:
golang.org
The Changelog #3: The Go programming language from Google with Rob Pike
Something missing or broken? PRs welcome!

Sep 20, 2019 • 1h 15min
Hiring and nurturing junior developers
Johnny, Carmen, Jon, and returning guest Stevenson Jean-Pierre talk about hiring engineers with a focus on junior roles. Why do we keep running into these ridiculous job listings that nobody could ever live up to? What benefits do junior developers bring to the team? Why don’t teams put more focus on developing junior engineers? What can we do better?
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog
X-Team – The world’s most energizing community for developers. We’re looking for Go developers to join the community and get energized. Join us at x-team.com/join
strongDM – Manage access to any database, server, and environment. strongDM makes it easy for DevOps to enforce the controls InfoSec teams require.
GitPrime – GitPrime helps software teams accelerate their velocity and release products faster by turning historical git data into easy to understand insights and reports. Ship faster because you know more. Not because you’re rushing. Learn more at gitprime.com/changelog.
Featuring:Stevenson Jean-Pierre – GitHub, XJohnny Boursiquot – Website, GitHub, XCarmen Andoh – GitHub, XJon Calhoun – Website, GitHub, XShow Notes:
Why Women Don’t Apply for Jobs Unless They’re 100% Qualified - a look into why women and POC will apply to fewer job listings.
Career Development at Gitlab - an example of a company doing a better job with their career dev framework.
100 Days of Code - a way to help make yourself more accountable while improving as a junior developer
Engineer vs Programmer - a talk about the differences between an engineer and a programmer
Something missing or broken? PRs welcome!

Sep 11, 2019 • 55min
Generics in Go
Mat, Johnny, Jon, and special guest Ian Lance Taylor discuss generics in Go. What are generics and why are they useful? Why aren’t interfaces enough? How will the standard library change if generics are added to Go? How has the community contributed to generics? If generics are added, how will this negatively affect the language?
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:KubeCon + CloudNativeCon – The Cloud Native Computing Foundation’s flagship Kubernetes community conference which gathers adopters and technologists from leading open source and cloud native communities. Learn more and register — get 10% off with the code KCNACHANGELOG19 Feel free to use the Convince Your Boss letter in part or in full so you can your team can attend.
GoCD + Kubernetes – With GoCD running on Kubernetes, you define your build workflow and let GoCD provision and scale build infrastructure on the fly. GoCD installs as a Kubernetes native application. Scale your build infrastructure elastically. Learn more at gocd.org/kubernetes
Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:Ian Lance Taylor – Website, GitHub, XMat Ryer – Website, GitHub, LinkedIn, XJohnny Boursiquot – Website, GitHub, XJon Calhoun – Website, GitHub, XShow Notes:Contracts proposal from Ian Lance Taylor and Robert Griesemer
Something missing or broken? PRs welcome!

Sep 4, 2019 • 1h 20min
LIVE from Gophercon UK
LIVE from LondonGophers as part of GopherCon UK! Mat Ryer, and Mark Bates were joined by Liz Rice, Kat Zień, Gautam Rege to talk about the magic in Go’s standard library. Huge thanks to the organizers of LondonGophers and GopherCon UK for making this possible.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog
X-Team – The world’s most energizing community for developers. We’re looking for Go developers to join the community and get energized. Join us at x-team.com/join
KubeCon + CloudNativeCon – The Cloud Native Computing Foundation’s flagship Kubernetes community conference which gathers adopters and technologists from leading open source and cloud native communities. Learn more and register — get 10% off with the code KCNACHANGELOG19
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:Liz Rice – Website, GitHub, XKat Zień – Website, GitHub, XGautam Rege – Website, GitHub, XMat Ryer – Website, GitHub, LinkedIn, XMark Bates – Website, GitHub, XShow Notes:
LondonGophers
Gophercon UK
Go compiler intrinsics
r/golang ~> The init function
Watch this on YouTube
Something missing or broken? PRs welcome!

Sep 3, 2019 • 1h 5min
Serverless and Go
Johnny, Mat, Jaana, and special guest Stevenson Jean-Pierre discuss serverless in a Go world. What is serverless, what use cases is serverless good for, what are the trade offs, and how do you program with Go differently in the context of serverless?
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Sponsors:Linode – Our cloud server of choice. Deploy a fast, efficient, native SSD cloud server for only $5/month. Get 4 months free using the code changelog2019. Start your server - head to linode.com/changelog
Datadog – Cloud monitoring as a service. See inside any stack, any app, at any scale, anywhere. Datadog is cloud-scale monitoring that tracks your dynamic infrastructure and applications. Plus next-generation APM. Monitor, troubleshoot, and optimize end-to-end application performance. Start your free trial, install the agent, and get a free t-shirt!
X-Team – The world’s most energizing community for developers. We’re looking for Go developers to join the community and get energized. Join us at x-team.com/join
Fastly – Our bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.
Featuring:Stevenson Jean-Pierre – GitHub, XJohnny Boursiquot – Website, GitHub, XMat Ryer – Website, GitHub, LinkedIn, XJaana Dogan – Website, GitHub, XShow Notes:
Kubeless - The Kubernetes native serverless framework
Knative - Building blocks that simplify how you deploy and run functions atop Kubernetes and Istio. On any cloud.
This tweet from Kelsey Hightower - “In less than 15 minutes I was able to open a new @zeithq account, install the Now cli, create a Go function, link it to GitHub, deploy it, and hit it with curl. 🤯 If this is the direction general compute is headed, count me in.”
This tweet from Ian Molee - “Watch me code, deploy, and exercise a “serverless” Go function in about a minute, using @zeithq zero-config. In 2-3 years remember @jessfraz told us about #configless in 2019!”
Something missing or broken? PRs welcome!

Aug 27, 2019 • 27min
The infrastructure effect: COBOL and Go
We partnered with Red Hat to promote Season 3 of Command Line Heroes — an original podcast from Red Hat, hosted by Saron Yitbarek of CodeNewbie, about the people who transform technology from the command line up. It’s an awesome show and we’re huge fans of Saron and the team behind the podcast, so we wanted to share it with you.
Learn more and subscribe at redhat.com/commandlineheroes.
Join the discussionChangelog++ members support our work, get closer to the metal, and make the ads disappear. Join today!Featuring:Chris Short – Website, GitHub, XRitika Trikha – LinkedIn, XCarmen Andoh – GitHub, XKelsey Hightower – GitHub, XSaron Yitbarek – Website, GitHub, XShow Notes:Check the show notes and transcript for more details.
Languages used for IT infrastructure don’t have expiration dates. COBOL’s been around for 60 years—and isn’t going anywhere anytime soon. We maintain billions of lines of classic code for mainframes. But we’re also building new infrastructures for the cloud in languages like Go.
COBOL was a giant leap for computers to make industries more efficient. Chris Short describes how learning COBOL was seen as a safe long-term bet. Sixty years later, there are billions of lines of COBOL code that can’t easily be replaced—and few specialists who know the language. Ritika Trikha explains that something must change: Either more people must learn COBOL, or the industries that rely on it have to update their codebase. Both choices are difficult. But the future isn’t being written in COBOL. Today’s IT infrastructure is built in the cloud—and a lot of it is written in Go. Carmen Hernández Andoh shares how Go’s designers wanted a language more suited for the cloud. And Kelsey Hightower points out that languages are typically hyper-focused for one task. But they’re increasingly open and flexible.
Something missing or broken? PRs welcome!