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 discussion
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 – GitHub, X
- Ben Johnson – Website, GitHub, X
- Kat Zień – Website, GitHub, X
- Mat Ryer – GitHub, LinkedIn, Bluesky, X
Show Notes:
Standard Package LayoutContext matters on how you lay out your projectWe need an it depends Gopher in Gopher slackStandard Go Project Layout ~> golang-standards/project-layoutxkcd on StandardsLatency numbers every programmer should knowWrite code that is easy to delete, not easy to extend.Modern software over-engineering mistakesRethinking classical concurrency patterns by Bryan C. Mills @ GopherCon 2018Microservices in Go by Matt Heath @ GOTO 2016Something missing or broken? PRs welcome!