An Update on Bradfitz: Leaving Google

栏目: IT技术 · 发布时间: 4年前

内容简介:After ~12.5 years at Google and ~10 years working on Go (Working at Google and on Go has been a highlight of my career. Go really made programming fun for me again, and I've had fun helping make it. I want to thank Rob Pike for letting me

After ~12.5 years at Google and ~10 years working on Go ( #golang ), it's time for me to do something new. Tomorrow is my last day at Google.

Working at Google and on Go has been a highlight of my career. Go really made programming fun for me again, and I've had fun helping make it. I want to thank Rob Pike for letting me work on Go full time (instead of just as a distraction on painfully long gBus rides) as well as Russ Cox and Ian Lance Taylor and Robert Griesemer and others for all the patience while I learned my way around. I've loved hacking on various packages and systems with the team and members of the community, giving a bunch of talks, hanging out in Denver, Sydney, MTV, NYC, at FOSDEM and other meet-ups, etc. While I've learned a bunch while working on Go, more excitingly I discovered many things that I didn't know I didn't know, and it was a joy watching the whole team and community work their (to me) magic.

I'll still be around the Go community, but less, and differently. My @golang.org email will continue to work and please continue to mail me or copy me on GitHub ( @bradfitz ), especially for something broken that might be my fault.

Mini Google Resume

In somewhat chronological order, but not entirely:

  • Joined August 20, 2007.
  • Worked on the Social Graph API, continually extracting <link rel="me"> and FOAF and other such semantic social links between pages, indexing it all, and exporting it over a public API. It's since been shut down, but I learned a lot about Google indexing, production (Borg, BigTable, MapReduce), got up to speed on Google-used languages & style (C++, Java, Python, Sawzall ).
  • Web-ified the Google open source CLA process; it previously involved faxing and stuff, which nobody wanted to do.
  • Worked on Gmail's backend for a bit, specifically its address book backend.
  • Integrated personal address book search into Google's main search. (So searching google.com for somebody in your contacts would show your address book entry for them.) It dark launched as an experiment, but never went live because at the time we didn't have enough SSDs in enough data centers to meet latency budgets. (I remember meetings with various teams drawing Gannt charts a few milliseconds wide, showing RPCs and latency budgets... blew my mind at the time.)
  • Rewrote memcached (which I wrote pre-Google) in Google C++ and using Google's RPC system and then added memcache support to App Engine. The Google memcache server continues to be used by many teams.
  • Fixed a bunch of performance bugs in Android when it first came out, got invited to join the team.
  • Worked on the Android framework team doing performance analysis and tooling and fixes. ( some of the commits ) Did a bunch of logs processing on nightly uploaded performance samples from Android team & Googler dogfood phones and identified problematic code & stack traces & RPCs causing UI jank.
  • Added android.os.StrictMode ( blog post ).
  • Added an Android system-wide DNS proxy. Previously DNS caching was per-process (per-app).
  • Worked on a distributed build system for Android that let you do make -j9999 of arbitrary code out over a cluster of machine building in a custom FUSE filesystem that watched what got written and communicated back to the coordinator server. It was internal code, but its spirit lives on in hanwen/termite , a Go implementation written later.
  • Started writing in Go for various Android analysis tasks.
  • Started writing in Go for personal projects ( Perkeep , then named Camlistore)
  • Started sending changes to Go to fix/add to the Go standard library. (starting May 5, 2010 with some os.Chtimes and http stuff )
  • Invited to join the Go team.
  • Worked on most of the Go standard library. Primary author of net/http, database/sql, os/exec, Go's build/test CI system, etc.
  • 20% project: co-author of PubSubHubBub, which became WebSub .
  • Rewrote the Google download server from C++ to Go. This was one of (or the?) first production Go service at Google, and involved plenty of dependency work to make it happen. It also showed various shortcomings in the Go runtime which are long since fixed.
  • Gave many Go talks at various conferences.
  • Wrote Go's HTTP/2 implementation, client and server, in Go 1.6 .

Stats, memories

  • 12 years, 5 months at Google
  • 3 offices worked at (MTV, SFO, SEA)
  • 25 desk locations
  • 53+ offices visited
  • 3 CEOs
  • 1 stock split
  • 1 company split
  • 8 managers, IIRC. (not at once, fortunately; "Eight bosses?" "Eight." "Eight, Bob")
  • met Googler wife
  • 5.5 hours of unused massage credits
  • many Google-internal CLs ("change lists" == commits == PRs)
  • 3,064 Android CLs
  • 10,787 Go CLs

FAQ

Why are you leaving?

Little bored. Not learning as much as I used to. I've been doing the same thing too long and need a change. It'd be nice to primarily work in Go rather than work on Go.

When I first joined Google it was a chaotic first couple years while I learned Google's internal codebase, build system, a bunch of new languages, Borg, Bigtable, etc. Then I joined Android it was fun/learning chaos again. Go was the same when I joined and it was a new, fast-moving experiment. Now Go is very popular, stable and, while there's a lot to do, things--often necessarily--move pretty slowly. Moving slowly is fine, and hyper-specializing in small corners of Go makes sense at scale (few percent improvements add up!), but I want to build something new again.

I don't want to get stuck in a comfortable rut. (And Google certainly is comfortable, except for open floor plans.)

What next?

TBA. But building something new.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大型网站技术架构

大型网站技术架构

李智慧 / 电子工业出版社 / 2013-9-1 / 59.00元

《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经......一起来看看 《大型网站技术架构》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具