The GopherCon Singapore 2018 Experience

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.

https://github.com/ardanlabs/gotraining/tree/master/topics/go

IMG_1143
IMG_1148

[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.

IMG_1164

In the conference, we had the privilege to hear from Russ Cox about vgo during his opening keynote. He also has also explained vgo in his blog. Russ is Tech Lead for the Go Project at Google.

IMG_1175
IMG_1170
IMG_1172

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!

IMG_1200

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 :)

IMG_1178

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! :)

IMG_1184

We also had Katrina Owen of Github. She discussed how the improved an application they developed from within Github.

IMG_1202

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

IMG_1214

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.

IMG_1218
IMG_1223

I also had the opportunity to meet fellow Filipinos during the event. In this pic is one of our speakers, Beverly Dolor of WeWork.
IMG_1228

I also met Andre Tanner, CTO of galleon.ph - who traveled from Manila and attended the event. Also here is my colleague Marvin Pascual and former colleague, Oscar Garcia.
IMG_1198

After the conference, we had the opportunity to meet new friends at the after-party in Erwin's Gastro Bar.

IMG_1242

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!!!

Special thanks to Sau Sheong, Eman Patricio and all my co-volunteers for giving me the opportunity to help with GopherCon Singapore 2018! Cheers!

Me w/ Russ Cox
IMG_1204

Me w/ Bill Kennedy
IMG_1206

Me w/ Katrina Owen
IMG_1211

IMG_1244

Missed the Conference? No worries! engineers.sg covered the event and videos are available in this link. Enjoy! :)

A few speaker decks can be downloaded from github

See you next year!


P.S.
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!