Interview with Audrey Lim developer evangelist at Nitrous.IO, Singapore
Audrey Lim would be talking at GopherConIndia 2016.
Qs. Welcome and thanks for taking out time to share your thoughts. For the benefit of the readers, could you tell us something about yourself?
Audrey: I picked up front-end programming in April 2014 before teaching myself Go in July 2014. Before that, I read law in college and practised law for a while. So I’m very new to programming and Go.
Qs. Why and when did you decide to start working with Go?
Audrey: I started with Go as my first backend language. It was the first backend language I really built anything with and that taught me many programming concepts along the way. I fell in love in Go quite early on, and since it was such an effective teacher to me, I stuck with it for a while (still using it). I spoke about this at the recent GopherCon 2015 in Denver.
Qs. How should one go about learning the Go language? What material (books, eBooks, online tutorials etc.) would you recommend?
Qs. What best practices are most important for a new Go developer to learn and understand?
Audrey: Go’s emphasis on composition make using Go very enjoyable. “gofmt” takes care of formatting best practices. I think it also helps if you come from a completely fresh perspective so you don’t have to unlearn old habits and adjust to Go’s way of doing things. It helps you to tap into Go’s teaching potential better. So it’s perfectly fine if you happen to be new and learning Go because being a fresh programmer can be a good thing, with Go.
Qs. Which areas in Go should a would-be Go developer concentrate on, in your opinion?
Audrey: When I was a beginner to programming and learning Go everything that was conveyed through Go seemed so interesting to me. Runes, signed / unsigned integers, floating points, buffered I/O — I learned these concepts quite early on because without having a curriculum to follow, it was Go that introduced them to me and guided me.
I also came across interfaces and Go’s concurrency primitives, two of Go’s distinctive features, early on but at that time they were very strange creatures to me so I only properly looked at them much later on. I’m still learning a lot about them.
So I’d think that if you’re coming to Go as a fresh programmer you can just be open to all that Go can teach and come back to more complex concepts like interfaces and concurrency if you find that hard to understand at the beginning.
Qs. What are the pros and cons of Go that are being discussed in the development community and what is your opinion on that?
Audrey: Simplicity being the broad, and obvious pro. I’ve found this simplicity being translated to readability when I had to study both Go code and a dynamic language’s codebase. It strikes me that the Go code was much more readable and easier to follow and understand. I think that contributes to what simplicity is about.
Qs. What has been your biggest challenge while working with Go?
Audrey: Not having enough resources to refer to. I think Go has fantastic documentation. I like the way documentation is organised on golang.org. You easily find what you need and explanations are to the point. The best part about golang.org is that all the essential documentation is housed in one location so you don’t have to go to several resources to find what you need. Well, I go to gobyexample.com for the examples when I can’t find them on golang.org, but that’s separate from the essential documentation.
The problem I have with the documentation is that there isn’t enough of it in two ways: documentation that is geared towards new developers as well as finding that documentation doesn’t exist for some packages.
Qs. How do you see the market for Go Programmers in the work place? What is the future for Go?
Audrey: I joined Nitrous.IO as a developer evangelist in March 2015 where I get to code in Go. It looks promising.
Qs. How excited are you about GopherConIndia 2016?
Audrey: Super. I’m always excited to meet fellow Gophers. This would be my second time at a Go conference. I’m looking forward to it.
Qs. Do you have any other suggestions for our readers?
Learning Go opened up a new world for me. There’s a lot to discover in programming — if you use Go as a medium for that discovery you never know the places it may take you.
Thank you Audrey, for sharing your views with us. I am confident that your insights would help all the would-be Go developers. In case you have any queries and/or questions, kindly leave a note here and Audrey would be glad to answer.