Well, I’ve now been at the GooglePlex for a week, and working for them for two weeks, so it’s probably about time I update this thing and talk about it a bit.
Nothing I can say here will be all that new for obsessive Google watchers. Leave a comment (on plan99 not facebook) if you have any questions and I’ll see if I can answer them.

The food
The free food is one of the best known perks of working at Google and although Charlie Ayers, the original master-chef, left some time ago the restaurant named after him is still going strong. I had expected it to be more like a building-within-a-building but it’s actually a big buffet with lots of seating in the main hall, so, pretty much like a regular canteen except with fancier food. In fact the food is so fancy I often don’t understand what it is, and have gone hungry once or twice because of it. A mistake I won’t repeat.
Charlies is only one of the eight or nine cafes/restuarants scattered around the site. We own many buildings around the main office proper so visiting them all can involve a long walk. They tend to specialise in different types of food and have different atmospheres/feels, but they’re all pretty much along the same template. There are also snacks in the small kitchens embedded in the offices themselves.
If you work here you have to be a fan of health food. The most unhealthy thing I’ve found so far is a chocolate covered granola bar. Despite that the amount of weight Nooglers (new googlers) gain is notorious, especially ones that came straight from eating student food
The offices
Once you get over the odd clash between the childrens nursery style decor and the neo-industrial feel inherited from SGI, they’re really very nice with lots of open spaces and places where people can come together for informal meetings. There’s a volleyball court in the middle which I think is great, it’s the California we all see on TV and here it is alive and kicking
The rest is pretty much as you’d expect. People make a big deal about the offices having 3 or 4 people in them, but I think it’s like that at a lot of places so it’s hardly unique to Google.
The training
To recap, I am working as a “Site Reliability Engineer” – we monitor and maintain production services, and ultimately carry the can when things break. Having a dedicated department for this is probably a good plan, the top web properties generally have excellent reliability and performance in large part because a lot of paranoid people watch over it. The work is fairly varied and involves things like capacity planning and troubleshooting, but it isn’t primarily about coding. They demand a pretty broad base of knowledge and the interviews cover the whole spectrum – programming, networking, scripting/sysadmin work, hardware design, operating systems and so on. The idea is that if you understand everything, when something breaks you can probably fix it.
Because SREs spend their days working with Googles internal infrastructure (which is mind-bogglingly vast), the training is long and intensive. By “long” I mean I’ll be here for three months, and will only really be taken off the leash when I’m back in Zurich. So far I haven’t met any other type of engineer here that has longer training. By “intensive” I mean the pile of things that I need to learn seems to be growing far, far faster than I’m currently getting through it. It’s not really that there’s a lot of pressure from management, because there isn’t, more that when we do finally go on-call there won’t be any time to read design docs or watch videos so we’d better learn it now, and better learn it well.
The process has been compared to drinking from a firehose and it’s an apt analogy. It really does feel like you’re trying to drink about a gallon of water a second and are bloating up
Not every project/service has SRE coverage, but the big ones do. I’m not sure if I should say which project I’m assigned to, so I’ll leave it at that.
The technology
I would love to talk about this at length, but can’t for the usual reasons. Suffice it to say, there is a lot of it, and it’s mostly written in-house in a mix of C++, Python and Java. There are a few Google specific languages as well, one of which (Sawzall) has a paper describing it on the Google web pages. Due to the nature of my job the stuff I work with most closely is to do with managing the data centres, I’m sure there’s a lot of cool stuff for “pure” software developers to play with as well but I haven’t explored that part of the codebase yet.

The culture
Is pretty much what you’d expect ….. the carefree, slightly childish brand reflects the internal culture. Every Friday there is a “TGIF” meeting where the top execs talk about the company and the week, this Friday there was a lot of goofing around and Larry Page got dunked in a pool of water (all recorded and transmitted to the other offices around the world of course
)
The conclusion
It’s awfully tempting for engineers here to generalise and say something stupid like “all software companies should be like Google” or “Google does things XYZ way and that’s the best”. In practice, the sort of work environment and culture the company has is very hard to create and only possible thanks to a series of happy accidents, primarily the fact that context-sensitive advertising is so very, very profitable.
Nothing lasts forever and one day I’m sure either I’ll move on from Google or the companies star will set, and I won’t expect my next job to be like this – just as when I left CodeWeavers I didn’t expect to be in another team as great as that one was (I don’t really know the new guys well enough yet to judge).
So for now I’ll be just be glad that I work in a nice office and can meet cool new people (hi neha!), and leave it at that.
The rest
One of the subtle but nice things here is that technology actually does what it’s supposed to. I’ve sort of got used to the idea that getting anything fancy done with computers will be awkward and take ages, but here there is an invisible army of people who make sure everything works.
Others have talked about the “tech stops” where you can go to grab any bits of equipment you might need (no UK keyboards unfortunately), but they also function as IT helpdesks. Except here the IT staff actually know their stuff inside out. In fact it’s sort of demeaning to call them IT staff, as that implies they aren’t fully fledged software engineers when they clearly are. I’ve only had to use them once or twice but both times the problem was fixed quickly and hassle free. A big change from my previous experiences.
Likewise, the laptops we’re issued with are pre-imaged such that they easily connect to the corporate VPN. The Linux workstations all the engineers use are also heavily customised so everything is integrated and available on demand. Regular snapshots of our home directory are made available to us. You can rapidly look up any Googler and see their photo, who their manager is, their weekly status reports and so on. Etcetera, etcetera. All of this is completely invaluable to getting started.
What next?
I’m a bit limited in what I can do on autopackage right now, because my only Linux machine is at work. I am watching progress carefully though and cheering you all on from the sidelines. 1.2 is so close I can almost touch it
Keep going!