preface

preface

 

Around a decade ago I was staring at my career wondering what direction I should be going. I was a Java developer at the time, and somewhere along the way it hit me: Java was already 20 years old. Did I want to do that for the rest of my career and end up like a COBOL developer? I started digging around and stumbled across Go. I was immediately struck by how simple it was, how everything you needed seemed to just be there. Looking at the books available at the time, I landed on the first edition of Go in Action, and that was the game changer.

Java had taught me a lot, though I didn’t fully appreciate it until I left that world. Years of working in it gave me a real sense of what I cared about in code: Could I test it? Could I catch errors at compile time? Could I understand my code six months after writing it? Testability, type safety, legibility. Those principles stuck with me because Java punished you when you ignored them.

What Go did was let me hold onto all of that and throw out everything I hated. No application context. No Spring Boot annotations decorating every class with magical macros that required digging to fully understand. I could write a small, testable, type-safe service with the standard library and just run it.