Leaving Google

I’ve left Google after working there for 19 years.

For most of that time I’ve been fortunate in being able to work on the Go programming language. Go was started by Rob Pike, Ken Thompson, and Robert Griesemer in the fall of 2007. I joined the team in June, 2008, about the same time as Russ Cox. I’ve been very lucky to be able to work with such remarkable people on such an interesting project.

I am astonished at how much use Go has gotten over the years. Go has reached the status of being just another programming language, one that any programmer can choose when appropriate. That is far beyond what any of us expected in the early days, when our best hope was that Go might serve as an example for useful ideas that other languages and programming environments could adopt.

I started on Go by adding a Go frontend to the GCC compiler. The Go project already had a compiler, of course, based on the Inferno C compiler. Having two compilers helped ensure that the language was clearly defined. When the two compilers differed, we knew that we had to clarify the spec and figure out what the right behavior should be.

In general my self-appointed role on the Go team consisted of tracking everything I could about the project and looking for areas that needed help. Among other things in the earlier years I added Go support to Google’s internal build system, and to the SWIG tool. For a couple of years I was the team manager. From the first days of Go people asked for support for some sort of generics or type parameterization; working with Robert Griesemer I developed a series of language change proposals, and generics were added to the language in the Go 1.18 release in 2022.

My approach had its good points and its bad points. I was quick to see the problems that people were running into today, and the problems they would run into tomorrow, and I was often able to get those problems addressed. But I was slow to see the ideas that would help people do new things that they weren’t trying to do and thus weren’t missing, things such as the Go module proxy and the Go vulnerability database.

Overall I think my approach was a good one in helping to build a successful project. But Google has changed, and Go has changed, and the overall computer programming environment has changed. It’s become clear over the last year or so that I am no longer a good fit for the Go project at Google. I have to move on.

I’m still interested in Go. I don’t think that the language is done. I don’t think that any programming language is ever done–the programming environment changes all the time, and languages must evolve or die. That is doubly true for a language like Go that comes equipped with a substantial standard library, one that must adapt to the new needs of programmers.

I will be taking a break for a while, but I hope to be able to contribute to Go again in the future.


Posted

in

by

Tags:

Comments

8 responses to “Leaving Google”

  1. Laurent Avatar
    Laurent

    Dude, fantastic work on go … but wtf… shame on you for hosting your blog on this ad ridden nightmare of a site… please fix… it’s not a good look

  2. Ian Lance Taylor Avatar

    Yeah, looks like the ads have gotten pretty bad. I’ve disabled the Google Ads plugin. Thanks for mentioning it.

  3. cuishuang Avatar
    cuishuang

    I was shocked to see the news — I thought you were just taking a long vacation. And I believe the departure is an immeasurable loss to the Go language and its community.

    I’ve often seen your active presence across GitHub, the Go groups, and Gerrit. Your professionalism, patience, and kindness were like a breath of fresh air. Not long ago, I even saw you patiently responding to a student from Iran who was asking how to contribute to Go. In today’s world, where geopolitical tensions and ideological divides are growing, your spirit — transcending nationality and race — is truly admirable.

    Several years ago, I started with a simple contribution, something like fixing a typo. Many maintainers were unsure whether it was worth merging, but you encouraged it — saying that even simple contributions can lead to more meaningful ones down the road. Thanks to that encouragement, I later found and fixed bugs in the standard library with your help, and added new features to the toolchain. Those moments remain some of the brightest highlights of my career.

    Without Ian, I believe the volume and vitality of code reviews in the Go community might be reduced by an order of magnitude. And without your early encouragement, I might never have developed the curiosity and passion of a “language enthusiast” or ventured into deeper exploration.

    Wishing you all the best — and I sincerely hope, after a well-deserved break, we’ll meet again in the Go community.

  4. Alexey Ugnichev Avatar

    Thanks for all the hard work on Go language. It was and always will be inspirational.

  5. […] (2025-05-12): Ian Lance Taylor (via Hacker […]

  6. uflynn Avatar
    uflynn

    Ian,

    Thank you for your contributions to go and to the community. I met you at Gophercon and you were very kind in taking time to talk to me and others about the proposed generic changes to go.

    Like others have commented, your impact and legacy are felt by the community and I really appreciate all of your hard work in making go what it is today. I love go and also agree that it still has room to grow.

    Things are different around computer programming as an industry and many of us feel that. I am hopeful that things will change for the better though we are currently in the midst of lots of churn.

    Enjoy your well deserved break and I look forward to seeing updates on your blog!

  7. Ian Lance Taylor Avatar

    Thanks for the kind words.

    cuishaung, I’ve been very happy to see all the contributions you’ve made to the Go project.

  8. cuishuang Avatar
    cuishuang

    Thanks for your response. It is my immense honor to contribute a little to Go.

Leave a Reply