Wednesday, August 22, 2018

resources for learning Golang for professional developers

I'm re-learning Go. I've been a professional developer for a long time and have delivered production software in 10+ languages, so mastering one more language is really, really not a big deal :)

However, learning in 2018 can be bumpy, there's tons of noise and distractions. My normal practice for learning is "buy three books and build a project". Books are written and edited by experienced people, have a through-line to aid understanding, and have a consistent tone. Books have errors, that are fixed with published errata. Books are great.

My current best spot for tech books is O'reilly Safari Books. It's $40/month, and has zillions of books and training videos! (225 are on Golang)

If you're a professional developer you don't need to spend two chapters on variables and types and for loops and such. An excellent "get dropped in the weeds and learn" tool is a Cookbook -- a dense catalog of small, real-world programs. For Golang, I'm reading "Go Cookbook" by Aaron Torres, Packt Publishing. I've read other Packt books and find they're clear and dense enough to chew into. (The Python Cookbook by Jones and Beazley is spectacular. After programming Python for 20 years I still found new things to learn every few pages.)

Here are other, high quality, free resources for learning Go if you're already a developer:

https://golang.org/doc/effective_go.html - valuable introduction to the "Go"-ness of the language, compared to C.

http://www.javiersaldana.com/tech/2015/01/22/loose-coupling-in-go-lang.html - Saldana has a number of small practical idiomatic Go programs, used as a discussion of larger programming design patterns.