Jakub Jarosz

Security, Systems & Network Automation

The Best Way To Get Started Learning About Test-First Program Design

2025-01-10 Atomic Essay

I love designing Go programs in small steps using a test-first approach.

When I first became interested in designing Go libraries using a test-first approach, I had a hard time figuring out where to start. Go seemed to have a simple syntax and a clearly defined way of accomplishing certain tasks. But after years of programming in Python, I felt lost. Simplicity was complicated. It truly was—until the moment when everything clicked in my brain—just like that!

So, if you are trying to learn more about test-first design, here’s the best way to get started:

Read “For the Love of Go” by John Arundel if you are new to programming. It will introduce you to the wonderful world of making computers do what you want. As a bonus, you will learn test-first design fundamentals.

Read John Arundel’s “The Power of Go: Tests” and “The Power of Go: Tools”. You will exercise your brain in a way you have never done before. Warning: You can get addicted to Go, its simplicity and its beautiful, straighforward way to write elegant programs that delight users and fellow programmers.

Watch Bill Kennedy’s YouTube video: “Prepare Your Mind”. It’s a must-watch video for anyone coming to Go with some experience programming in another language.

These four resources will accelerate your learning process, set your mindset, and help you learn and discover new ways of writing efficient, simple and readable programs in Go.