Ask HN: Is Google still a cool place to work?
I'm most interested in opinions from xooglers. From what I see it's still a great company and great place to work. Some xooglers seem to think it's lost its luster. I'm trying to collect all opinions; I'm expecting an offer today.
128 comments
[ 5.2 ms ] story [ 233 ms ] threadDo it. It's a great experience.
The folks who seem down on it have legitimate gripes (e.g. you're a cog in a large machine, management is intentionally sparse, hard to get promotions), but I think it really depends on what you want out of a job. If you want to be your own boss or expect to remain a big fish in whatever pond you're swimming in, Google's probably not going to work out for you.
But I don't think it's what many are looking for, or at least, not me.
Obviously its not a perfect fit for everyone, but for most it is.
It can be done, but it takes a lot of work (and by "work" I mean "the pointy-hairs leaving the engineers the hell alone". That seems to require a huge effort in some companies.
The old-school name for this is "skunk works".
http://en.wikipedia.org/wiki/Lockheed_Skunkworks
Mostly though I was hoping for a little clarification from the parent poster of why Apple should feel like a small company more than Google does - both would seem to be great places to work, but I wouldn't expect either to feel small.
http://www.amazon.com/Cracking-Coding-Interview-Programming-...
Work through CLRS algorithms book
Practice explaining technical ideas in spoken conversation.
Additionally, glassdoor.com has a lot of user-contributed interview questions and lets you search for/filter by specific companies.
I believe some recruiters actually send it (or a modified version) to candidates who ask how to prepare. I'd also recommend the book "Algorithms for Interviews"
There's also lecture videos here: http://www.cs.sunysb.edu/~algorith/video-lectures/
Learning data structures that you don't use often, like bit arrays, come in handy for interviews, especially for when they ask you to optimize your solution. (http://en.wikipedia.org/wiki/Bit_array)
Go and see for yourself, otherwise you might regret it.
But yes and no, most googlers I met still love it.
Some of them feel that theyre too late, and that had they joined a few years earlier theyd be in a position where they could actually be more successful instead of being a workhorse.
yes it's a cool place, but the right place, I don't know.
Still - Google has the spirit of a startup at its core. Engineers run the place, not execs. I like to say that there is very little "adult supervision" at Google; nearly all technical decisions are made bottom-up by engineers, and there is an active element at the center of the company culture to Do Things The Right Way.
If by "cool place to work" you mean, working with smart people, lots of perks (free food, massage, on-site doctor, all that), and a culture centered around doing amazing things, then yes, it's a cool place to work.
That's the good. The bad is mostly typical big company stuff: you're a cog, you won't get significant choice on what to work on, you have to "play the game" to get promoted.
I left two years ago because I wanted to try a startup and it was the right decision for me. Much more diverse role, touched a lot more technologies, got exposure to a lot more interesting problems. YMMV
So after you join, go meet other teams and get to know the big picture. Then, you can seek a transfer to wherever you think you'd best fit in.
This is the best way to align everyone's expectations.
If you approach situations like this in a constructive and professional manner, the company will go to great lengths to find a solution. At least that's been my experience.
i had potential teams lined up (one of which I would've been allocated to initially, had they not hit their new grad hire cap), so it was certainly a very frustrating experience. perhaps they care more about established engineers than recent graduates?
3 weeks of conversations later, I was told that the 18 month rule was "fair" in everyone's opinion, and that if I'm really concerned about working on projects that are interesting to me, I should just find one to spend my 20% time on (easier said than done).
This is always good advice whether the offer is from Google or a Big Bank.
Talk to the manager, talk to your coworkers. Once they give you the offer, their job is to market the job to you. Use that as an opportunity to interview your future coworkers. When I was considering finance job, I've even gone as far as asking the future coworkers to implement different algorithms and/or talk about their system architecture. If it was too crazy, it was an immediate sign that I won't be happy there.
ETA: Google would be awesome if it adopted the Valve culture where employees are trusted to allocate their own time, but I wouldn't hold my breath.
I don't see how that's supposed to work. From what I understand it's too big and clunky. A lot of dpts don't even know others exist, some groups are just a product bought off other companies and kept in tact.
The way I see it's too big and diverse to be able to have such a structure.
As for the OP's problem: a lot depends on your options, your experience, what you're hoping to achieve, what you'd like to work on, what office this would be in, etc. There are tons of variables.
Speaking as a current Googler, it is a fantastic place to work but it's not suited to everyone.
tl;dr it depends.
I'm not anti-Google. I want the OP to have a great Google experience and to do that he needs to negotiate hard on project allocation.
Take one for the team and sit out the Google discussions maybe? That way when you have a contribution about some other topic, people will see you as a person and not "that crazy ex googler whose credibility is highly suspect." :)
I might add we're also all capable of assessing the responses of Googlers to his reports for ourselves, and those responses don't always speak well of Google.
Gmail: I can't think of anything negative that's happened to Gmail in recent times (unless you didn't like the UI redesign - there are certainly mixed opinions on that), and certainly the performance and uptake of Gmail has only improved.
Google Reader: Not much new happening, but it's still running. Are you referring to the changes in the sharing model? Whichever sharing model was better, surely you can agree that having one unified sharing experience across Google produces results in a more streamlined product, and at least this was a step in the right direction.
Google Labs: Was closed down, yes. I still don't understand how this relates to the parent post. My thoughts on closing down labs: Labs was supposed to be a way to get ideas out there in the wild before turning them into a fully-supported core product. This was great for the engineers who had built these things (they got to see them used), and the early-adopters who tried Labs products. However, as time goes on and nobody's doing any development work on a particular thing in Labs anymore, there is still an operational cost to other engineers at the company who have to keep the thing up and running. Since it's a 'Google' product, the brand image is at stake, so we can't just let them wither. So I think it's reasonable to decide to have each labs product either shut down or integrated into a core (supported) product. Perhaps it would have been better to chuck all the old labs and start again, with a published policy that things in labs will either be fully supported or completely gone 1 year after launch (or something). The removal of labs is a signal that there's more red tape around launching new products than there used to be, but I think that's inevitable as a company grows, and more than some engineer's weekend is on the line if a lunch goes badly.
20% Time: Still as strong as ever, from what I can tell. About half the engineers I know have a 20% project, and there's nobody who doesn't have one who wishes they could have one. Most of the time if people don't have a 20% project it's only because they find their core job interesting and diverting enough that they don't have a desire to split their time with a side-project. Despite what some people have claimed on HN, your manager can't deny you from having a 20% project if you want one.
(I work for Google, but not on any of the products mentioned above, and I (willfully) don't have a 20% project. These are my opinions and not necessarily those of my employer.)
Theoretically, managers can't block you from having 20% time, and there's no official permission process you need to go through to take it, but if your manager says, "I'll fuck you over in Perf if you do a 20% project", then you don't have 20%-time.
What I'm told is that, before 2007 or so, Google actively worked to avoid manager-as-SPOF, and that this is what made Google great. But then they hired a bunch of executives from mainstream large companies and didn't tell them to wipe their fucking feet off before coming inside.
I find it hard to imagine a manager could get away with saying that, but even if they did, I think it would be an empty threat. Perf is designed so that the manager is not a SPOF, your peers' reviews are considered at least as important as your manager's review. It would be pretty obvious if there was a big discrepancy between what your manager says and what your peers say, which would call your manager's review into question. The only way this would be a problem would be if your peers give you bad reviews too (and if that's the case, then maybe, just maybe, you need to take a look at yourself).
What I find ridiculous is that any time I say something about Google, people leap into ad hominem attacks without even reading what I have to say.
You know what I did to piss these people off? Absolutely nothing. I've never met most of them. I'm surprised they even give a shit about me or what I have to say.
It's never the powerful people getting indicted who crush whistleblowers most with the most fervor. It's other peons who want to stick their fingers in their ears and say, "nanananan-I-can't-hear-youuuuu!" in the face of depressing news.
I was in New York, which is generally considered to be slightly above other satellites on the project-allocation heap but far below Mountain View, because that's where all the players are. Most people I knew were on uninspiring work, although there were exceptions, but you generally had to be Senior SWE or higher before you were even considered eligible for the good projects (and even some people at Sr. got shafted).
Google has a palpable "Real Googler Line". Above it, you're free to transfer and work as you wish. If you want to change teams, just decide to do it. Hell, Steve Yegge quit his project in public. Below it, you have manager-as-SPOF and one-assigned-project... banking without the upside. When I was there, the RGL was moving upward to somewhere between Senior and Staff.
I don't know why you have a chip on your shoulder against me. I never did anything to you.
You could not figure out how things worked at Google, and expected people to start following the new guy who had only been there a few months and hadn't actually accomplished anything yet, and when people didn't drop the 100,000 engineering years of accumulated wisdom to listen to you, you started believing that it must be the system that was broken and not you.
And that was fine; you can believe whatever you need to believe. But when you start spreading this delusion outside of Google, you are hurting Google.
Most nooglers get a legacy job to start out. When you prove yourself, and people like your ideas, you will be asked to join other projects. You were only there for a very short time. In order for you to transfer to another project, that project has to want you. Without any accomplishments...
And you quickly developed a reputation as the new guy who was publicly lecturing everyone about how things should be. You told them that their languages of choice were all crap, when they were the ones actually getting work done. Despite how talented you think you are, can you see how that might be a turn-off for any team thinking of taking you in?
All these things you claim are you projecting: 1) Most work is shitty legacy maintenance. (You didn't like your first assignment.) 2) Google doesn't listen to reason. (Google does not give carte blanche to nooglers.) 3) There is no way out of a shitty first job. (You couldn't hack your first assignment.) 4) There is a glass ceiling. (You were alienating people.)
When you present your paranoid beliefs as objective facts, people who don't know any better might believe them. That is why I have a problem with what you post.
You are maligning my company.
YOUR company? You're telling me you get your pick of the best projects, and that you have at least one of triumvirate on speed dial any time you want to hash out an idea? You think those SVPs and VPs and managers-of-managers-of-managers you're putting yourself out there to defend give a shit about you? Ha!
But when you start spreading this delusion outside of Google, you are hurting Google.
Google is chock-full of high-ranking people making bad decisions. They are hurting Google. I want Google to succeed. It had a great run and a really great culture... for a while. It would be good for the world if it went back to such a state.
Without any accomplishments...
Google's problem is that there are a lot of influential but underqualified people who think that if you didn't do it At Google, it doesn't count; you didn't do it at all, and you don't know what you're talking about. Now that is the epitome of corporate arrogance. And it led to some absolutely stupid product decisions, which I won't name but they're relevant to this discussion.
You told them that their languages of choice were all crap
Google's limited language white-list (C++ and Java only, with Python deprecated in production) is a bad decision. C and C++ are the right tool for the job in some cases. I like Go, but I haven't done much with it. My problem is more with the short white-list and the bad justification for it than with the languages themselves. (Although there is no justification for Java over Scala in 2012.)
I disliked C++ then more than I do now. The quality of C++ code I fell into was pretty bad (object-oriented spaghetti) but that kind of code can be written in any language, and so can good code.
You couldn't hack your first assignment.
Wrong. I didn't get into what happened or why I left, but it wasn't a performance issue. My manager was unethical and lied to me and it caused a lot of hardship. Among other things, he promised a 3.4 rating to prevent me from seeking transfer (I agreed to stay on his project in exchange for a decent number) and then gave me something lower (making transfer impossible). If he had been a decent person and kept his word, I'd have stayed on the project for 18 months and things would have been fine. But I lost all faith in him after he openly lied to me in order to keep me on his project. (He also bait-and-switched me into joining his project, promising work on the new system but putting me on the old one. I gave him the benefit of the doubt on that one. Priorities shift unpredictably and it's often not the manager's fault. Lying about the Perf number was unforgivable.)
There is a glass ceiling.
I never made that claim.
That is why I have a problem with what you post.
I doubt that's all of it.
Please don't let your personal relationships spoil an informative (if sometimes heated) discussion. That kind of kills the "hacker" spirit.
At Google, Michael Church is infamous. Practically everyone has heard of him. He is known primarily for having posted many insane rants to a company-wide mailing list. These threads literally consisted of Michael Church writing a wall-of-text rants followed by leagues of coworkers replying to say, in effect, "For the love of God would you shut up already?". He had few, if any, defenders, yet he pretty much ignored everyone and would keep posting unapologetic follow-ups. He would say the same things internally that he now says externally. He is the best proof there ever was that Google employees can say anything they want and not get fired.
To this day, Michael Church is still a popular meme. As in, literally, we have a meme template that is a church with an M on it, and we (his former peers) use it to mock him. He is that crazy.
Google's a good place to work. Like any, it has its faults and is not the right place for everyone.
Hopefully you'll make these important career decisions by, I don't know, talking to people you know and trust who do or have worked here, and not by taking the Internet ramblings of anonymous dorks at face value.
LOL no. Stop projecting.
Today I received email from Google AdSense about change in their system. The only important part of the change was not even mentioned in that email: AdSese lost my payment information (alongside with all other AdSense users I assume) so I have to re-setup payment information again.
Strong team would be able to preserve customers' payment information during system upgrade, but it wasn't the case today.
I wonder if that delay would improve GOOG Q3 revenue results.
Edit: it seems I guessed incorrect (due to GAAP).
Beyond this, Google makes a profit from having both sides continue to participate. The more ads they can show, the better. Hampering one side of this equation for temporary gains that only really improve how you look to Wall Street (not how you're actually performing) is silly, and seems completely counter to how Google typically works.
But then what's left?
I know for sure that my own payment information is gone and it coincided with AdSense system upgrade.
Can anyone with AdSense account share if their payment information is still set?
But even if it's just my payment information lost - it's not a good sign about quality of engineering at AdSense.
In the project that I did for another product, we required users to re-enter their payment information to revalidate the account and ensure that the user still had access to the instrument. That process was done to protect the user's instrument.
As I said, I don't want to speak on behalf of AdSense and I'm not familiar with their processes to speak with any authority.
In any case, the change and the reason should have been very well documented and messaged to you (we go through a lot of internal user testing even on these mundane processes). If not, please reach out to the consumer operations team, they should be able to resolve your concerns.
One of us attacked the problem head on, taking on tasks that would normally be "below" us. In the end, the bad project taught him what he needed to know about Google engineering. He replaced the legacy system with modern infrastructure, which brought him public recognition from the senior VPs, new opportunities to work on interesting projects, and nomination for promotion.
The other one of us decided that he was too good for his job. He very publicly whined about how it was below him and how the only way to get ahead at Google is to start out in one of the interesting jobs. Rather than work his way up through a meritocracy, he expected to be instantly recognized for his natural genius. He got poor performance ratings from his peers and manager, and eventually rage-quit after about six months.
It was the classic Goofus and Gallant story.
I'm kind of impressed with your restraint, actually.
In that time, I started out on an underappreciated starter project, did a hackathon for Hangout, filed some patents for that work, did 20% work for an yet to be announced project, and now building out a completely new yet to be announced product.
Google is a place that really allows you to find something that interests you and encourages you to do that. Internally, people are always looking for people to put in 20% work on their projects; so if you come across something that interests you, nobody is there to stop you.
Personally, if I was only to work on one project for my entire tenure, I'd be bored out of my mind and be looking elsewhere for opportunities. At Google, I can feed by project-ADD within.
One thing you learn at Google is that it really humbles you. You really are working with really intelligent people and you need to have some faith in your fellow coworker. Everyone has something to contribute and you can learn even more than you can teach/preach. Much of the issues with this former Googler is that he may have had some good/interesting ideas but he failed at garnering support. It doesn't help when he publicly on a global mailing list dismissed coworkers that have a significant amount of experience and real world accomplishments in the field that he was advocating.
I had widespread engineering support, actually. The problem was that (a) the people managing that product didn't understand the importance of quality in content, and (b) they were under obscene deadlines (which almost certainly wasn;'t their fault).
What really kicked me in the shins was when an executive, pissed off that people on his team agreed with what I was saying being the right way to go, threatened to damage my Perf ratings. My manager promised to protect me (he promised to "peg" me to 3.3-3.4, which is decent) and didn't deliver. After that, I started looking for transfer opportunities, because I'd caught my manager in a few lies but that was a big one, and I just couldn't trust my manager after that.
It turned out to be easier to get a job outside of the company, so I did.
From what I saw on the engineering-wide mailing list, where you told people who had many more years of engineering experience than you that they were full of sh*t, I'm sorry to say, no sir, you didn't have widespread engineering support.
Eng-misc went to hell about a month after that. By that point, it was obvious that RGI was going to fail due to executive pressure and that higher-ups were cracking down on internal dissent, so only the loyalists were even speaking up.
Speaking to many xooglers, I get the impression it's awesome, and would be a great opportunity in all likelyhood.
0. You have an opportunity of real power to shape your financial future in the small window between when an offer is made and when an offer is finalized. These negotiations commonly take a few days. In those days, your effective hourly rate for your strategizing and execution of the negotiation is far far higher than what you earn as a software engineer.
1. I hope you've taken everybody's boilerplate negotiating advice and not put yourself in a hard position over money. Did you tell them early in the process exactly what you're currently making? Or exactly what you want? If so, next time don't do that. Even if somebody tries to button you down, just finesse it a bit. "Dollar amount isn't the most important thing, yadda yadda" and ask them to give you the range they're considering to ensure you two are in the same ballpark.
2. Accept this fact: It's OK to earn 10's-of-percent and/or 10's-of-thousands of dollars more than your previous job. In fact, compared to other professions with similar skill requrements I think software engineers are underpaid as a whole and we all should work to fix that.
3. Never accept any offer on the spot. Remember that companies, even Google though certainly to a lesser extent, are making best-guesses about how much to offer somebody. There is a range there. You probably have not maxed it out on their first letter. Tell them you sleep on all big decisions and you'd call back tomorrow.
4. Ask for more of something. They have a lot of perks, but it could be options or base salary. If you cannot get them to budge in those, move on to other benefits like signing bonus, vaca time (this matters less at Google and the myriad other tech companies here that have open-ended vacation policies)
5. It's OK to give back some things (signing bonus for example) in exchange for a higher base rate, but obviously don't offer that up at first.
6. Show humanity. You're negotiating with another human. And only one of you his your own wallet on the table. Suppose for the sake of argument you've been making $110k as a mid-level engineer at a startup. That is low, but you've been there for a few years, you've earned a lot more experience. Their offer is $130k. Show humanity, something like "First, i'm thrilled (almost giggling) that you've made this offer. And we're allllmost there. Obviously it's a competitive market and when I look at where I'm at now, and my experience, well I just don't want to feel like I'm taking a step backwards. I need to do what's best for my family and my thinking is currently in the $145-150k range." This has the benefit of being true. We all do have these anxieties. You just are bringing them into the discussion.
If you ever told them you make exactly $110k then obviously you have to be a little more careful how you word this plea (and seriously, don't share that info next time, you don't have to share it). But doing what's best for your family, and a need to not feel like you're taking a step backwards, are powerful human emotions that can help you from looking like a craven opportunist. Even if your family right now is your dog and your girlfriend.
They will probably counter on something. They will NOT revoke the offer because you had the nerve to ask for more. That maybe happens in less demanding, less skilled jobs. But you're a professional making 6-figures. Having a little savvy isn't a bad thing. And if for any crazy reason they did, then you definitely did not want to work there anyway. Obviously a seed-round startup has different economic realities, but that's not who you're working with here.
I could talk for hours about this, and I also think you shoul d read a bit about basic negotiation strategy. And as always YMMV. But these general concepts have served me and my family very well.
As both an employer, and someone that has previously been a hiring manager, this can be counter-productive.
If you think you're underpaid, say so. Don't try to cleverly wiggle your way out of sharing your salary, because what you're doing is obvious. If you don't want to give your salary, you can say "I prefer not to say", but we know what that means, too.
We've offered $30k more than someone's current salary because, by our assessment, they were grossly underpaid. Their current employer came back with an even better counter-offer that we couldn't justify or afford, but the candidate chose us. Their current employer had sunk any goodwill by paying so far below market rate.
As you noted, in many cases, "only one of you his your own wallet on the table". Of course, currently, as a self-funded employer, I do have my wallet on the table too, and I'll tell you as much. We pay market rate, we pay fair, and we negotiate honestly, but we don't play weasely negotiating games.
The best negotiating strategy is to be firm, honest, straight-forward, and to have the substance to back what you're asking for. Stand up for what you want, but don't try to weasel your way into getting it. That'll garner you far more respect than playing games during negotiation.
In this job market, if you've got an experienced candidate, and he tells you, when you ask, that his current salary isn't important, that we don't want to get hung-up on dollar amounts right now, do you perceive that as he's currently underpaid and/or coming from a positon of weakness?
I've never felt perceived that way. And I have always shared information about my current comp package later in the process, after we've gotten range-setting out of the way, after we've both had an opportunity to drop anchor so to speak. So maybe I wasn't clear about that. I added an "early in the process" to the post.
Now, I'm pretty sure I could have gotten another 10-20% if I had not given them this information. But really, I'm getting paid what the job's worth, so I'm not complaining. If I thought the job was worth more, I'd have held out for the last bit. They did mention my existing lower salary as a reason they couldn't offer more, too.
I understand both sides of that. They have to be sure I wasn't being paid low because I can't perform, and I want to get paid what I'm actually worth. When you're as badly underpaid as I was, it's rough. I should never have let myself get into that position.
In fact, I do make a point of telling HR departments that I don't negotiate. They have one shot to make me an offer, and either it's good enough or not. As far as I can tell, this has worked fine for me so far (25 years and counting) - and takes the entire haggling component off the table.
If you're a person who actually enjoys negotiation, this is obviously not valid for you :)
There's certainly a number each of us would be happy with. I find that some people look at this as a point, others as a line. I (obviously) see it as a line, and I want to get a number that's as far along that line as possible.
Also, if you are a new grad who like engineering, all of this is pointless irrelevance. If Google makes you an offer shut up and take it for at least 2 years. Even if the project you get is like stabbing yourself in the eye repeatedly, just reading the code in the core google libraries and figuring out why systems are designed the way they are and talking to random people will up your software engineer game much, much, much more than any other place. Talent here is not as uniformly spread as it used to be, but when you find it, the quality of people here will blow your mind. And if you get to work with them, you will up your game even more.
https://www.google.com/finance?&chdet=1170450000000&...
As far as the "cog in a big machine" that people have talked about, it all depends on what you are comparing it against. Speaking as someone who worked at Big Blue for 8 years, people who are complaining about Google employees being a "cog in a big machine" have no idea what they are talking about. Compared to working at 10 person startup where you have no idea if the company will be able to pay your salary six months from now, but where you can have a huge outsized impact on the product, sure. But if you compare how many users will get impacted by your work at Google, compared to at a typical startup, impact is also relative and it all depends on what you are comparing against.
So if you want the adrenaline rush of working at a startup, Google will definitely not be for you. But if you want to work at a company which will very likely be around for a very long time, and where you can have a huge impact, Google is a really good place to be. I'm certainly very happy to be there.
And the biggest reason why I love working at Google? Nearly everyone I meet at Google are amazingly smart, and great to work with, both from a social and a professional point of view. Trust me, this is not necessarily true at many other companies....
(And as far as "shitty legacy maintenance" is concerned, I work in the same department as michaelochurch used to work in, and my team --- the production kernel team --- just recently finished rebasing the Linux kernel which runs in all of the machines in Google's Data Centers to the 3.3 Linux kernel from upstream. So for a month or two, I was a very well paid patch monkey. But then again, it's very careful, exacting work that requires quite a bit more analysis and deep understanding of the code that you might think --- and any mistakes could impact users all over the world. Personally, I found it very satisfying, and at the end of it, we had paid down a lot of technical debt and it will make future engineering work on the kernel a whole lot easier. And now, after taking a week in San Diego to attend the Kernel Summit, and the Linux Plumber's Conference, I'm going to take a week of vacation in Santa Fe, and then I'll be back to making file system and storage better for Google and for Linux.)
Here are some things that you might want to ask yourself during the decision making process:
* Did I meet my future coworkers? Did my gut have any red flags about any of them?
* Did the prospective work I'm applying for interest me?
* Did the work environment / culture of the team I'm going working with appeal to me? Work environments and subcultures can vary wildly by department in large companies, so sometimes the company's overall reputation may not be representative of the sub-environment you're being recruited into.
* If "career path" is important to me, does the company offer that for the position I'm being recruited for?
* Will I learn anything by being there?
* Does the overall structure and the way the company works fit in with what I'm used to? This is highly personal - what fits one person may not fit another.
Your other questions are good and I certainly won't neglect them.
That is close to FB's valuation (40bn today) now....
The market cap of FB is irrelevant to the valuation of Google stock options.
I've also seen the occasional person pull a michaelochurch. I've been lucky in that my random fun hacks have been seen as valuable work for the company. I could imagine things not working out under different circumstances (there's a large wing of the company working on boring Java apps that I don't think I'd enjoy). With that said, everything has a risk factor to it and the number of michaelochurches seems pretty low to me.
I think there are some things Google is very good at (giving you powerful toys) and others it's very bad at (launching products where UX matters, for example; maybe Marissa's departure will help there), so perhaps it also can depend on what sort of person you are.
(All the above and most of the other comments are engineer perspectives. Other non-technical positions, like reviewing ads for bad words, are reportedly much more variable on the awful spectrum.)
Some people say she brought a valuable discipline and consistency to Google products and held back the worst "designed by engineers" proposals. Other people say she slowed down launches, relied too much on non-scalable personal gut feel, and was arbitrary. I don't know. But if someone previously so central to UI launches leaves, things will at least be different.
Google is an awesome place, and huge opportunities will open up for you if you do accept the offer. Google is still very highly respected and has a great internal culture. There is very little bureaucracy and a lot of autonomy allowed. My life basically completely changed (for the better) after joining and I'm a way better developer than I was 2 years ago. You can also read Steve Yegge's recent G+ posts about what he thinks of Google - I would say I am about 80% as enthusiastic about it as him ;)
The one thing I will say is that the team you're on matters. Google still has the great "don't be evil" policy which permeates throughout the company, but the teams are free to organize how they want. If you're into TDD and pairing, you may find a team that is into that and have a great time, or find a team who hates it and not. Google is big enough that there are teams doing things very differently. The good thing is that you CAN change teams, and there is an internal application that lets you do just that. It's not really that hard.
If you are deciding between Google and the other big SV players like Facebook, Twitter, etc, then I would just pick the company that seems to fit with your personality the best.