Leaving Google ![rw-book-cover](https://readwise-assets.s3.amazonaws.com/static/images/article4.6bc1851654a0.png) ## Metadata - Author: [[airs.com]] - Full Title: Leaving Google - Category: #articles - Document Note: --- tags: [#golang, #opensource, #careertransition] - #google - #ianlancetaylor - #golanguage Author: Ian Lance Taylor Source: Ian Lance Taylor's Blog Reference: https://www.airs.com/blog/archives/670 date created: 2025-05-13 18:47 --- # Title: Ian Lance Taylor Leaves Google: Reflections on Go, Open Source, and Change ## Table of Contents: - [📝 Summary](#-summary) - [📖 Main Content](#-main-content) - [🗒️ Notes](#-notes) - [📖 References](#-references) - [🗣️ Paraphrase](#-paraphrase) - [📰 Newsletter](#-newsletter) - [✅ Action Items](#-action-items) - [🧪 Hypotheses](#-hypotheses) - [📊 Methodology](#-methodology) - [❓ Questions](#-questions) - [🔮 Future Research](#-future-research) - [💡 Implications](#-implications) - [🧠 Learning Styles Assessment](#-learning-styles-assessment) - [📊 Accessibility Assessment](#-accessibility-assessment) - [🌍 DEIB Assessment](#-deib-diversity-equity-inclusion-and-belonging-assessment) - [✅ Logical Validity](#-logical-validity) - [🔍 DARVO Analysis](#-darvo-analysis) - [🔍 SEO Evaluation](#-seo-evaluation) - [🎯 Conclusion](#-conclusion) --- ## 📝 Summary: Ian Lance Taylor, a pivotal figure in the Go programming language ecosystem, has officially left Google after a 19-year tenure. He reflects on his early contributions to Go, including compiler work and introducing generics. The blog post walks through his evolving role at Google, shifts in the broader programming landscape, and his future intentions to continue contributing to Go outside of his role at Google. --- ## 📖 Main Content: Taylor’s post is both a personal career reflection and a lightly philosophical meditation on what it means to build something long-lasting in open source. He recounts his early days on the Go team, his contributions to GCC, generics, and the growth of Go. He discusses how his preference for addressing known problems over anticipating future issues influenced his contributions. His departure is cast not in bitterness, but in acknowledgment of growth, change, and personal evolution. ### 🗒️ Notes: - **Tenure at Google**: - Spanned 19 years, mostly on the Go team. - Joined the Go team in 2008, two months after its internal release. - **Key Contributions**: - Added Go frontend to GCC. - Maintained Go’s internal build systems. - Introduced generics via the “contracts” proposal (merged with another proposal). - Managed the Go team at one point. - **Working Style**: - Pragmatic, focused on current problems. - Avoided speculative or theoretical features. - Acknowledges a tension between reactive and proactive development. - **Reason for Leaving**: - Cumulative changes in Google and in open source. - Perception of Go’s direction shifting from his own vision. - Personal growth: “I’ve changed.” - **What’s Next**: - Break and reassessment. - Continued contribution to Go, albeit outside of Google. --- ## 📖 References: - Ian Lance Taylor, *Leaving Google*, https://www.airs.com/blog/archives/670 --- ## 🗣️ Paraphrase: 1. **Original**: “I’ve left Google after working there for 19 years.” - **Paraphrased**: After nearly two decades at Google, I’ve decided it’s time to move on. 2. **Original**: “I try to solve problems that I see today, or that I expect to see tomorrow.” - **Paraphrased**: My approach has always been grounded in addressing immediate and foreseeable challenges. --- ## 📰 Newsletter: 🚀 *Go Developer Icon Moves On — Ian Lance Taylor Departs Google* After nearly 20 years and countless contributions to Go, Ian Lance Taylor has stepped away from Google. Taylor helped bring Go to life, added generics, and maintained its compiler integrations. Now he's entering a new chapter while still planning to contribute to the language he helped shape. Read his full reflection on career transitions, pragmatism vs. vision, and the open-source evolution here: [airs.com/blog](https://www.airs.com/blog/archives/670) --- ## ✅ Action Items: - **OSPO-Aligned Insight**: - Reflects how long-term contributors may diverge from project direction. - Demonstrates need for open governance models to retain diverse visions. - **Education/Advocacy**: - Great case study to include in curriculum on sustaining contributor engagement. - Strong example of reflective leadership for transitioning roles in open source. - **Career Modeling**: - Taylor exemplifies thoughtful career exits—useful template for advocates transitioning into advisory/consulting roles. --- ## 🧪 Hypotheses: - Long-term contributors in mature OSS projects may experience philosophical divergence. - Organizational shifts (e.g., Google’s) impact open source project directions and individual alignment. - Practical contribution styles might limit speculative innovation in OSS language evolution. --- ### 📊 Methodology: - **Qualitative**: Interviews with maintainers post-departure. - **Data**: OSS project commit histories, project roadmaps, internal mailing lists. - **Analysis**: Thematic coding for motivations, friction points, and redirection triggers. --- ### ❓ Questions: - What are the ideal mechanisms for OSS projects to retain long-time contributors? - How do “pragmatist” contributors shape project maturity versus “visionaries”? - What support systems can OSS governance provide during major organizational shifts? --- ### 🔮 Future Research: - Explore tensions between reactive and speculative OSS development cultures. - Track exit interviews or postmortems from major OSS contributors for trend analysis. - Study mentorship impacts on contributor retention across project lifecycles. --- ### 💡 Implications: - Could inform open source leadership development paths. - May guide corporate OSS programs on how to support contributors as their roles evolve. - Reinforces need for inclusive long-term governance mechanisms in OSS. --- ## 🧠 Learning Styles Assessment: - **Visual**: - *Present*: No visuals. - *Improve*: Add timeline of contributions and Go feature releases. - **Aural**: - *Present*: None. - *Improve*: Offer podcast or audio narration. - **Verbal**: - *Present*: Rich narrative style. - *Improve*: Annotated versions with cross-links to key Go releases. - **Physical**: - *Improve*: Provide activities like setting up historical Go versions. - **Logical**: - *Present*: Strong reasoning and chronology. - *Improve*: Include flowcharts of generics proposal evolution. - **Social**: - *Improve*: Embed comments section or prompt for community discussion. - **Solitary**: - *Present*: Self-reflective. - *Improve*: Add journaling prompts for career mapping. - **Naturalistic**: - *Improve*: Use metaphor or analogy with ecosystem cycles in OSS. --- ## 📊 Accessibility Assessment: - **Screen Reader**: HTML likely compatible. - **Alt Text**: Not present on any images. - **Keyboard Navigation**: Likely functional. - **Contrast/Text Resizing**: Could use testing; appears legible. **Suggestions**: - Add alt text for all embedded images. - Use heading structure with clear skip navigation. - Ensure mobile responsiveness for resized fonts. --- ## 🌍 DEIB (Diversity, Equity, Inclusion, Belonging) Assessment: - **Inclusive Language**: Yes. - **Cultural Sensitivity**: Focused on personal narrative; neutral. - **Neurodiversity Support**: Organized, readable structure. - **Representation**: Limited to individual story; lacks broader lens. **Suggestions**: - Expand with links to contributions from diverse Go contributors. - Add inclusive call to action or mentorship resources. - Consider guest posts on similar reflections from underrepresented voices in OSS. --- ## ✅ Logical Validity: - **Strengths**: - Clear timeline and reasoning. - Balanced tone: no blame, just reflection. - Causal links (project evolution → departure) are sound. - **Fallacies Absent**: - No emotional appeals, strawmen, or false dilemmas. - No ad hominem or defensiveness. - **Suggestions**: - Could benefit from minor elaboration on specifics of “change” at Google. --- ## 🔍 DARVO Analysis: - **Deny**: No denial; fully acknowledges personal shift and organizational evolution. - **Attack**: None. No blame assigned. - - Document Tags: [[Go]] [[retire]] - Summary: 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. - URL: https://www.airs.com/blog/archives/670 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](https://go.dev/). 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](https://gcc.gnu.org/). 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](https://www.swig.org/). 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](https://go.dev/blog/intro-generics). 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 Gooogle 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., Leaving Google, airs.com, 01jtzytbq17gdj142w134r3c39.