Practicing Go with the Kaiju Defense Network!
In my job search, I noticed a ton of listings for Go developers. I stumbled upon Go back in 2012 because I was a bit of a plan9 fan and learned that Rob Pike was working on the language. I tinkered with Go and I loved it so much that I began introducing it at work. Along the way, I also I started golang-weekly.
Eventually, I handed off the mailing list to an Internet stranger and then it made its way into the hands of Cooperpress at some point. I’m a little proud of that because I was inspired to start the project by being a subscriber to Peter Cooper’s Ruby Weekly mailing list. At the time I found the Ruby variant invaluable and I wanted to see the same spring up for the Go community.
A couple of years later, I flat out stopped using Go. For better or worse, Ruby was being used in my work environment substantially more at the time. Short of writing a few services in the language, I never got the opportunity to build anything large with it and I think I finally quit using it regularly around 2014. I was, however, fortunate enough to review and interface with some Go code in my last job.
Given the heaps of jobs requesting Go proficiency and my interest in the language, I figured I’d build myself a little playground to learn what’s changed over the last decade and re-familiarize myself with the standard library. I have been reading Kaiju No. 8 and I love mega monsters all around so I thought it might be a good theme to work with. So I tried to mix my peanut butter and chocolate by making the Kaiju Defense Network.
This has been substantially more fun than going through tutorials and books. I’m typically a learn-by-reading kind of person but sometimes doing is the best route. I have certainly remembered a lot of little bits while working on this and have had some fun along the way. It also gives me a place to play with new ideas.
At the moment, I hope to refactor some of the functions and extend the test coverage before I start diving into turning each component into individual services or messing with channels/goroutines. I also hope to grow it to be a good dummy project for infrastructure tinkering in the homelab. For now it’s served its purpose as a memory jogger and I’m pleased with the results.
Bonus footnote: I believe this qualifies as post 004 #100DaysToOffload, which is going to take substantially longer than a year at this rate…