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.

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.

Leave us a comment

Changelog++ 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 – Twitter, GitHubBen Johnson – Twitter, GitHub, WebsiteKat Zień – Twitter, GitHub, WebsiteMat Ryer – Twitter, GitHub, LinkedIn, Website

Show 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!

Twitter Mentions