I've been getting pretty frustrated with my job. Web development is intrinsically sort of chaotic, requiring all sorts of different components (templates, databases, stylesheets, client-side scripts, directory servers, caches, ...) and Google's infrastructure brings in this endless landscape of internal proprietary systems. Then there's the fact that much of the work involves just keeping the servers running smoothly and reacting to a constant series of outages, upgrades, attacks, schema changes, and so on. And all this while trying to release new builds every two weeks.
I think I could have dealt with it if the product itself had been more along the lines of what I want to create; but the focus of Sites has shifted from what JotSpot used to be (a fancy wiki with lots of great collaboration features) into more of a general-purpose web site builder. Which doesn't really interest me as much.
I had been looking around at other teams inside Google for a while. One of the benefits of Google's transparency is that it's very easy to find out what's going on elsewhere in the company. There's a well-organized intranet website that tells you about almost all the projects at the company (with a few exceptions, like
Google Wave, which was unusually top-secret until April.) Unfortunately the cool projects I found were either outside the Bay Area or not hiring. I actually really,
really wanted to go work on Wave, except that the entire team's in Sydney. I'd love to visit Australia, but moving there would not be practical!
Two weeks ago there was an internal job fair. I walked over, with low expectations, carrying two old-fashioned printouts of my résumé with me. Being a Google event, there was food; I took an
It's-It so the trip wouldn't be a total loss. Among the endless booths hawking boring-to-me infrastructure/search/ads projects was one for "Open Web Platform", a sub-team of the
Chrome browser project that's in charge of implementing
HTML 5 features, and designing new technologies to make web apps more powerful. This really intrigued me, especially the list of technologies on the poster – things like fonts, databases, graphics, cryptography, peer-to-peer.
So I talked with the manager there at the job fair, trying not to drop ice-cream on my shirt or smear him with chocolate when we shook hands. He seemed impressed with my background. I left him a résumé and emailed him when I got back to my desk. He had his tech-lead get together with me for an informal interview. I went to the team meeting to scope it out, and had lunch with a couple of the team members. I was expecting it to get more formal at some point, like a real sit-down interview, or paperwork to sign, but instead it just gradually became more and more solid, until last Thursday the manager said they'd love to have me and he'd press the button to start the transfer.
(I kept my current boss informed. He's known for a while that I'm looking elsewhere, and has been very cool about it. Google's culture encourages people to move around anyway, and I think it was clear from the beginning that I was a bit at sea with working on huge server-side systems.)
The transfer is still going through; I think next week it'll be rubber-stamped. In the interim, on Tuesday I moved all my stuff over to the new building. Technically I don't think I was supposed to do that, particularly not carrying all the computer equipment out to my car and driving it over myself, but I've had enough experience with intra-company moving to know that these things take forever unless you take over. I really wanted to move over quickly so that I could have people nearby to help me out with learning the innards of Chrome, and also just to feel that I was really and truly in the new job.
I was feeling kind of guilty the day of the move — you know, abandoning my old team, giving the impression that I was super-eager to get away from them, potentially about to get arrested for stealing company equipment — but by yesterday it was all worth it. I felt totally reset, ready to work, part of the team. Actually most of the team is on a different floor, but next week there's going to be a huge musical-chairs move of the entire Chrome group that will arrange everyone logically by team on a single floor.
I should take & post some pictures of the new building (
1950 Charleston). It's one of Google's newest, and it's very
posh. Not quite as over-the-top as the main campus next door, but a definite step up from the building I used to be in. The first floor sports not only a laundromat, but a medical clinic (with physical therapy) and a meditation room!
Up on the third floor, I'm getting up to speed. I've been looking through the bug database for some low-hanging fruit, since fixing easy bugs is a good way to learn your way around the code. I've found a couple of Mac-specific issues, which aren't directly related to what my sub-team does, but are easy for me to get started with. I've already
added a unit test, and I've
improved the implementation of tooltips. (Those links point directly to source code diffs. I'm still kind of in shock that everything I'm working on is open source. No more secrecy!!)
Summary for those who scrolled to the end: New job, new building, working on client-side software. I'm pretty psyched.
Tags: work