Yeah. First of all, when you’re getting paid to do something other than Go all day, it’s really hard to say — it’s the weekend, the kids are outside playing and you’re like “No, but I’m gonna go read a book and then go through some coding exercises.” So figuring out ways to sneak in using Go when someone’s paying you – in my opinion that’s kind of the trick. No one at Rackspace set out to pay me to do stuff with Go, I just kind of asked for forgiveness later, and tried to pick off things that weren’t critical to our business path. It was a safe kiddie pool for me to learn Go. So what I kind of picked off was a Bash script.
[00:24:22.26] The nice thing about that – you’ll find the little scripts. Usually every team has dev tools, little things that help their CI along, or commit hooks, things like that… They’re usually written in Bash, or Python, or something like that, and the beauty of it is someone already wrote it; they’ve identified something, you know exactly how it works, and all you have to do is the port. You have to just figure out how to convert Bash or Python to Go. You don’t have to come up with a revolutionary idea, you don’t have to rewrite a to-do list or whatever (name something like that). Or a Slack bot is another good one. I mean, even if you just make a silly one…
One of the Women Who Go made a Slack bot that you could say Welcome to someone to the Women Who Go channel, and it would go to gopherize.me and make them a custom gopher. Those are all just like nice, little things you can do, and usually you can sneak that into your day job to try out Go and do things with it, and it’ll kind of get more people working on things, because you know, someone next to you wrote something in Go, and then you see that, it gets checked in, you start using it, and then someone else on your team might pick it up, and that kind of helps give legitimacy and momentum to what you’re doing, instead of just “I’m the random person who really wants to play with the shiny things.” Instead of it being a shiny thing, you’re using it to get stuff done on the job.
You could say, like, books and things like that… I definitely am reading things as I go, but it’s just not how I work. How did I learn Go? I didn’t read a book, I didn’t do anything; I literally just looked at the language spec, looked at the Bash script I had to work off of, and just ported the Docker version manager over and said “Now I know Go.” I didn’t know Go at the end of the weekend, but I really felt like I did, and that was a win.