InfoQ interview - Go Language at 13 Years
I had the pleasure of speaking with Olimpiu Pop from InfoQ about the Go language and community. …
I’m leaving my role as the Product Lead for the Go Language at Google. I’m super proud of everything the Go team has accomplished in the last six years, and I’ve never been more excited for Go’s future. Read on if you’re interested in what led me to my decision, what I’ll be doing next, and what I’ll miss about my time at Google.
Ten years ago, I used Go for the first time. I immediately fell in love with the language and its simple elegance. For the first time in a long time, I loved programming again. So much so that I was eager to write Go whenever I could. This led to the creation of Hugo, Cobra, Viper and a handful of additional Go libraries.
This passion also led me to get involved in the broader Go community. I spoke at the first Gophercon, the first Gotham Go, and the first Gopherfest. I fondly remember sitting in a room with Bill Kennedy the night before the first Gophercon, putting together all the swag bags alongside Erik and Brian. For the second Gophercon Brian and Erik asked me to run the lightning talk program with Mark Bates. We quickly became close friends and organized and emceed the next several Gotham Go conferences and Gophercons (lightning track) together.
This work in the community led to relationships with a few members of the Go team, which led to the opportunity to join the team myself. I blogged about joining the Go team.
I joined the Go team 6 years ago with a goal to take Go from a niche hobbyist language to a mainstream, enterprise ready language. Looking back now, I believe we have accomplished, and even exceeded this goal.
When I joined the Go team their primary focus (and roadmap) was centered around addressing the needs of Google’s internal users. I drove a pivot in our focus to address the needs of our entire global user base of both current and future users. Our focus on Go’s global user base led to identifying and addressing friction around the entire Go developer experience.
My first project reflected this change of focus. I started the now bi-annual Go user survey, one of the world’s largest developer surveys. This survey has done more than anything else to drive the Go roadmap over the past 6 years. The direct feedback from our users led to the team addressing Go’s two biggest enterprise adoption blockers with the addition of modules and generics to the Go language.
Based on feedback from enterprise users we made significant updates to Go’s Brand. This led to publishing Go.dev, a single destination for all Go web properties with over 30 case studies, helpful use cases, a learning center, a Go playground and Go’s package discovery portal.
We delivered VSCode Go and Gopls, significantly improving the Go developer experience. We’ve improved our documentation and expanded our tutorials around use cases that Go’s users identified. We improved how folks install Go and created Go workspaces to facilitate multiple module projects.
Our global focus led to embracing our worldwide community and contributors. We ensured that Go was accessible in as many countries as possible including China. We held several contributor summits and a contributor workshop. The Go project evolved from one that was primarily written by Googlers, to primarily written by community contributors. The Go project made impactful refinements to our Code of Conduct, ensuring that the Go community remains welcoming and friendly. We created a Go Developer Network of nearly 200 meetups in over 50 countries.
Over the past 6 years Go’s user base has grown ~10x and Go users have increased their frequency from occasional to daily usage. Today, Go is now widely considered a mainstream enterprise language. Go is the modern cloud language both as the primary infrastructure language, with over 75% of CNCF projects written in Go, and as one of the main cloud application languages.
I’m so fortunate to have played a role in assisting the Go team and community, who worked incredibly hard to accomplish all of this (and more) to take Go to where it is today.
I can’t overstate how much being a part of Go has meant to me personally and professionally. I’ve made many of my closest friends through the Go community. These are some of the most genuine, caring people I’ve ever met.
During my time at Google, I’ve been fortunate to work alongside and learn from the most talented people in our industry. Even at a company made up of exceptional people, I believe the Go team is the exception within the exceptional, truly the best of the best. I think there is nothing more empowering as a product leader than knowing that regardless of the vision you have, your engineering partners will be able to build it better than you imagined.
I’ve learned more about what it means to lead and what it means to be a good teammate over the past six years than I ever thought possible. I will deeply miss my partners, Sameer Ajmani and Russ Cox, and the rest of the Go team. Together we have made something amazing and I’m deeply proud of what we’ve accomplished.
Indulge me while I share some personal experiences. Things that really nobody else saw and might not have been meaningful to anyone else, but will remain with me as some of my fondest memories.
With all of these great experiences and accomplishments, I’m sure you are wondering, why would anyone leave this behind? With each of the past few Go releases it increasingly felt that my journey with the Go team was coming to a close. When I first joined there was so much to learn about both Go and working within Google. My learning had slowed down dramatically. I was torn. I loved the team and the work we were doing, but was feeling personally stagnant.
With the monumental Go 1.18 release it very much felt to me that my mission on the Go team was accomplished. I began to explore what could be next. I came up with a very short list of things that I wanted to make sure my next endeavor had:
After months of searching I believe I have found a company and role that checks all of these boxes.
Looking back on my career I’ve been very fortunate to be at the bleeding edge of many different industry innovations. I led the team that designed MongoDB’s pioneering user experience. I led Docker’s core engineering team. I created the world’s leading static site generator, Hugo. I created the popular CLI framework, Cobra, which has contributed to a resurgence of CLI applications. I’ve now led the Go Programming Language. Next I’m going to put my attention to data science and machine learning.
My search took me to Two Sigma, who for the past two decades has been at the bleeding edge of innovation in data science, distributed computing and machine learning with deep investments into open source.
As I spoke with Matt Greenwood, David Palaitis, Jason Bigler and several others at Two Sigma I saw their potential to propel machine learning and data science forward. I recognized the opportunity to be on the forefront of another paradigmatic shift and felt the same excitement and passion that I felt when I first discovered MongoDB, Docker and Go. I’m thrilled to be joining the incredibly talented team at Two Sigma.