A few months back, I started my journey to learning Golang. I started with Tour of Go, watched videos of Todd McLeod in Youtube, and tried out examples I find in the web. I thought of sharing all these learning to anyone who wanted to learn Golang so I blogged about it here.
I only learn Go during my spare time, mostly during the weekends if we don't have any deployment or support activity at work. At some point, I felt this void and knew something was missing. Since most of my colleagues and friends were not into Go yet, I didn't have anyone to share and discuss my ideas. This was the same feeling I had around 15 years ago when I was starting with Java. During that time, the Philippine Java community was not active so I started PinoyJUG - a community of Filipino developers who wanted to be good at Java.
Internally, I figured that I had to do something about this feeling I had! So, I searched if I can find any community which I can share my ideas and learnings and hopefully learn from developers who are already adept with programming in Go. Not sure if it was a coincidence but my friend told me that GopherCon Singapore 2018 was coming up. I wanted to volunteer and help. Thankfully, my friend Eman, was part of the organizers and introduced me to the group. So I joined the next all-hands(meeting of organizers to plan for the event) when I was free. First all-hands was alright, I volunteered to help in the workshops even though I didn't know what to do to help out - ha ha! Anyway, they informed me that help was required on workshop days itself. It was good, I was excited!
GopherCon Singapore 2018 had a few activities. 2-day workshops on May 2 to 3 and on May 4, it was the conference day.
Speaker for the 2-day workshops was Bill Kennedy of Ardan Labs. He did a workshop for beginners "Go Fundamentals" and "Ultimate Go" for advanced Go developers. Bill was really good and he really spent time in explaining how to do things right with Go. Since Go is natively compiled, he also spent time explaining low level topics like CPU caches. In "Go Fundamentals", he spent significant time in explaining value and pointer semantics which I believe is essential to know especially for those who are using programming languages which do not have pointers. He shared so many information and I'm sure, like me, other attendees are overwhelmed. All information he discussed are in his github repo.
[Conference Day - 4th May]
Our speakers for this year's conference were from Google, Github, GoJek, SP Digital, WeWork, Heroic Labs, Ordermentum, and Loom Networks.
We started the conference with Sau Sheong's welcome address. He shared interesting insights about last year's GopherCon. Last year, there were around 100 attendees and this year it was tripled - 300+ attendees! This definitely shows the increasing popularity of Go in the software development scene.
This is also my favorite of all the things Russ said! (as tweeted by Sau Sheong)
Bill Kennedy also gave a talk about "Optimizing for Correctness". Like what he said, anyone can be affected by the software we develop - can even cost a life - so we should do be mindful of the software we develop and do it right!
We also heard from Hana Kim - a member of the Go team in Google. She discussed how to understand Go programs using built-in tools in the Go toolkit. Really amazed by Hana's technical talk. Really love seeing a lot of tracing tools and profiling tools built-in with Go. Apologies with the pic as I was too engrossed listening to her talk :)
Steve Kruger of Grab, had an interesting talk about the journey with Go. Here's a glimpse of what can be done in 3 years, amazing! That's from 50K nodejs lines of code to 0! We can see a pattern here. Not sure if nodejs developers should be worried! :)
We also had Katrina Owen of Github. She discussed how the improved an application they developed from within Github.
Yeo Kheng Meng of SP Digital discussed how compilers can be compromised, very cool. Key takeaway is - Never trust anyone but yourself! ha ha! :D
In the closing keynote, Ajey Gore, Go Jek's Group CTO, shared insights about the culture and values in GoJek. Other organizations can definitely learn from what they are currently doing.
I also had the opportunity to meet fellow Filipinos during the event. In this pic is one of our speakers, Beverly Dolor of WeWork.
After the conference, we had the opportunity to meet new friends at the after-party in Erwin's Gastro Bar.
It was a tiring but fun day for me. I am seeing some momentum in Golang adoption and this is definitely refreshing. It is also humbling since I can see that I have tons of catching-up to do. There is so much more to learn!!!
A few speaker decks can be downloaded from github
See you next year!
For updates, you can follow my blog and Twitter @donvito. Most of my tweets are about Docker, Kubernetes, GoLang, Cloud, DevOps, Agile and Startups. I also share code in my GitHub. If you want to know more about what I do, please add me in LinkedIn. I recently started a new youtube channel - I upload some tutorials there. Check it out!