My Experience Learning Go (Golang)
My Experience Learning Go (Golang)
I come from a Java background, so when I started learning Go, I wasn’t sure how different it would feel. I took a Udemy course that walked through the basics—variables, functions, structs, interfaces—and I was surprised by how approachable it all was. The language just made sense.
I picked up Go because I kept running into it. A lot of SRE and DevOps job postings mention Go, and tools I use regularly, like Terraform providers and the OpenTelemetry Collector, are written in it. I wanted to get better at understanding what’s happening behind the scenes—especially when something breaks. Being able to dig into the source code and actually make sense of it has been a game changer.
What stood out to me is how much Go favors simplicity. There’s no clutter. No unnecessary complexity. Coming from Java, the lack of classes or inheritance felt odd at first, but I quickly got used to using interfaces and composition instead. It felt more natural the more I used it.
I’ve built a few small tools to parse logs or hit APIs, nothing huge yet, but enough to see how powerful and fast Go can be. Even early on, I felt like I could actually get things done without wrestling with the language.
Recently, I started a new project and decided to use Go as the backend. So far, I’ve made great progress. It’s been rewarding to apply what I’ve learned in a real-world scenario and see everything come together—from setting up the project structure to writing endpoints and handling data. It’s reinforcing everything I picked up from the course and giving me a deeper understanding of the language.
If you’re working in infrastructure or want to understand the tools you're already using a bit better, Go is definitely worth learning. It’s helped me connect the dots and feel more confident in my day-to-day work.