内容简介: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
andhttp
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.
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Large-Scale Inference
Bradley Efron / Cambridge University Press / 2010-8-5 / GBP 48.00
We live in a new age for statistical inference, where modern scientific technology such as microarrays and fMRI machines routinely produce thousands and sometimes millions of parallel data sets, each ......一起来看看 《Large-Scale Inference》 这本书的介绍吧!