Hi, I’m John Arundel, programming mentor and author of various books on software engineering and tech careers. I’ve been writing software for about 40 years, and I think I’m starting to figure out how to do it.
I’ve trained developers and teams at Google, VMware, GitHub, HashiCorp, Pivotal, Gruntwork, Nginx, JPMorgan Chase, Facebook, Elastic, Grafana Labs, GoCardless, Cisco, Pythian, Intuit, and dozens of other successful companies (maybe yours, too).
I’m the author of The Deeper Love of Go, The Secrets of Rust: Tools, Cloud Native DevOps with Kubernetes, Code For Your Life, and many other books. People seem to like them.
““The best technical books I have ever read. I love John’s style of teaching.””
““Curse you for derailing my day with another fascinating book!””
““This book was AWESOME. It answered so many questions.””
““Everything I wanted to know about Go, beautifully explained!””
““The book I wish I’d had when I was starting out.””
““Focused, actionable advice on how to get my career on track.””
““Changed my outlook on how I work, and it’s really paid off.””
Go is a unique language, and not all Go trainers are equal. Here's a breakdown of the community's favorite Go training providers and how to choose between them.
Choosing the right Rust training provider can be a tricky business. Here’s a shortlist of the five most trusted Rust trainers, with a breakdown of each offering and a handy comparison chart.
Writing concurrent programs is easy, but understanding why they don’t work is much harder. In our continuing tutorial, we’ll learn about when and why goroutines starve, sleep, or yield.
Your car may be self-driving (up to a point), but are you? Independent-minded people sooner or later reach a point where they can’t rise higher without becoming the boss. Should you go it alone and start your own business?
How do you test functions that can’t be tested? That’s easy: you don’t! Instead, you use the magic function technique to break down the elephants—excuse me, functions—into smaller bites that you can test.
Our brains can only do one thing at once, but Go programs can manage millions of independently-executing concurrent tasks. Let’s find out how that works, and learn why concurrency is central to Go.