Poll: Given the opportunity would you work at Google?
It is mid 2011 and Google has just kicked off another attempt in the social scene. They are thriving as a company and there appears to be no end in sight. We have now accrued a wealth of information on google, their hiring process, the internals, the culture and there has also recently been a book written about them outlining some intimate details.
Knowing all these things, do you want to work for Google? Do you work for Google? I would love to hear your stories.
81 comments
[ 0.25 ms ] story [ 145 ms ] threadbut after spending a weekend there, I've changed my mind. I'd definitely work there for a period. There are so many intelligent people there that it'd be foolish to not go through the experience, given the option.
Edit for context: I live in the east in canada, so part of my awesome experience is definitely the environment, as well as the people.
If it wasn't for the stuff I'm doing right now, which I find extremely fun, I would apply.
My only concern would be the issue of being in a huge company where it might be hard to make an significant impact. But all the people I know who are at Google currently seem to work on very cool stuff.
Is this true?
The obvious course of action is for developers to universally stop signing over their rights willingly like this. Nobody should ever have to sign these invention clauses to be employed.
If you're not working on something similar to what the employer is working on, it's not a problem. If you're working on something that will compete with what your employer is doing, there's a problem.
If you were running a sports team, you wouldn't let your employees run a betting parlor - they'd have too much incentive to throw a game and profit off it. In the same way, employers don't want their employees having situations where the company's goals and the employee's goals are at odds.
The success of getting IP rights assigned to you personally is heavily dependent upon what you're doing. If it's just a Chrome extension for your favorite website or a webapp that caters to a niche interest you have, no problem. If it's a casual game (now that Google+ has launched) or a mobile app, it can be very, very difficult, as those are industries of pretty heavy strategic importance to Google.
It is true that Google has a very easy process to open-source your projects. One practical pain is that if you want to accept patches you have to get every contributor to sign Google's CLA.
edit: added "in my experience".
Also, it's not a simple open-and-shut "yep, we own it" response. It takes ages, while you lose whatever enthusiasm you might have had going in to the idea.
1) I'm not sure I could hack it there. While I consider myself to be a good coder (and people tell me so), I don't consider myself to be a top-notch guru ninja coder. I also don't have a CS degree, and I tend to get a little lost when people start getting into CS theory.
2) I have a (probably irrational) aversion to working at really big companies, I think probably due to my time dealing with insane bureaucracy in the Navy. If there was something at a relatively autonomous smaller group though, I would probably be down with that.
The two things the interview process is really looking for is a.) How do you react when faced with a challenge? Do you dig in and attack it, or do you flinch and go away? and b.) Do you really want to work at Google? Things like big-O notation and coding skills are important, but if you really want to, you can pick them up on your own.
Incidentally, this is the same criteria YCombinator uses, except that instead of "do you really want to work at Google?" they ask "do you really want to found a startup?" It's a pretty handy mindset to develop in general.
2.) I felt the same way, and then discovered it was nowhere near as bad as I expected. There're a bunch of pretty autonomous small groups working at Google, often on pretty cool things. One trade-off is that the more important your work is to the company, the less autonomy you have, yet the more important your work is to the company, the greater the resources you have at your disposal and the greater the financial and career rewards.
Your job in any company doesn't deal with algorithms that much but it's very useful to know them for the rare opportunities that do occur so that you make better choices.
As for YCombinator, in startups when you hit scaling issues if means your product is good and you're already on the path to success and you can hire someone with better fundamentals to help you deal with the load.
mzuckerberg (facebook ceo) Algorithm Rating: 1044 Total Earnings: $124.00 School: Harvard University http://www.topcoder.com/tc?module=MemberProfile&cr=27613...
dangelo (former facebook cto) Algorithm Rating: 2351 Total Earnings: $3,082.50 School: California Institute of Technology http://www.topcoder.com/tc?module=MemberProfile&cr=26098...
Not knowing fundamentals like this never helps. Many interviewers will spoon feed it to you, but you're not going to respond to questions with all your mental resources if you're spending all your energy trying to understand the context.
But its not necessary. And it costs nothing other than time to fix it. And it may even be fun.
I enjoyed my time in the Navy because of my shipmates. I've really enjoyed my time at Google because of the interesting work and absolutely fantastic people I work with.
Just my two cents...
It wasn't the rank structure or chain of command that left a bad taste in my mouth, it was the layers and layers of approvals and paperwork needed to do something as simple as run a security audit on my servers, or set up an intrusion detection system on a spare PC, or even keep an extra set of backup tapes in a separate location on the ship.
I wouldn't expect it to be crazy like that at Google or any other progressive tech company, of course.
Google seems to be busy in many challenging areas, and after a Ph.D. in C.S., technical challenges look like a rare commodity in Montreal.
If the question means 'right after I finished my current degree', I also would say 'No' because I planned to start a PhD.
If the questions means 'after I have finished all studies', I'm not sure yet. If whatever I am doing at that time is less interesting than working for Google and I'm not bound somehow to my current location, I probably would say 'Yes'.
So maybe there should be another option like 'Not now but maybe at some later time'.
But if I could get in on the RE < C or electric-vehicle stuff, hell yeah, I'd take a pay cut.
I'd consider returning.
a) Google has good infrastructure, but there's a high barrier to adding a new technology in production. If I put 5 engineers in a room with a rough design for a product, they'd probably suggest the same components. I wanted to step outside and use new technologies. (I wouldn't do this off work hours because I don't have the brain bandwidth to work on side projects)
b) Avoiding my own complacency. Google was my first gig out of university and I didn't want to stay there just by default.
c) I wanted to work somewhere where success and failure rested on my work (and of everyone on the team's) - I wanted to put my heart into something, and that, for me right now, requires something that can fail and then I'd be out of a job as opposed to just switching teams. Later, I might be happy making 1 billion people's search results 0.1% better, but now isn't that time. Certain teams at Google are more at-risk like this, but mine wasn't.
There are a few other minor reasons, but none of them were other people, an uncaring company, or incompetence.
Google's certainly not perfect, but I'm pretty sure no other company even a quarter of its size is as good a place to work.
having done contracts for federal govt and companies the size of nortel, I expected otherwise, but this is exactly what I discovered when I was on site last week.
Google might have been hard to get into ten years ago, but times have definitely changed.
EDIT: Not to mention that Twitter (and many other software companies) is crawling with ex-Googlers, so the caliber of engineer coworkers will be roughly equal.
Google is the right place for certain kinds of people; I don't think entrepreneurs are one of them.
you heard of a land grab...well Google is in the process of doing a talent grab, hiring engineers left and right, so chances are unless you made a name for yourself, you'll be stuck doing something stupid
Yes, there's mundane work in any job. There is less of it in Google than in other places, even including the startups I've worked at, because when you operate at Google-scale, even simple things become an interesting technical challenge.
It's sorta hard for me to point out specifics because most of Google's internal infrastructure is quite secret, but if you can point out some things that you think would be mundane and boring, I can try to illustrate some of the challenges involved, up to the limits of my confidentiality agreement.
Sure the guys who made a name for themselves are working on something cool and doing big things. But some peon? They are stuck doing the mundane busy work that the big guys don't want to bother with.
It's like automotive design...most people go to design schools thinking they'll be designing cars, but in the real world, you end up being one out of the five designers working on designing the side mirrors.
And then there's the infrastructure supporting that, which is technically fascinating but never gets any public recognition, because it's all confidential.
If your goal is to be famous, then yes, this is mundane work. But if your goal is to work on interesting technical challenges, it is a lot more challenging and fascinating than slapping together a RoR app.
I'll point out that the startup world is like this too. For every Mark Zuckerburg on the cover of time magazine, there are a dozen DropBoxes and Herokus that get some acclaim within their niches but are unknown to the world at large. And then for every Heroku, there're a dozen FreshAddress.coms or Bingo Card Creators that have a very tiny niche that can support their founder but is virtually unknown outside their customer base. And for every BCG, there are a dozen startups that fail completely and nobody knows about.
One thing that really surprised me about the real world was just how deep the iceberg goes. I was an outsider until I was about 27, first as a student, then as an employee in a startup with big dreams but small successes, then as a founder in a startup with big dreams but small successes. People know the Zuckerburgs of the world because the media write about them; the media write about them because they need larger than life personalities to get people to buy their magazines.
The "celebrity programmer" is a creation of the media. Just look what happened with Google+ and Andy Hertzfeld. He worked on one aspect (UI) of one feature (Circles) of one product (Google+). He is just as much of a peon as the rest of us, but because he has a prior track record and people love a good hero story, somehow that got blown up into "the lead designer for all of Google+". Andy, to his credit, didn't take the credit and shared it with all the people who were actually involved in creating the UI for Google+.
(Actually, I worry sometimes that listing projects I've worked on here will result in the same thing happening, since I'm at least a recognizable personality on HN. I was not the primary developer for Wonder Wheel - the guy who was is a kickass developer with his own startup now. I was not the primary driving force behind merging all properties into one - the woman who was is now working on a cool data analysis problem in an overseas office. I was the first engineer on the 2010 visual redesign, but I was not the tech lead, and many many other people helped out. I'm not the primary doodler, I've only done one or two when that guy was busy. I'm one of three co-TLs on Authorship...I'd like to think I contribute a lot, but many other people contribute a lot too.)
I do have to second this thing about the "celebrity programmer". We have a group of people working on ext4, some of whom have been working on it at Google before I decided to start working there. (In fact, I learned about Google adopting ext4 from their contributions of no-journal mode for ext4 to the upstream.) I may be one of the more visible persons at Google, but I'm certainly not the only one working on ext4, and ext4 wouldn't be where it is today without some really talented folks who have been working on it with me for the last 2-3 years --- and I've only been at Google for 18 months!
One of the reasons why I am at Google is precisely because it is a big company. It is only when have a very, very large number of machines in your data center does it make sense to put a whole team of people working on infrastructure code such as file systems. (I'm pretty confident, by the way, that Sun never recouped all of the money they poured into ZFS --- it's a project which is highly impressive from a business perspective, but from a business person's ROI perspective, not so much.)
One of the things I can definitely say about Google is that while it may be a large company, compared to IBM, it has a minuscule amount of bureaucracy. I used to sit on the team that worked on the annual budget for the Linux Technology Center, and that would be weeks and weeks of conference calls where the ROI of work items at the granularity of 6 to 12 persons months worth of effort for the next fiscal year would be weighed, judged, and decided. Which is something I'm glad IBM does as a shareholder --- but as someone who had to sit on those interminable conference calls, not so much. I get to do far more real, honest coding work at Google than I did at MIT (where I spent the bulk of my time on Lotus Notes, PowerPoint via Crossover Office, and conference calls.) The one good thing about having gone through a very dispassionate review on the ROI of various different bits of technical work is I can say with fairly great authority that there is huge amounts of work which makes sense from an ROI perspective for me (and a whole team besides) to do at Google, but which wouldn't make sense at most other companies, just because of the scale at which it operates.
If you are interested in working on very large scale systems problems, Google is definitely one of the best places in the world for you to do this kind of stuff. I know a tenured faculty member at Harvard who decided that it was far more fun to do systems work at Google, and who left his tenured faculty position for this reason.
It depends on your perspective. This also means that you can spin for a year or more just getting one feature out the door.
I think I had about 10 meetings over six months on whether addresses for Google Checkout would contain two or three address lines, and whether we needed a separate field for France's CEDEX postal codes. Some of this was justified as it involved complicated negotiations with external vendors too, and I had to negotiate with the guy who was hired to unify Google's internationalization libraries for Java.
But seriously, I'm not sure this was the best thing I could have been doing with my life.
If I remember correctly we simply came around to the exact same hacks I proposed on the very first day.
On the plus side, you learn from many, many different perspectives this way. It's like Peter Norvig's advice in "Teach yourself to be a programmer in 10 years":
1.) Get involved in a language standardization effort.
2.) Have the good sense to get yourself off the language standardization effort as quickly as possible.
Great way to learn, perhaps not such a great way to get things done.
Also, the guy they had doing the official i18n libraries had a default position of We Only Do The Right Thing. Admirable, but not fun to work with. So even if I proved to him that our downstream vendors, and indeed almost all French companies, handled these special French zip codes with a simple hack... that wasn't good enough for him.
Your story could be read in a positive way by an MBA class: "After much careful company-wide introspection, the smart guy's instinctive solutions were allowed to prevail."
Me? I would have given up on the process long before a year had passed.
Nowadays, I see a lot of downsides. First, it's a full-time on site job, which is something I left behind almost 10 years ago, so it'd be tough to go back. Probably more importantly, I doubt they could offer me the kind of salary that would tempt me away from consulting.
At this point, the only reason I could see myself working for a big company again would be if one of my products made it onto their radar and I found myself acqu-hired. Even then, I'd probably look at it as a necessary evil that came with a nice payday. Given all the stories of founders getting absorbed by the Googles of the world, waiting out their obligatory 2 years, then jumping ship, it just doesn't seem like a good fit for somebody with an entrepreneurial mindset.
If counting cash + equity, adjusting for risk, only a few companies (FB etc.) now can beat Google in terms of expected income.
So if your only concern is money, you can still try to see how Google could offer.
Are you including e.g. Morgan Stanley and Knight Capital in your pool? Because Google's salaries would have had to rise a lot more than 10% to catch up to those guys, last I heard.
Please read my original comment, which was comparing Google with other software companies.