As of May 5th I started a job at Google in Mountain View. I can’t say what I am working on as it is still top secret but I can say it REALLY REALLY wanted to work on it which is why I took the job.
What I can do is mention some things about Google. Most of the rumors are true. Google is a pretty awesome company. I’ve never worked at a large American company. The largest company I ever worked at in America was probably 80 people when I left. I did work at Sega and Sony in Japan which are both giant companies but since my Japanese is not nearly as good as my English I never really understood or dealt with anything outside my team. I didn’t read the company news letters nor browse the company internal forums etc. I didn’t look at the perks… So, this is really my first American big company experience.
What can I say? Well, so far it’s not quite as fun as games. That assumes you want to make games I guess but I think at some point I’ll go back to games once my current project is over. Of course that’s probably 2 or 3 years out and who knows what will happen by then.
But, otherwise, Google is pretty much heaven for employees in general and for engineers in particular. It is run by Engineers, the 2 founders and the CEO are engineers and Google is trying to keep it 50%+ engineers.
For example, unlike pretty much every other company I’ve ever worked for, at Google if you need equipment you get it. Log in to the company webpage and you can order computers, monitors, mice, keyboards, software and it will be delivered to you, sometimes in hours. If it’s a smaller item, every other building or so has a “Hardware Depot” which is on office that looks like a mini radio shack. You walk in and say “I need a USB cable” or “I need a chat camera” and they hand you one. Compare this to the bullshit at my last company. We had a build computer and when its harddrive filled up it would make it so nobody could get any work done. It look literally 6 months to get that stupid company to by a bigger harddrive, total cost maybe $120 while they lost literally thousands in work. WTF! Google, being led by engineers knows that that kind of BS is a net loss. Penny wise, pound foolish as they say.
At my desk I have 1 30inch monitor and one 24 inch. If I want more just ask. They have 6 kinds of chairs and 6 kinds of keyboards and will order something else if you need it.
They day I arrived I showed up at the Nooglers orientation class and they had a notebook computer for each person all ready to go. None of the BS I’ve had at nearly every other company where you arrive ready to work and they don’t have equipment for you yet. The notebooks are also setup with all the stuff you need to work from home if you want. A couple of people on my team work from home once or twice a week. I did it once while I was sick but personally I prefer to come in to the office, keep my work out of my house
The campus is huge too. Of course Google has offices all over the world but the main campus is in Mountain View California and “campus” is the correct word. I believe there are around 20 buildings in all. Walking from one end to the other would probably take 20+ minutes. They have bikes to use to get from one building to another if you want.
I’ve heard other say this as well but being on the campus feels at like like being a college campus. With all the buildings there are sometimes meetings requiring you go to one of the other buildings. They had 2 weeks of orientation classes so for a couple of hours each day during my first 2 weeks I would have to walk over to this or that building for a class about how things work at google, some technical, some procedural.
But it’s not just that, there are fliers everywhere just like the halls of a college. Fliers advertising various teams and classes they are giving about how to use their new software or service, fliers about lectures or guest speakers who’s talks you can attend if you want to. Fliers about clubs like the movie club or Japanese speaking club or whatever.
Google has a TON of perks. I’m sure they’ve been discussed in other places but for the most part there is a cafe in every building. Over 19 of them. Each cafe serves breakfast and lunch and just under half also server dinner, all of it is free(*) and it’s good quality food. Each cafe has a different menu and you can go to any one of them. You can even bring your family once a month if you want.
Each cafe also maintains “micro kitchens” in their building that they stock with drinks, sodas, teas, coffees, juices, fresh fruits, cookies, candies, energy bars, sandwiches. Since each cafe is different, each micro kitchen is different as well with at least a slightly different selection of items.
They told us at orientation that there is something called “the Google 15″ which is the 15lbs everyone gains from working around so much food. So far though I’ve actually lost weight because I can take much smaller portions than I used to get when eating at restaurants.
All the cafes also generally have dessert. Some even have homemade ice cream but fortunately the portions are very small so I can have one guilt free 😀
They’ve got something like 3 gyms and these are not small gyms. The gyms have classes as well just like a regular gym. They’ve got a couple of endless swimming pools if your into that. They’ve got a volleyball court and a grassy area where I often see people playing soccer or softball.
They’ve got free shuttles from all over the bay area to work so if you want you can take the shuttles to work. One of them happens to stop just a 5 minute walk from my house so I’ve taken it a few times.
You can also bring your dog to work if you want. I wish I had a dog to bring. My boss’s dog just had puppies so he’s been bringing one of them in every few days. So cute!
Otherwise, a few things that have been different for me in terms of actual work. They have coding standards, something most gaming companies don’t have much of. I’m not yet totally convinced it’s a worth while thing. Of course it could be that I just don’t like the standards they picked :-p In the past though I mostly just lived with whatever people did.
Another is they have code review. Any code you write, someone else on your team has to review it before you can check it in. It can be annoying to have to wait for someone to review your code but overall I like it. It gives me confidence that at least 2 pairs of eyes looked at my code. It also helps keep things consistent. For example I might write something not knowing that there is already a function to accomplish that but the reviewer will point that out for me so I like that part. It helps spread the knowledge better than I think happens on teams without it.
To that end they have a system that integrates with their version control so that when you are ready for someone to review your latest changes you can type a single command and your changes get uploaded to an internal website where it’s presented in a way that makes it really easy for the reviewer to see where and what you changed and to comment on individual lines. If you are curious they released an open source version of it here.
Well, anyway, that’s what I’m up to. Working my butt off at Google. Hopefully in the not toooo distant future my project will get announced and I can talk about it.