Today I've published my first eBook on Go called "Everyday Golang". I wanted to share the news with you, what to expect and a bit about the story behind it.
How did I learn Go?
If you've ever searched for "Golang unit-testing", then you may have found one of my tutorials or videos about Go. I started my journey with the language in around 2015, when I had a strong interest in contributing to and learn about Docker.
As I learned, I noticed that my Go started off looking like the last language I'd used, but over time it improved. Sometimes it was not comfortable being told "Your code is not idiomatic", but it only spurred me on.
Most of what I learned was through trial and error, or reading other codebases, but I also list books that I found helpful at the time.
There are various blog posts I've published that get a lot of hits, but they were never about teaching the fundamentals like structs and variable types. They were practical and served a purpose. Oftentimes the purpose was to help onboard new open source contributors, or to publish something I had learned.
Everyday Go is a fast-track for learning concepts and techniques that you can apply to your everday day work and projects.
Why write a book?
A sample from the ePub version, displayed on my MacBook.
You may ask who I am to write a book on Go. I certainly haven't worked at Google, and I haven't spoken at Gophercon, but I do use the language on a daily basis and maintain several popular open source projects used in production by companies small and large.
Some of the more popular examples include:OpenFaaS - Serverless Framework, inlets - network tunnel, k3sup - Kubernetes installer and arkade - Kubernetes marketplace and CLI downloader.
This is now my third eBook having sold 450 copies of Serverless For Everyone Else and a course on Kubernetes on Raspberry Pi. These both taught me lessons about tooling, formats, preferences, pricing and most importantly, that I could write about what I knew, and people would pay money for it.
"..most importantly, that I could write about what I knew, and people would pay money for it."
I started an independent software company to look after the open source projects I mentioned earlier, and my plan is for eBooks to provide some passive revenue between client projects and developing open-core features.
What about pricing?
The base price for this eBook is slightly higher than my previous eBooks. As developers, we often baulk at the idea of paying for something we could learn on our own. It's so easy to confuse price with cost.
Zig Ziglar has an explantion that opened my eyes to the difference between price and cost.
If you're unhappy with the price, then please feel free to take 6 years to learn, test out, write-up and maintain everything contained in the 300+ pages of my new eBook (ePub format).
I would say that over the course of a year or two, the cost would be more than justified on its own, if it only made unit-testing slightly easier, more fun or interesting at work.
I've added a Team edition that works out cheaper, with this tier, a manager, director or team lead can order a copy for five people in their team to use. You can probably put it on your OKRs or MBOs (yearly training goals).
Engin Diri bought 15 copies of my new eBook for the developer community at Schwarz IT. That was a lovely surprise and has got total sales up to 375 copies!
Everyday Go
The title of the book is Everyday Go, but for the sake of SEO and discoverability, you'll also hear it called "Everyday Golang".
It includes my top ranking tutorial on unit-testing, updated and extended, along with many other topics. You'll see examples of Goroutines, channels, HTTP servers, Prometheus metrics, connecting to databases, releasing binaries via GitHub Actions and I'm adding more as I get feedback from readers.
It was very encouraging to see such a strong response when I tweeted about the book for the first time.
Does Alex ever sleep? 😴 He just wrote a Golang book! I had a chance to read an early copy and its really useful, real life content! I liked the testing part the most! 👍
Engin Diri, Developer Advocate @ Schwarz IT
I want to thank everyone who's bought their copy already. I hope you'll enjoy learning, applying and adapting the examples and recipes in your own work.
"Alex is a seasoned pro building software and products with Go. He’s a great communicator. You’ll be in a better place for having learned from his experience."
Jeff Nickoloff, Director Venmo
So who is it for?
These examples and concepts will help you most as you start out on your Go journey, but even if you've been writing Go for a while, you may find that there's a new perspective or technique you didn't know. Even I go back to my material on unit-testing, Goroutines, GitHub Actions and Prometheus metrics.
The way I see it, what's better than a series of well-maintained, up to date and idiomatic examples and patterns that you can copy and paste into new and existing projects to go faster?
The material is available as PDF & ePub by standard, with a Serverless Supplement, Code samples (ZIP file) and a Team edition available separately.
If you buy a copy and aren't fully satisfied for some reason, then I'm open to feedback so that I can improve the material for everyone else. All the topics are listed precisely, so that you know exactly what to expect from the book.
Browse the table of contents and read the testimonials from customers:
Did you know? GitHub Sponsors with access to the Treasure Trove can get 20% off all of my eBooks.
You may also like
- My first eBook launch - results & feedback (10k USD in 27 days)
- I wish I'd self-published sooner
- My OSS projects (mostly written in Go)
If you'd like to talk about training your team or migrating to Go, feel free to reach out over email to: alex@openfaas.com.