Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I worked at Google for a short stint. I found the tech interview easy and I wasn't asked anything particularly ridiculous. I received a job offer shortly thereafter and accepted.

As someone who regularly interviews prospective engineers at my current gig, I see no problem with expecting candidates to arrive prepared to answer algorithm questions or questions about their strongest programming language. Ditto for someone who wishes to change assignment within their organization, however they arrived there. If you're unwilling to provide proof you're not a bozo, you're probably going to be just awful to work with as well.

However, the blind allocation policy at Google sucks, and it continues to suck. I came in as an expert in field D and therefore according to Google's magic sorting hat I ended up a natural for assignment in field Q. I tried my hand at it for several months, but as someone else has already said, bored employees quit: http://www.randsinrepose.com/archives/2011/07/12/bored_peopl...

In order to avoid that fate, I futilely attempted to get reassigned to something close to field D (really, B, C, E, or F would have been just peachy) and that seemingly got me flagged as trouble internally. Shortly thereafter, I got a higher offer to go somewhere else and left.

However, unlike the author of this post, while Google recruiters regularly stalk my linkedin profile, none of them ever contact me, which is good.



Blind allocation got me too. They told me how allocation worked before I joined, but I was hopeful that they would put me on a project that had some overlap with what I was interested in and what I had worked on for the past 15 years (computer vision, robotics, natural language processing).

No. I found out on the last day of orientation I would be doing YouTube ads. I knew there was no way I could do that for 18 months, and I told my manager. He was understanding, but there wasn't really anything he could do. He passed my concerns up the management chain.

A couple weeks later my manager gave me their response, which was, literally, "We don't care." That shocked me a little, and I knew at that point I wouldn't be at Google for very long. Maybe that was even the right thing for them to do, since I was proving myself to be the kind of employee who wouldn't work on a project they weren't interested in for a year and a half just because it was good for Google, or good for their potential career at Google.

For a short time I led a 20% project with three other engineers that was in my interest area, and after we won an innovation award I hoped that it might make the Google bureaucracy more sympathetic to my preferences, but management didn't care. I left not long after that.

(tl;dr: I learned that Google is a bureaucratic megacorp.)


I've heard of the 18 month rule, but it wasn't how it worked in my experience. My first project lasted 4 months and ended with a successful launch. My second lasted two months and ended when I was pulled off (actually, I volunteered) to work on a project more suited to my abilities.

YMMV. Google is a giant corp, I'm sure there are bad managers somewhere (and I've heard of Nooglers getting stuck on a bad project and then leaving for Facebook), but if you keep your eyes open for opportunities and work to build relationships with your new team, you can usually transfer regardless of what the rules say.


Pretty much my naivete and experience as well (minus the 20% project because the one I wanted to do would have tipped some sacred cows had it succeeded)...


Exactly--I didn't quite say it explicitly, but part of the problem was my naiveté about working for a large company after a career of mostly startups.

(And my summary of the project may have been overly short. It was a week of full-time work, with a plan of making it an ongoing 20% project.)


I don't think this is a large company vs. startup thing. In most companies, large or small, you're hired to fill a particular job opening (that's described as part of the recruitment process) and usually interviewed by the group of people who you'd be working with. Does anyone know of any other companies that do this kind of random assignment the way Google does?


I wonder why google would choose to randomize assignments instead of recruiting for a particular skillset for a particular project/role.

If they are afraid of leaking information about what projects they are up to based on their job openings, that's actually easy to solve - advertise heaps and heaps of openings for many, varied and niche skill sets. Of course, only some of these adverts are real openings, but no one but outside google will know which ones are real openings. Hence, your competition cannot sniff your job openings to see what you are working on. This simply costs fees in administration and you reject every fake advert application.


Blind allocation is about grunt-work roulette, not secrecy.

Google wants to collect smart people, but it's impossible for a company to get to that size and have only smart-people work, so blind allocation is their way of getting PhDs to work on apps for HR-- the kind of work that a lower calibre of engineer would happily do for a Google salary, but Google just refuses to hire at-level for that kind of work when they can hire above-level and roulette someone into it.

That's also why it's frowned upon to transfer before the 18-month mark.

My issue with it is not that they expect 1.5 years of grunt work. That's fairly typical. Unpleasant, but common. What's worse about it is that people who land on grungy work for their first projects tend to keep getting bad work because they can't transfer to the good stuff, because they're competing against people who had better projects and could actually accomplish things. If the model was, "do this for 18 months, and then the company is open to you", that'd be one thing. The problem is that people suck it up for a year and a half, thinking things will get a lot better, but then when they get to the 1.5-year mark, they don't actually have the degree of optionality and autonomy that they were promised.


20% time can easily destroy your career. Most managers view it either as a waste of time or a flight risk. If the manager has to put someone on the 5% shit-list (which has more to do with his performance than yours) and you're 20%ing, then you're probably screwed.

Blind allocation is imbecilic, but I think even the idea that people need to be "allocated" to projects is moronic. It doesn't belong in this fucking century. Closed allocation makes managerial dinosaurs think they control something, but they lose control of the most important thing, which is their ability to retain talent and enthusiasm. If Google wanted to actually deserve its reputation, they'd man up and go for Open Allocation: http://michaelochurch.wordpress.com/2012/09/03/tech-companie...


> 20% time can easily destroy your career. Most managers view it either as a waste of time or a flight risk.

So at Google, you're job isn't to make Google more successful, but to make your manager look good.


This statement out of michaelochurch is just silly. Most managers I know consider 20% time to be important to those engineers that desire taking it. That said, not everyone tries, and you can lose your ability to do 20% if you underperform.

michaelochurch appears to have had a very strongly negative experience with his time at Google - I'd implore you (and everyone) to not base your assessment of what the company is like on his experience alone, especially since I've got pretty much entirely opposite experience.


Actually, my reason for spilling on Google is that someone from Google did something unethical after I left and Google refused to investigate (knowing they'd have to fire the person if they did). If Google had done the proper investigation and canned the person, I would never have said a word about them.

I'm pretty much over it by this point, but I still think the terrorists who thought it would be fun to destroy Google from the inside with their imbecilic "calibration scores" need to be named, shamed, and buried. They have attacked what was once a great company, and they are destroying it. I am pointing this out as a public service.

Google is a great place if you have a good manager and an interesting project. If you land on an interesting, relevant project, and your manager supports you in the political processes, it's a great place to work. I've never argued against that, because it's true.

The same is true of 20% time. If your manager believes in 20% time, you have that benefit. If your manager thinks it's a waste of time and will express it by threatening you with a perf smear, then you don't have 20% time.


"If Google had done the proper investigation and canned the person, I would never have said a word about them."

I don't get this. The faults you mention here and elsewhere (closed allocation, lousy managers, unfairly rating expectations, 20% dooming you etc) have nothing to do with Google investigating unethical behaviour, right?

So, does Google really have none of these faults, but you say they do because they refused to investigate your claim; or do the really have these faults, but if they had investigated your claim, you would have kept quiet and let everyone think that it's a fantastic place (as far as you were concerned)?

(Serious question, I'm not trying to flame you. I just don't really understand how your various criticisms and this specific ethics issue are connected)


or do the really have these faults, but if they had investigated your claim, you would have kept quiet and let everyone think that it's a fantastic place (as far as you were concerned)?

Disparaging an ex-employer in the public, even if the ills disclosed are minor-- which in Google's case, they are-- can do considerable damage. Or it might not. It's hard to measure the cost of lost opportunity (in this case, lost recruiting). In any case, it's a move to take seriously, because it involves downside risk for both employer and whistleblower and the upside is quite minimal. It's not something to do just because you have a negative experience, because 3/4 of work experiences are pretty negative (by which, I mean they get less out of the job and the company than they should) for most people. If a company is going to get a public smear, it has to earn it.

If Google had done the right thing and investigated, then terminated the person, I probably would still have warned my friends about the death of "Google culture" but I wouldn't have leaked Perf and the death of 20%T to the public.


I see. Thanks for the rationale :)


>>Google is a great place if you have a good manager and an interesting project. If you land on an interesting, relevant project, and your manager supports you in the political processes, it's a great place to work. I've never argued against that, because it's true.

That's true for any company I know of, Hardly an interesting proposition to work at Google.


As my manager told me a while ago: "making our company successful is well above our pay-grade: we need to make our managers look good".


The key to success at most companies is to please your boss's boss, indirectly of course.


The key to success at most companies is to be a unicorn.

Let's quantify ambition using the letter A. At A > 1.0, people are interested in advancing their own careers and are only going to work hard on their assigned stuff when there's a long-term, career benefit. If they have a surplus of time (which is common, because they're good at getting shit done) they will pursue their own education rather than asking for more work. They are hard-working, but they focus on their own objectives and take a mercenary attitude. They only go "above and beyond" in the context of a mentorship arrangement where someone senior is genuinely looking out for their careers. Otherwise, they calculate exactly how much to invest in their assigned role and how much to put in the skill or networking bank.

People at A < 1.0 just don't see career growth as very important, and it's hard to motivate them to work more than an 8-9 hour day. They're not lazy-- they're often more than competent enough, and they tend to consistently do good work-- but they have more interest in life outside of work than in their paid labor. Give them 6 weeks of vacation, and while they'll generally give decent notice, they will take it.

People at A = 1.0 are ideal employees, but that's a single-point set, and we don't have Dirac delta functions in this analysis, so that's probability zero. It's a unicorn. (Note: I know that probability zero doesn't mean "impossible". Unicorns are also not impossible.)

Succeeding at work is about pretending to be at A = 1.0... or at least fading A to 1.0 enough to keep people unaware of your true leaning-- which is that you're either too ambitious to prioritize your boss's objectives over yours, or you're too lazy to care about anyone's goals.

How close you are to A = 1.0 determines how long you can stay at a job. At A = 0.5 or 2.0, you'll last 6 months and get cold-fired. At A = 0.9 or 1.1, you have an expectancy of two years and will get a severance. At A = 0.99 or 1.01, you can probably stick around for 10 years and you'll be gently "managed out".


I'm at A < 1.0 (even 6 weeks of vacation, which I always take with plenty of notice), but have no problem getting or keeping a job long term. I'm A < 1.0 because I'm ambitious about "working to live", rather than "living to work" like the A > 1.0 types. I do expect to be "managed out", but only because everyone but top management gets laid off eventually, to keep the staff young.


Yes, which doesn't make Google any worse than most companies, but does mean it has regressed into the meaningless, incoherent, parochial grey glop that is standard corporate working life.


You know, I work for a 122 year old > 100,000 employee megacorp, and it is not so bad. It takes longer to do things, and you have to work around a lot of problems, but the vastness of the problems and systems has some appeal.


Wow, I never would have expected Google's perf management to be as bad as what I've read here - Glassdoor reviews all sound so peachy.


Take what Michael Church says with a grain of salt. I was around to observe his threads on the eng-misc mailing list while he was still at Google. Without his consent, I'd rather not say what went on, but I would advise you to get your information elsewhere.


I find it quite disconcerting when people write comments like this. If you're not willing to share what was said, so that we can judge whether or not it supports your veiled allegations, then don't make the allegations. It is in bad taste, and reflects badly on you.

I know it can be hard to resist talking if you believe you have inside information, but giving "warnings" like this without sharing details that are directly relevant to the claims he made in effect boils down to nothing more than an ad hominem supported by appeals to authority about the reasons for his claims.


Michael O'Church seems quite happy to share what went on. What's stopping you?

Michael O'Church's arguments are internally consistent, and more persuasive than vague statements impugning his character.


> What's stopping you?

Respect for the confidentiality of internal communications.

Anyone is free to share their own impressions, but it is inappropriate to pull someone else's privileged documents and wave them in public.


Just how respectful and appropriate is it to make public claims about someone's character without giving evidence?


what about anonymizing and cleaning the communication such that you cannot decipher any actual information, but can grasp the gist of the topic about which this thread discusses?


Yet you leak the name of an internal mailing list. Well done!


The negative comments here haven't really been my experience either. I once heard a VP say that perf is an "eventually consistent system", meaning that mistakes are often made over the short term (1 review cycle), but over the long term high performers get promoted. That's basically what I observed: it can be maddeningly slow for people to notice you've been working your ass off, but if you keep at it, they do notice and the rewards do come. If you stick around long enough for them.

The real world isn't all that different - if you found a startup, you're likely to go through 3-4 years of nobody giving a shit before everybody suddenly discovers your a genius.


If you identify high performance by the performance review system, and people who perform highly according to that system are more likely to be promoted than those who don't, then of course over the long term high performers are the ones who get promoted. And it might well be merely "eventually" consistent if a few dings early on (or later on!) don't destroy your chances to, over time, be considered a high performer by that system. It would be very hard for such a system to be anything but consistent, since the consistency is just self-consistency.

The relevant question isn't "do promotion decisions get made consistently with the tools used to rank performance" but "do the tools used to rank performance adequately track potential, and does the environment generally adequately make potential actual?". A system in which lots of people are dissatisfied and bored but some luck into positions for which they're suited, excel, and are promoted is, indeed, consistent, but it's also pretty wasteful.


I don't identify high performance by the performance review system. I identify high performance by "Who would I like to have on my team if I were to found a startup?" I've found a fairly high correlation between these people and the people who get promoted.


To be fair, Google has a lot of very good engineers, so of course there are a lot of great engineers who are getting promoted. I'm pretty sure you could find an equal number of good engineers who don't get promoted. The rank-and-file programmers are just very good, with almost no deadweight.

Google's promotion process isn't, as far as I can tell, that broken. What's broken is the policy of making political-success (or, "perf") scores part of the transfer process. It's mean-spirited and creates an autocorrelation in project quality that many people never overcome.

Google would be a real company with a culture actually worth caring about if the executives manned up and did the following:

1. Go to open allocation. When you have that much fucking cash, you can invest in employee autonomy. No excuses. Do it. Learn from Valve, because you're not a cultural leader anymore, Google. http://michaelochurch.wordpress.com/2012/09/03/tech-companie...

2. Get rid of the "calibration" nonsense. It's stupid, and it goes against the idea of a peer-review driven company because that bus is driven by managers only. Fire the B-student management consultants who came up with it. Get rid of the 5% firing rate, too. (I know that Google rarely actually fires people, instead humiliating them with those insipid PIPs and transfer blocks. No real difference. Firing people with a real severance package is a lot more decent than wasting their time with kangaroo-court PIPs and tearing up their careers slowly.) Firing should be saved for real problem employees, rather than a threat that turns no-fault lack of fit into a problem employee. This tactic of-- without a business need (such as in a cash-crisis layoff)-- firing some set percentage (who tend to just be unlucky) to keep people "on their toes" is mean-spirited thuggery that doesn't belong in this century.


What was your 20% project?


Doesn't matter. The whole point in the 20% projects is not to ensure rewarding best projects, but to reward trying. Because eventually the good projects will flush out.

If you say you will punish failed 20% projects. Nobody is going to buy into a concept where you people are likely to be punished for failing to try and do something good for the company in the spare time.


I don't think michaelochurch did a 20% project, which is why it's interesting that he speaks so authoritatively on what happens to someone with one.


I went through a 3-month long interview with google in 2007, they said I did great in the interview and told me they'd be sending me an offer.

Two days later they rescinded and said they would not be giving me an offer without explanation. I was really pissed off.

A couple years later they contacted me again for a job and started the interview process, then I told them what happened the last time. They then said they didn't want to proceed.

Then a few month ago they contacted me again (these were all for basically the same job) - I sent the recruiter a rather terse email stating my experiences and said "stop wasting my time - either give me the job at salary $X or stop contacting me."

They replied that they couldnt meet my salary requirements.

Personally their recruiting method is farking ridiculous.


Same thing here, almost exactly, although they didn't wait a couple of years before contacting me again---more like a month.

On a third go-around, I asked what the deal was and haven't heard much from them since.


Get any offer in writing, and if it's rescinded, the words you want are: promissory estoppel.


At-will employment, unfortunately, makes that doctrine legally useless for workers in America.

A friend of mine came to this country (Israel) to work as a chemical engineer. His salary isn't large by American standards ($27,000 USD/year take-home pay), but for here it's pretty good and the benefits package is superb. The thing that really hit me, though, was that his job offer was a literal, written contract specifying, in legally binding terms, the conditions and compensation of his employment.

It was one of those "Why don't we have that back home?" moments. Why don't Americans get binding contracts for jobs? Honestly, which bastard came up with at-will employment?


"Honestly, which bastard came up with at-will employment?"

Some bastard, and they are not in short supply, who was not a fan of unions or the strengthened bargaining position that they give employees.

See also "right to work" states, where "right to work" means "right to find yourself without work and without recourse".


But at-will employment is actually a separate issue from unionization. At-will employment goes against what most countries and cultures regard as a cornerstone of capitalism itself: clarity and enforcement of contracts.

At-will employment: anyone can terminate the employment relationship at any time, unilaterally, for any reason or no reason. The party in the stronger bargaining position can unilaterally demand changes at threat of leaving/firing, more or less whenever they want.

No at-will, no union: employment is governed by a contract negotiated and bound at the start of the job. There are set terms, and agreed amounts of leeway. Either party who decides to unilaterally cheat the other can be taken to court and legally held responsible to the other party.

Seriously, why should Americans consider it normal to sign a Nondisclosure Agreement when beginning work for a new company but completely out-of-the-blue to have the employer be legally responsible for granting so simple a "privilege" as a 40 hour work-week without threatening to fire you?

(Which, by the way, doesn't mean things like long work-weeks don't exist in "contract employment" countries. My friend I mentioned has a standard week of 45 hours. That length is set by his contract, which he agreed to. What they can't do is sign him to a 45-hour week and then start regularly demanding 55 hours each week. This pleasant standardization of his hours allows my friend to attend language-immersion classes after work to get his Hebrew up to par -- an absolute must for integrating fully into the Israeli economy as a competent worker.)


Yes, that's so, at-willness of employment and unions are separate.

I nevertheless believe it comes from the same impulse, because, in general, the employer is in the stronger position than the employee. (Not always, of course, and it's certainly possible that some employers regret not having contracts with certain of their employees.)


Union rights and at-will employment are intimately connected.

What do people get fired for? It's rarely a true "performance" issue. Mostly, it's anything that the company judges to be against its interests. (In contemporary companies where managers can unilaterally fire people, it's anything that is judged to be against the manager's interest.) Anything that is perceived as disloyal, no matter how small, will usually lead to termination. That's how human societies tend to work, so it's not reasonable to expect that (absent legal incentives to operate differently) corporations would behave differently.

At-will employment, philosophically, trusts the company to pursue its own rational interests and gives it the right to terminate an employee if it believes retaining him to be outside of its interest. I don't fully agree with it, but that's what it is.

Collective bargaining is something that governments have decided that workers have the right to do, even though unionization is decidedly against management's interest.

The fundamental question here is: is it reasonable to expect companies to continue to employ people who, lawfully and ethically, act against the company's interest? There's no simple answer to that one. Greg Smith didn't do anything wrong, but I can't say Goldman would have been wrong to fire him (had he not resigned). On the other hand, the social benefit to unions (in theory, at least) and whistleblowing provides a good reason for the law to protect some categories of employees acting against employer interests.

Over time, the laissez-faire policy regarding employment relationships has been scaled back-- in the U.S., not enough; in many European countries, too much. It's now technically illegal to fire someone for attempting to organize a union, filing a discrimination or harassment claim, escalating a disagreement to HR, or even publicly disclosing one's salary (try that one in most white-collar contexts and see how long you last!) The problem with at-will employment is that companies have become very good at making illegal firings look "performance"-related.


> Seriously, why should Americans consider it normal to sign a Nondisclosure Agreement when beginning work for a new company but completely out-of-the-blue to have the employer be legally responsible for granting so simple a "privilege" as a 40 hour work-week without threatening to fire you?

The same reason half of Americans wholeheartedly approve anything else that screws them over. At least it's not so bad here that the employer has at-will capability but the employee must give notice to quit.


One day the workers will be billionaires and at that point they want to be able to tread upon their underlings as they themselves were tread upon?


Basically any state where the majority of people there see "right to work" and that's all the info they need to believe it means something good.


At-will employment is complicated. Very complicated.

The truth is that you should usually take the severance as offered, because a lawsuit usually isn't worth the time and reputation risk. That said, there are reasons companies write severance contracts. They're afraid of lawsuits, and secondarily about what you might say about them.

At-will protects the right to end employment for business reasons (layoffs) and to fire people for objective, published performance standards. The first of these, I think, is completely reasonable. The second would be reasonable if the standards were published before people accepted the offer.

Performance improvement plans (PIPs) attempt to make subjective firings look "performance" based, but if you know how to play that endgame, you can draw it out and make your manager's life hell without giving him anything objectively fireable. (You shouldn't make his life hell. In fact, if you can strike a deal with him where he improves your review so you can transfer, and you get the hell out of his way, that's better. You should get a new job and resort to endgame tactics only if you need more time at the old job.)

With a rescinded offer, there's no performance case, so it's only legally acceptable if the company can establish a business-related reason (such as a plant closing or a hiring freeze).

It's very unlikely that one will actually end up in a lawsuit over this. You use the words "promissory estoppel" to get a severance package, and you take it.


Personally I think these anti-discrimination laws are likely fundamentally flawed.


If Googles interviews had seemed to be remotely reasonable, I'm sure the people complaining would have been fewer. As it is, they seems very much to have the attitude that it doesn't matter if they weed out tons of great candidates as long as they weed out the bozos too.

I once went through technical phone screening with them for a management position, and was bizarrely asked lots of probing questions about unix filesystem internals. Which I answered with descriptions of how it varied by implementation for 3-4 different filesystems I've worked with over the years. But I hadn't worked with his pet filesystem and so couldn't answer everything the way he liked.

In the end the recruiter came back to me totally exasperated after he'd failed me. She'd looked at my feedback and taken it to some committee, and had the tech interview thrown out after they realised the type of questions I'd been given.

But by then I'd have time to reflect about the fact that the guy who interviewed me was on the team I'd been expected to manage, and I did not like the thought of a team like that. Couple that with a process that seems almost designed to push away people who aren't desperate to work there, and particularly people who have plenty of other alternatives, and I lost interest.

(Blind allocation for example, is not something I'd subject myself to - the only reason I said yes to that interview round was because it was for a specific position)


they seem very much to have the attitude that it doesn't matter if they weed out tons of great candidates as long as they weed out the bozos too

Yes, this is their explicitly stated intention, as I recall.


>the attitude that it doesn't matter if they weed out tons of great candidates as long as they weed out the bozos too.

What would you do if you got over 2 million applications a year for a few thousand positions?


I realize the problem. But their current approach has the outcome of alienating a lot of their target audience from even wanting to work there, or at the very least wanting to subject themselves to the hiring process.

The result is that a lot of people who are good enough to find it easy to find competitive jobs elsewhere self-selects out of the process, leaving the people who either really badly want to work specifically at Google, or who don't have other alternatives, in their hiring process.

The former group likely will contain lots of great people still, given that there's still a lot of people who see Google as a great place to work. The latter group likely isn't who they want.

Clearly the former group is not enough, given that Google has an army of recruiters who keep hassling a lot of us who have never applied to Google and/or who have turned them down for interviews or jobs before, or who have even worked for them and left.

They recognise they are losing out on a lot of good candidates, or they wouldn't have these people calling the same potential candidates over and over and over.

And from personal experience I know a lot of their recruiters are frustrated at how hard it is for them to fill many positions, and how often they approach candidates and are explicitly turned down because people don't consider it worthwhile subjecting themselves to their interview process when they can easily get jobs with competitive packages and terms elsewhere.

The last Google recruiter who contacted me called me to plead for me to do a second round management interview after I was lukewarm after the totally botched tech interview I've mentioned in this thread - she'd gotten approval to simply skip doing another tech interview completely after the tech interviewer did his ridiculous nonsense.

But who would I keep putting myself through that shit? No other potential employer, many of whom offer better terms than Google are likely to do, have ever tried to subject me to that type of employment process. I know I'm good at what I do. I'm used to being rapidly pursued with face to face interviews, being taken out for lunches and dinners, having the recruiter and potential employer actively sell me on the prospects and the benefits of working there, being told upfront exactly what I will work on and having them make it very clear that they can meet my salary and stock expectations. It's not that I need to be treated like some special snowflake, but I'd put a premium on working somewhere where I know I am appreciated.

Googles recruitment process scream "we don't care".


Sounds a bit like the Death by Lethal Reputation example Nick "Ask the Headhuner" Corcodilos wrote up: http://www.asktheheadhunter.com/halethalrep.htm

Google could eventually reach that point....


I guess I'd do just like Google and hire an army of non-technical recruiters to interview my top prospects.


Yegge has explicitly said that Google sucks at hiring people.


> " If you're unwilling to provide proof you're not a bozo, you're probably going to be just awful to work with as well."

I do not see any justification for this in the general case.

It is true, I have seen it myself, that even students who receive good grades in a CS program can be bozos when it comes to actually building things. However, these same people are likely to do well on a coding interview because these people study for coding interviews. These students can also be miserable to work with, as their high opinion of themselves leads them to be uncooperative and terrible at communication.

I would much prefer to work with someone who has built wonderful things than with someone who can study to ace a coding interview. I would also much prefer to befriend someone in the first category (who wouldn't?).

I do not see the fault in an engineer with a full portfolio of past projects, be they personal or open source, expecting to be evaluated on the basis of that work rather than on some arbitrary algorithms assignment. In fact, I would be likely to have greater respect for such a person should she refuse the quiz, as clearly she values her time and is not willing to have it wasted to satisfy a recruiting bureaucracy.

And let's be clear about why algorithmic questions and interviews of this sort exist at all: because companies like Google are not interested in finding the next Thomas Edison, Nicola Tesla, etc. They are interested in finding engineers to do grunt work. Google already knows who its stars are, they are the guys sitting in the room during executive meetings.


> If you're unwilling to provide proof you're not a bozo, you're probably going to be just awful to work with as well.

I always liked the idea of people looking at your previous work (github, ...) and having a pleasant conversation about it rather than making engineers jump through hoops.

Especially if the company comes to you I think it's a weird thing that they'd assume you're a "bozo".

Given how lax the US employment laws are, you can always fire somebody if they turn out to be a bozo after all.


So here's where we have to agree to disagree. A pleasant conversation about your previous work is great, really, and as part of a complete package, likely to send you right to the top of my list.

However, in my experience, the tech industry is overflowing with pretenders. If I haven't met you personally, those github records are of limited use as there's no way to prove you actually did the work in question. I apologize for the paranoia upfront, but once a bozo gets into the foodchain, they can do a lot of damage before getting expelled.

And in the end, the kind of technical questions I ask are so basic that unless you haven't programmed in years or you've never read a programming or algorithms book in your life, you'll get them. What's really disappointing is how few do get them lately. But I attribute that more to the current environment of recruiter cold-calling as opposed to a decline in the expertise of programmers.

Much like in dating, most of the "good ones" are taken, and if not, they don't stay on the market very long.


Is your mentality typical of Google hiring practices? As long as we're going by anecdotal evidence here, nothing you've said here rings true. I've found great engineers by chatting with them -- if you can't separate a great, well-accomplished engineer from a faker by talking with him/her at length about their previous work, then IMHO the problem is with you, not them.

You said it best -- the process you describe above is reflective of a paranoid, neurotic obsession to have "the best" engineers, for some definition of best. Whether or not we agree on what constitutes "best" is not important, but if you insist that people who refuse, or fail, your particular method are bozos then you have your head stuck firmly up your ass.


I think the problem is the fact that we have two types of engineers: the academic geeks, and the creative geeks.

I wouldn't give anyone a pass if they show no personality, creativity and out-of-the-box thinking with good product intuition during my interview. Vice versa, I don't think any academic geeks would give me a pass if I couldn't solve their math puzzles with a proof.

I could be just talking out of my ass here, but it is nonetheless how I see this situation. I don't like it, but I don't see any evidence of it changing anytime soon.


In an interview, I have 30-60 minutes to figure out whether I want to hire you or not. My team writes a lot of code.

Therefore, I'm going to ask you what your favorite language is and then test your ability to write 10-20 lines of code in that language to solve a relatively simple problem.

If you can't do that, it seems to me that a) you don't like to write code and therefore I shouldn't hire you or b) you're out of practice and shouldn't have claimed expertise or c) you're a poser.

If your expertise is with something else, go apply for positions that require skill with said "something else" as we'll both be a lot happier that way.

It's a completely different situation if I know you personally but 95% of the time I don't and I have to make a quick decision.


Keep in mind that if we only have 30-60 minutes together, I'm going to be putting forth a lot of energy in determining if you are even worth working for or are just another bozo boss/company. It is just as risky on my part as it is yours. That doesn't leave a lot of time to think about any challenges you send my way, no matter how easy they may be.

It feels to me like such a process tries to shift the power towards the employer, to make it seem like you would be lucky to even have a chance to work there and focus the time wholly on the business needs, when it really should be a mutual discussion to see if both parties feel it is a good fit. Passing your test with flying colours only to find we are a terrible match is just as damaging as hiring a bozo to begin with, no?


Both are important; match is obvious, but what about the prospect of working at a place with a fair amount of deadwood? Even if they're on the way out, that's going to be ugly.

Failure to do the most basic of technical screening will result in the latter; as I've said in more detail before, in the '90s it was reverse a linked list in C/C++, look at this dozen or so lines of code and find some of the errors in them, and do some design (quiet, no one in the same room time allowed for that, with a discussion to follow). I didn't think it was too much to ask back then, but it sure weeded out a lot of people who couldn't program their way out of a paper bag.


I'm curious to know if you would reciprocate in kind? That is to send me code samples of the work your dev team has done on your company. Your goal is to ensure I'm not a bozo and my goal is to not have to work with bozo colleagues. Hence the exchange of code samples. Fair?


Heh, I'd go father than that, I'd set them in front of a console and let them look through the code base. Of course, this test works both ways ^_^.

Never had anyone ask for that, though. They would have gotten major bonus points for asking....


Before you spend those 30-60 minutes, I want to know if you're worth working for. If you go straight into coding tests, I a) know you're not, b) expect you to be a formalistic stickler, c) I know you haven't done enough homework to at least have a reason to believe I am good enough to have plenty of options.

If you have done your homework when interviewing me, you'll understand that you need to sell me on your company, your team and the position first to let me assess whether you're worth my time.

The candidates who will bend over backwards to satisfy your coding tests before you've spent at least 20 minutes explaining why they should care, are the candidates who are fanboys and/or don't have other decent options. You should ask yourself why.

I've called off interviews and called the recruiter back to tell them I don't want to deal with that company again over interviewers who conducted bad technical interviews, for the reason that I know my value and I know the value of my time.

Conversely, when on the hiring end, I don't want candidates that are happy to bend over backwards for me without any sales effort first, or who don't ask me pointed questions about the company, the job, the terms. It makes me immediately suspicious about why they are willing to make such a big decision without sufficient information to evaluate if it would be a good fit for them.


I don't quite support your position and am more in line with the parent one. It may be possible to find the "truly great" by a nice discussion but for those that are good and above it isn't so easy to separate them from the good talkers without some deeper technical discussion that gets started by an innocent technical question. The question is used to weed out the complete bozos and the deeper discussion to understand the depth of the person interviewing.

I truly don't understand someone who claims to be a great talent and not willing to put up with an hour or two if interview on technical topics. He might or might not be a bozo but by such a stance he failed my personal fit test.


If the question were simply, am I going to go to company X or not, then sure let's do the bozo test to your satisfation.

However, most candidates are going to have several options, and perhaps 7 or more opportunities that they want to chase down. In light of that, and considering that companies like Google want the person with 7+ opportunities chasing him/her, why grind them down by putting them through such an impersonal process? IMO it shows a complete lack of respect or understanding of the position the candidate is in.

If you are the only one who says "great talent should be willing to jump through my hoops" then it's not a problem. The problem is when everyone wants you to jump through their pop quiz, which is what happens when smaller companies see the leaders of their industries institute these bullshit procedures.


To your point about "7+ opportunities":

Last time I spoke to Google, I had two offers on the table from companies who contacted me after Google, before Google even managed to put me through a tech interview. They then proceeded to mess up the tech interview so badly that the recruiter got the result thrown out and got approval to bypass the whole thing. In the meantime said two companies invited me for dinner and lunch and an informal gathering to meet the teams I would manage if I said yes. In the end I ended up staying where I was, but Google was by far the easiest company to turn down: I didn't proceed through the second interview, because I didn't see the point when comparing the treatment I got.

This is what their rigid bureaucratic process results in. Perhaps Google would not have wanted me at the end of it, if I continued the process. But if so, then presumably any candidate they would want for that position would find it even easier than I did to line up other offers in the same time frame.


I don't espouse the Google interview process, just some technical questions. I've done at one point the Google interview process and actually wouldn't suggest to follow it.


to be honest, many positions are filled through referral.


If your concern is to ensure that you're not getting a coding bozo, I think that your tests are designed incorrectly.

Instead of having a 'simple test', just find some random, buggy sub-optimal code sample online (shouldn't be hard) and ask them to identify the problems with it and refactor.

I can almost guarantee you that bozos won't see half the problems, and they definitely won't know how to fix them.

Asking someone to code up simple examples on a board ends up just testing a dude's ability to code up simple coding questions. Bug finding/fixing, creating readable and elegant code and the ability to refactor are all much more relevant and important than asking if someone can implement a sorting algorithm or parse a custom data structure.

In the end, I think that by testing candidates this way it'll make it more likely that the people you hire actually have skills that are important to their daily work.


As someone who regularly interviews prospective engineers at my current gig, I see no problem with expecting candidates to arrive prepared to answer algorithm questions or questions about their strongest programming language.

And as someone growing to be an expert in programming languages, I'd appreciate if Google didn't immediately peg me as "useless academic" for using something other than C++, Java, and Python.

Ditto on Amazon.

I'm reasonably sure I failed a couple of job interviews for being more familiar with Scala than Java.


Actually, for reference of why I mentioned those languages in specific, it's because the following scene happened in these interviews:

Interviewer: Could you figure out how to solve a blah blah blah for me in whatever language you prefer?

Myself: By "whatever" language, do you mean whatever language? Is Scala ok?

Interviewer: We'd prefer C++, Java, or maybe Python. Try with one of those.

It's one of those things like the "pieces of flair" in Office Space. If you require an object-oriented, weakly-typed, imperative language whose syntax you've seen a thousand times before, please specify so. Don't put out job ads looking for creative, intelligent professionals who think outside the box and then tell me, when I come to the interview, that I can paint it any color as long as it's black.


A (very naive) friend of mine started programming in Haskell for a job interview because he thought it'd show the interviewer that he was creative, liked to learn things out of the beaten path, etc (after all they said 'your favorite language').

Needless to say the interviewer was very confused and irritated, and asked him to switch to Python/C++/Java after 15 minutes. He didn't get a followup interview (this was with a big major tech company too)


One mistake (of his):

The point of these programming tasks is not to show off your prowess; most of the time the interviewer is trying understand your thought process and maybe some basic programming abilities. Think of it like a sanity-check.

Showing off turns people off because it can lead to negative team behaviors. Being creative to make life better is good, but there's a line between that and being too clever to work with other people.


Yup, that's basically what I told him.

What's sad is that he wasn't really showing off— he's just one of those computer scientists who loves to geek out and doesn't really think how other people could interpret it; and I guess he was hoping the interviewer would just start nerding out with him, that they'd start talking about how GHC handles lazy evaluation, and that everything would be perfect.


And the interview did its function properly - the position isn't a good fit for that person. If nerding out during the interview about lazy evaluation and purity isn't happening, then its probably all for the better that the interview failed, then to have a disfunctional team with the odd language nerd.


I (and some others) once interviewed a guy who had recently started learning Lisp. He wanted to show off and use it on the whiteboard. Not a problem, theoretically - we've had a guy give us Prolog solutions beautifully explained.

He botched it. We laughed and let him retry in C. He solved it successfully - and also more people than myself could read the solution. Since he was a really junior chap, we didn't really have an issue with the botching.

I am OK with someone showing off. But you have to actually make the run successfully, IMO. Personally, if you can write FizzBuzz as a call/cc continuation, more power to you. I really want to see if you can grasp the upper reaches of computational abstraction in our field, i.e., show off. But trying and failing doesn't really win you points, at least with me.


It's only showing off if you think Haskell programmers are better than everyone else ;-).


Scala is great, I wish it saw wider use.

But given your claim to be an expert in programming languages and that many teams need C++, Java, and Python skills, perhaps a little flexibility on your part would go a long way?

Or given that such flexibility is not an option, why not target teams that need Scala skills instead of complaining about the teams that don't?


I actually can program in C, C++, Java and Python just fine, and I've repeatedly told the companies so (and have published portfolio work in Java and Python). Where they faulted me was for falling back on Scala syntax in my psuedocode answers to interview questions, rather than immediately jumping into "ordinary thought" in an imperative, weakly-typed, object-oriented language.

If I worked with X most recently and I tell you so, could you allow that I'll have X at the top of my head in the interview rather than Y, Z, A or B? I'm not going to totally swap-out everything about my last job and my hobby projects from my brain for the sake of someone who hasn't even offered me a job yet.


"being more familiar with Scala than Java" is a few miles east from "cannot/will not write pseudocode comprehensible to people who don't grok functional languages".


As with most communications distances, that depends entirely on where the other person is sitting. I never use monads, for instance, and only use type-classes when they look really applicable. Still, if the person I'm talking to has never heard of a map() primitive outside of MapReduce, that causes issues.

And then the #1 thing that really causes friction is recursion. Most people interviewing on behalf of BigCo's seem to think recursive algorithms are dirty and will always/almost-always overflow your stack. I learned in second-semester of freshman year of college that with a little work, every recursive algorithm can be made tail-recursive can be made iterative, and that rejecting recursion wholesale is premature optimization.

The best interviewer I had on the topic (who couldn't offer me a job because I'm a hardcore algorithms/CS guy and he ended up needing front-end web developers, no harm no foul) accepted my recursive answer and then proceeded by asking me to make it iterative. That was the best, in my opinion, both because it shows a level of "academic" knowledge about recursion and iteration, but also because it was exactly what I would have to do in a real job situation: transform a theoretically correct algorithm into a usable implementation that can perform well.

The people I want to criticize are the ones who seem to believe, or want to believe, that no such usable implementations of functional or academic techniques can exist, categorically, and hence that anyone who answers a question with anything so "functional" as a recursive algorithm must be a stack-overflowing, head-in-the-clouds academic or simply an amateur. Hence why I bring up Scala and why I'm not much of a Haskell programmer: it's damn well readable and usable for people who aren't functional-programming gurus, you can write code in it that plays well with CPU and memory, you can use a wide ecosystem full of libraries, and it comes with just enough functional magic baked into itself in just the right way to make the "magic" parts (like the Option functor) easy to learn and use for people who don't care about functional programming theory.


Funny, a lot of the technical questions I had to do in pre-screens and in the interview itself were naturally solved via recursion and were what the interviewer was looking for. This is both with Google and large financial companies.


Like I said, the interviewer who asked me to convert recursion to iteration, who knew something about it beyond "Dirty!", was a great guy with whom I had a great time. The fact that my quite-sufficient-in-his-opinion algorithmic skills ended up not being what his company actually needed doesn't change that it was a wonderful interview.


I write tail-recursive functions in C using gotos sometimes. I figure why bother with recursion when the function call would be two jmps, register spills, and stack growth?

I'd say you are doing it right, it's just too bad the companies you had these experiences with don't understand you are a solid candidate.


It's really not that bad. I ended up back in academia getting a funded MSc, and at this level I'll be interviewing in summers or at the end of my degree for industrial positions that are more in line with what I want anyway. Why not walk to the door that says, "Research and Development Engineer" rather than "Generic Software Engineer N+1"?


Definitely; I'd much rather do R&D as well. Good luck!


The allocation policy is something that people are not fans of, but it isn't as bad as you make it sound. When I joined Google, I also initially joined a team that was a bad fit for me. However, I transferred to a completely different team (from enterprise server software to consumer mobile software) after 4 months of near zero productivity, and the new team was a perfect fit.

Much of Google's culture is based on being willing to tolerate mistakes and fix them rather getting everything perfect the first time. This applies to both the computer systems (the system should keep running even if part of the network fails) and people. In the latter case, it means the person should be aware that things aren't always perfect and proactively try to adapt and improve the situation. Unfortunately, this chaotic method doesn't always work for everyone and people who want perfect order end up getting stuck in a position they don't like, burn out, and leave. Ultimately, this is bad because it results in the loss of good employees who don't like this chaos, and I'm sorry that it happened to you, varelse. However, I prefer this over a situation where I would interview for a given position and my offer would be based on whether or not I was a good fit for the position that particular position. That method would result in losing people who would be able to fit in well somewhere at Google but not with that specific team.


Could you say more about how you arranged to transfer? Others have suggested it is impossible or very difficult, but perhaps they are outliers or victims of older policies. Was it 4 months of trying to be moved, or did you move quickly after trying your assigned role for a while?

(I think I would move the other way, into servers :))


It was <3 weeks from the time I decided I would be more productive in a different group until the time I was at my new desk. The stages were roughly 1) meeting with my manager and manager's manager to notify them that I wanted to transfer. 2) Meet with other teams to find one that was a good fit. 3) Get all the sign offs from people who needed to sign off. Step 2 took most of the time because I didn't want to make the same mistake that I made the first time.

Others who have run into problems and left might be outliers, but it's difficult to come to a solid conclusion based on anecdotes. People who have bad experiences will have stronger feelings and bring up their experiences whenever possible (E.g. michaelochurch who complains about Google every chance he gets) while those who have good experiences like myself don't mention it as much. I only mentioned my case because it was a counterexample to varelse's case, and this is probably true of many others who have had good experiences and don't bother talking about it.

Just remember that the plural of anecdote isn't data, and negative anecdotes tend to suffer from selection bias because they have a greater emotional impact upon the person.


I should note that you probably made that decision before you had a negative perf in your record. If you had waited you'd have been less likely to have had a good experience.

(I'm another who got dropped into a "poor for me" role. I waited too long to think about transferring. The site director said that I shouldn't have made that mistake. A co-worker on the same team who was in a similar situation at an earlier stage, on my advice, proceeded to begin his transfer immediately. He had a much better experience.)


> I should note that you probably made that decision before you had a negative perf in your record.

where would such a negative perf come from? And what is that sort of record's nature? Is there any managers here who could clarify how this whole shebang works?


Google has quarterly "calibration scores" that are assigned by management, but require a lot of political in-fighting because there's a forced curve across the company. You don't see your score but only get a range. "Meets expectations" is what most people get and it's a huge range: from 3.0 (can't transfer, borderline for a PIP) to 3.4 (above average). What this means is that you're managers can smear you and you have no idea that it's happening. Evil much?

Then there's a semi-annual Perfolympics in March and September, which is peer-review driven (engineers drop everything for about 2 weeks to write reviews) but has all sorts of boondoggles that are easy to abuse. For example, there's unsolicited feedback and even manager-only feedback that you don't see. Google routinely has to pay out settlements because of aftermath of this system. If you work in technology, chances are that you know a couple people who've collected six-figure settlements because of things said about them in the Perf system. Needless to say, this only gives Google further incentive toward secrecy.

Also, Perv really is a "permanent record". A bad Perf will block you from getting promotions and transfers 5 years later.

Google is nothing if not abusive with data, although in this case, I'm hesitant to call that deeply subjective garbage "data".


You are spouting nonsense sprinkled with vague half-truths. You have a distorted view of what one part of Google might have been like for the short time you were there.

There is no forced curve. One of your "Perfolympics" is actually optional. Perf is technically a permanent record, but promotion committees will rarely look back beyond one or two cycles (e.g. up to a year). Five years is nonsense.


My bad experience aside, I got over it, and life as a Xoogler is fine. In fact, I think I'm on better terms with Google as an ex-employee than when I worked there. And that's because the thing I'm really really good at is at odds with the core beliefs of Google's management. This begs the question of why they so aggressively recruited me in the first place, but really, that's mostly water under the bridge now. And that question is answered, I suspect, by the left hand not knowing what the right hand was doing.

In the end, if a team at google in need of my specific skills (cue obligatory Liam Neeson schtick) recruited me, I'd happily go back. I don't expect that to happen, and in fact, the one project that remotely resembled something I'd want to do there got deprecated.

Life goes on...


I think this is something that varies by office and by manager. I was told that maybe they could let me transfer after a year, but that even a low "meets expectations" score would mean zero chance of being able to transfer.


This is essentially correct. 3.4 is fine, but 3.0-3.1 means you are dead and may not even know it. It's utterly immoral, because a lot of employees at 3.0-3.1 think they're doing fine. Their managers are just giving them low scores to keep them captive.

What's amazing to me is that employees don't know their rights. If your manager deliberately interferes with your work performance, that's illegal (harassment law). If a company allows transfer, then exploration of internal opportunities is part of the job. A manager who makes transfer impossible through negative reviews is interfering with work performance and therefore breaking the law. (That, by the way, is why "calibration" happens in secret.)

I'd love to see this turn into a huge class action lawsuit against every company (including Google) that does that shit. Serves the fuckers right.


> Their managers are just giving them low scores to keep them captive.

From reading these comments in this thread, it seems that this score is used to evaluate whether to allow the said employee to transfer.

Now, a manager has incentive to keep the best people in his/her team. Is this 3.0-3.1 score something they do so that a good programmer but is somehow "bored" with the crappy work (and face it, there is always crappy work) don't try to all leave?

IF that is the case, then there is something wrong.


From reading these comments in this thread, it seems that this score is used to evaluate whether to allow the said employee to transfer.

HR won't stop transfer with a 3.0-3.1, especially if those are more than a year in the past, but no one will want you. It's the standard ill of closed-allocation shops. When projects compete for people, the result is better projects. When people compete for projects, the result is worse people.

Captivity is the most common reason for bad perf. Second place is plain old punishment for things that are political in nature. In third place is "storying", which is when a manager gives bad reviews (and often projects with low visibility and no hope of success) to a good employee to bring him within an inch of his life, puts him through a PIP, and then starts giving him more reasonable scores. The manager gets a story about "rescuing" an "underperformer" and looks like a good boss, but the employee is lucky to transition into the company's lower-middle class, because no one wants a guy who was put on a PIP 5 years ago (having stayed with the company, while under the PIP, reflects on him worse than the PIP itself). The fourth-place cause of bad performance reviews is when the manager takes out someone he fears might be better than him.

Somewhere about #13 on that list is actual low performance, because 95+% of real underperformers are so good at underperforming as to be political wizards (they have a lifetime's worth of experience playing politics, since they can't rely on ability) and never end up on the Perf list.


Thank you for sharing. I had imagined Google was a place to "shop around" for a good fit. Whilst they seem much further from this than, say, GitHub, I'm glad someone came up with a counterclaim to the immutable blind allocation.


FYI, when I was there the company policy was that you had to spend 18 months in your initial allocation. Exceptions are... exceptions.


What prevented you from moving to a different field? Is Google not the dynamic, chaotic mass of teams that I've been led to believe?


LOL. Google is still a company, and the employees are hired to deliver stuff that the executives decide is important. It is not a college or grad school where you can switch between majors or research topics at will. Usually you have to stay for about 18 months in an assignment before you can successfully change to another group. Otherwise, there's always the door; which almost everybody prefers, considering how easy it is for them to find jobs they like outside of the big G.


Interesting. I thought the various groups inside Google competed for engineers? To the extent that there are posters advertising working on Chrome/Android etc.

Given that it is "easy" for people to leave, I would have thought the policies would be forced to change?


> "Given that it is "easy" for people to leave, I would have thought the policies would be forced to change?"

I wish this were true. Certainly, if people were more careful about how they spend their lives, this would be true.

However, you need to consider the average (or even above average) young engineer and how he makes decisions. Sit in a computer lab at a major engineering university and start a conversation with the CS and EE students to see what kind of work they want to do. They have no idea. These kids work themselves raw to get perfect grades in EECS programs that require all-nighters to get the work done, but at the end of the day, they are as confused about The Good Life as anyone.

Most of these kids have had heavy pressure from their families to do well in school, and that same pressure pushes them into a "prestigious" company like Google. Recruiting flyers actually use the word "prestigious" (same for recruiting flyers for the various engineering student groups and fraternities), which I think must be specifically targeted as Asian students' cultural background.

A lot of great minds I have studied with simply shrug when asked what they want to do for a career. Hence Google has its pick.


A lot of great minds I have studied with simply shrug when asked what they want to do for a career. Hence Google has its pick.

Admittedly, many people know damn well what we like doing, but are just about equally sure there aren't any actual jobs doing it.

For example, I like academia. It's not perfect, and I could certainly make some improvements (like more money, less bureaucracy, less enforced hierarchy, and more personalization of... everything), but next to business life (at both a mid-sized corporate environment and a niche bespoke software business), I like it and I'm good at it. That doesn't mean there are anywhere near as many jobs available for aspiring academics as there are qualified aspiring academics.

Eventually, something has to give.


You're thinking Valve.


I futilely attempted to get reassigned to something close to field D (really, B, C, E, or F would have been just peachy) and that seemingly got me flagged as trouble internally.

"Meets Expectations" ranges from 3.0 to 3.4, and employees in this range have no idea where in that interval they landed, even the career effects of the numbers are dramatically different. 3.4 is above average, while 3.0 is fatal to transfer and promotion, even years later, but unlikely to get someone actually fired. There are several managers who've been caught using 3.0-3.1 to keep people captive but unaware of the fact that they've been internally blacklisted. It's disgusting but it happens.

Whoever came up with the "innovation" of making review history part of a transfer packet (and that has nothing to do with Google; it pre-dates it) is a domestic terrorist and should get the same treatment that all the other terrorists get. It's a horrible system that eats companies from the inside. Enron's cultural decline (leading in macroscopic ethical lapses and bankruptcy) has been established to be a direct result of its globally-visible, mobility-destroying review system.

Google's Perf is a play-for-play copy of Enron's PRC, but Google probably won't go the way of Enron for extrinsic reasons. A lot of Enron employees had nowhere to go (for geographical and specialty reasons) and had to make ethical compromises to beat PRC, whereas a lot Googlers leave for greener pastures when that happens.


WAT? Enron was a scam from the very highest levels of the corporation. Unless you're suggesting that Kenneth Lay got a 3.0 from his board of directors and reacted accordingly, this is a ridiculous comparison.


Apologies in advance for the Gladwell link, but he's likely referring to Enron's "star system": http://www.gladwell.com/2002/2002_07_22_a_talent.htm


I'm not disputing that there were silly McKinsey-ite management practices in place at Enron. I'm disputing the idea that those practices had anything to do with Enron's failure. The reason 'michaelochurch invoked Enron in his comment was to link Google with Enron, as if to imply that Google's internal management practices would eventually result in a similar comeuppance. That's an absurd connection to make.


The reason 'michaelochurch invoked Enron in his comment was to link Google with Enron

This is pretty much it. The companies have diametrically opposite reputations, so it arouses not a small chuckle that their performance review systems are almost identical.

as if to imply that Google's internal management practices would eventually result in a similar comeuppance.

Unlikely, for a variety of reasons. For one thing, Enron's executives were criminals. I think that Google's top guys are decent but unseasoned judges of character, which is how stuff like Perf gets through. Companies like Google have an unusually high rate of decent people getting the top jobs, but said decent people are generally terrible at telling when their underlings are lying to them (which, if you're high enough up, is almost always).


Why apologize for a Gladwell link?


Gladwell writes a lot of anecdotes which are then taken as pseudoscience, and unfortunately get repeated as science because of his popularity.

http://www.joelonsoftware.com/items/2008/11/18.html

> Michiko Kakutani reviews Malcolm Gladwell's latest book in the New York Times: “Much of what Mr. Gladwell has to say about superstars is little more than common sense: that talent alone is not enough to ensure success, that opportunity, hard work, timing and luck play important roles as well. The problem is that he then tries to extrapolate these observations into broader hypotheses about success. These hypotheses not only rely heavily on suggestion and innuendo, but they also pivot deceptively around various anecdotes and studies that are selective in the extreme: the reader has no idea how representative such examples are, or how reliable — or dated — any particular study might be.”

>

> This review captures what's been driving me crazy over the last year... an unbelievable proliferation of anecdotes disguised as science, self-professed experts writing about things they actually know nothing about, and amusing stories disguised as metaphors for how the world works. Whether it's Thomas Friedman, who, it seems, cannot go a whole week without inventing a new fruit-based metaphor explaining everything about the entire modern world, all based on some random jibberish he misunderstood from a taxi driver in Kuala Lumpur, or Malcolm Gladwell with his weak theories on tipping points, crazy incorrect theories on first impressions, or utterly lunatic theories on experts, it all becomes insanely popular simply because the stories are fun and interesting and everybody wants to hear a good story. Spare me.


>or utterly lunatic theories on experts

I've read (and enjoyed) all of Gladwell's books. Outliers' theme revolved around the idea that in order to be good at anything you need to practice. It popularized the "10,000 hours" principle. I'm not sure how that qualifies as "lunatic".

This is pop-media, not academic research; it's a good "jumping off" point. God forbid someone tries to be entertaining with their non-fiction. But, last time I checked Gladwell had 3 titles on the NY Times best sellers list, so he probably doesn't care what any of us think.


The problem with the "10,000 hours" principle is may be you will be immensely successful following it. But don't be surprised if you don't.

For you to be successful "10,000 hours" might be one of the many thing that need to fall in place. In many cases it might not even matter, to give you a simple example- If you are born in a society full of tribal wars in some poor country in Africa. I seriously doubt merely putting in 10,000 hours of work will help you out of the situation. The fact is luck, opportunity, being at the right place all matter.


i doubt anyone is claiming that having 10,000 hours put into a skill/craft is going to make you successful. It's merely a pre-requisite, and not the only one at that.


Look at Mozart, for instance. He'd put in his ten thousand hours by the time he was like three.


>"But don't be surprised if you don't."

Necessary, but not sufficient.

>"The fact is luck, opportunity, being at the right place all matter."

True, this was also a theme of the book.


He's in the pocket of big tobacco, wall street and the health insurance industry, for one thing. http://shameproject.com/profile/malcolm-gladwell-2/


That link certainly seems reliable, well-researched, and unbiased.


There's a general "smear" feel to Project Shame. YMMV. I don't find the information at the link compelling.


He has been criticized for a lack of rigor in his assertions.


It's not academic research. The guys is primarily an author selling books, and rigorous academic treatises tend to end up in journals nobody reads.


It's not black and white like that, and the marketplace means that there is a meeting in the middle when assertions are presented scientifically enough for a layperson to ascribe authority to them.


Exactly - I feel guilty citing Gladwell on a forum because it smells factual when in reality it's merely persuasive.


Well, sure, but the problem is the more scientific you get the smaller your readership is. It might not matter so much to you as the author, but your book can't become an object of discussion if it isn't widely read.


It was actually Skilling, at least as much as Lay, who was responsible, but you're right that the corruption existed mostly at the executive levels.

It's probably more likely that Enron's management practices were a symptom rather than a cause of moral depravity, but I tend to think of such things as self-perpetuating. PRC probably didn't do any cultural harm that wasn't already there, but it did no good.


"A lot of Enron employees had nowhere to go (for geographical and specialty reasons) and had to make ethical compromises"

You're not seriously blaming Enron on your average grunt, are you?


If you've heard the recording of the Enron traders joking about the California power crisis you know that some of those grunts were pretty unethical.


No doubt. I'm was implying that the fraud was pervasive in all of the company's strata, that it was not the invention of your average low-level employee and manager.


No, of course not, but it wasn't only grunts who were subjected to PRC.


Are you referring to Enron's stacked ranking practice? I don't think Google does anything approaching that.


At Google, "Perv" history is part of the transfer packet, which means that people with average political-success (sorry, I mean "performance") histories become immobile, creating a low-morale underclass that is good for mailing-list drama but bad for the company. It turns average employees and no-fault lack-of-fit cases into problem employees who have to be pushed out. It's disgusting, and people who believe this is okay shouldn't be allowed to make decisions that affect other people. Or drive. Or breathe.

I know that practice is now typical in companies, but it's morally indefensible. Having "Don't Be Evil" as a motto is no excuse. I think Google is a great company in many ways and I have a lot of respect for the engineers I met there, but the people who designed "Perf" belong in jail for the billions of dollars of shareholder value that they torched for no good reason.


This happens at Microsoft, too.

Have a bad year, get "underperformed". (I dare anyone to have a long career without having a bad year at some point).

Ding! Now it's really hard to move until you've scorched that badness from your record. Your mission is to get a bunch of good reviews, or get promoted, or find a sympathetic ex-manager who's willing to hire you anyway (this is why you need a network, and one reason why the "patron" mechanism emerged -- the patron model compensates for a broken review system and a bunch of busted policies that surround it).

I've been in the software biz 30+ years and I've had really horrible reviews 3-4 times. It can be devastating if you're in an organization run by robotic principles. [btw, I'm not a bozo. You only have my word for that, I know . . . but I'm not :-) ]


I believe you. Bad reviews have a lot more to do with politics than anything "performance" related.

Making the review part of the transfer packet is one of the worst corporate "innovations" designed. It's not just mean-spirited and immoral (because it gives managers a way to keep people captive). It also makes the review process totally pointless. An honest review needs to be between the manager and employee. Here's what you did right, here's what you did wrong. If it starts having long-term effects on the employee's career, then you can no longer have an honest review process because the stakes are too high. There are two options. (1) Give everyone high ratings they don't deserve, so your employees still like you, making the "review" pointless. (2) Give a few bad ratings, and turn no-fault lack-of-fit cases that would usually be resolved with transfer into outright wars that burn up a lot of time and energy and generally hurt the company.


What is wrong with a manager who is considering bringing you onto their team wanting to know about your past performance at the company? I bet that happens at EVERY company. It certainly did at Microsoft.


Because software development is not the 100 metres. You could spend weeks on a particularly elusive and obscure bug and change one line of code. While you were doing that, your colleague built 2 new 'oh wow' features, banging out hundreds of lines. There is no standardised measurement for 'performance' that can rank those two achievements objectively, so to assess performance, it comes down to the subjective opinion, motivations and political goals of the 'assessor'.

More to the point, if the subjective performance metric rewards the latter and punishes the former, the net result is more features AND more bugs.

In other words, it's crap wherever it occurs.


Of course, the manager is going to want to know. People would rather have information than not have it, even if it's wildly inappropriate.

Microsoft was destroyed by stack-ranking and the global visibility of political-success review (I mean, "performance review") history. Are you seriously trying to use Microsoft to make a case?


"Perv" history? They can see what you search for in incognito mode? :-O


Typo for "Perf" - or maybe you are making a joke I didn't get.


Yes, I was making a joke you didn't get.


Intentional typo. A lot of people call it Perv, as in perversion of justice.


A lot of people call it Perv

This is the first time I've heard that term.


> belong in jail for the billions of dollars of shareholder value that they torched for no good reason.

Wait, isn't it the shareholders' risk of investing in a company that torches money for no good reason?


> Enron's PRC

Tried looking this up on Wikipedia, and I'm pretty sure you don't mean "People's Republic of China". Or any of the other disambiguations on the page I ended up on. So even though I'd like to read up on whatever it is you're talking about, I find myself without a clue.


Performance Review Committee. The inspiration for Google's Perf system. (Otherwise, the companies are very different, but they have very similar review systems.)


I don't follow why being an "expert" in D would make you "bored" of Q. If Q is simply a boring field to you, that's one thing (and the appropriate response is to quit and find something better). But it's not your employer's job to give you your dream assignment. If they need Q geeks and you're available, then that's what you're stuck with. That's what being an employee is all about.


As if geeks are so interchangeable like sprockets! I'm an expert in my field, I have a PhD in it, if someone asked me to do machine learning or data mining or image processing, it would be a huge ramp up time for me, say about 2 or 3 years to get to the point of expertise I have in my current field. It would be a boring 2-3 years, and something that I'm probably not very interested in. If there are other jobs out there that make use of my expertise and interest, why bother with something else?


why would you be bored learning something new?


Depends what it is. I'm actually trying to get into machine learning, but I'm not into databases or knowledge representation even though there is some cross over on my field. My point is that I wouldn't appreciate just being thrown into a new field without any say. I might transition to a new field over time as my interests evolve, or as part of some negotiation where there is a crisis need. But no, I'm not an interchangeable part.


It's not absolute, but relative. E.g. I'd learn some interesting things studying either databases, or rocketry, but I'm pretty damn sure I'd be more interested in rocketry.


Because I might have more interesting things to learn and completely not care about the topic I am told to learn.


One of the things I disliked about Google was the tyranny of At Google. If you didn't do it At Google, it doesn't count. You don't really know the first thing about anything unless you did it At Google. It's an extreme case of institutional arrogance.

This explains the blind allocation policy. If knowledge that is not At Google doesn't count, then there's no point in matching people with their expertise or interests, because a Noogler by definition doesn't know anything.

In July 2011, I did some research on the strategy of the Google+ Games team and saw that the going plan was doomed to failure and seriously risked such embarrassment as to kill the entire product. (Lots of Zyngarbage, preferential treatment to mainstream publishers.) I had some domain expertise from designing a game and spending a lot of time hanging around game designers. So it was pretty easy for me to come up with a strategy that had a damn good chance of actually succeeding. I posted it internally and got a huge amount of engineer support. The strategy was to establish a quality-centered community first by providing a platform for independent developers, integrate it with Hangouts, and become a center for the "German-style" board game sphere. The high quality starting community would establish G+ Games as cognitively upscale, creating a comparative brand advantage that would persist in perpetuity.

By the way, the Google+ Games engineers also got wind of what I'd been proposing and they supported me. It was as obvious as it can be to humans (obviously, no one can predict the future) that this strategy would work. I got a ridiculous number of emails from engineers telling me that I was right on and that they wished they were implementing "Real Games" instead of giving ridiculous preferential treatment to mainstream publishers (who were throwing us mediocre product because they didn't expect us to succeed). What got me in trouble was that a lot of high-level people didn't like that an FNG had so much engineer support.

I was a recognized domain expert, but not an At Google domain expert. There were no At Google games experts, because Google had never gone into the Games space before (and that's smart, because Google did extremely well on web search by being ideologically non-editorial, but for the games space quality is so damn important that you must be editorial.) So it came down to politics, because Google's At-Google bias rendered it incapable of recognizing domain expertise and discovering a correct decision.

Finally I got an email to the effect of, "domain expertise isn't relevant here, deal with it. Besides, you're only a SWE 3." Well, fuck you very much. I don't see why job titles matter when you're about to lose millions of dollars and would have been making as much had you listened to me.

A year later, I was proven right, but it doesn't matter in the least. Google+ Games is a non-concern, and I'm not a part of Google.

The lesson I learned from that ordeal is not to try to "save" a company from itself because you can't. You'll be seen as right, and possibly even lionized, long after you leave... but it won't matter in the least. Keep your head down, stay employed, and enjoy the middle-row seat to the show-- that "show" being the people in charge making fools of themselves.


I don't want to go dredging up all my own boring/painful stories but my experiences at Google were very much like yours. I do want to chime in on this one though, and warn anyone with experience that before you take a job at Google -- be aware that as far as they're concerned you know absolutely nothing. The main thing they care about on your resume is your GPA whether it was last year or 20 years ago.


Again, None of what you are saying seems to be a problem only at Google. These are really MegaCorp problems, and they apply to Google as well.

I knew even from the beginning even 5-6 years earlier, when there was immense desperateness among geeks to work there. It was only a matter of time when all MegaCorp problems will eventually plague Google.


> It was only a matter of time when all MegaCorp problems will eventually plague Google.

this is really interesting - what is the cause of all these problems?

Is it inherent in a hierarchical organization? Is it because you have people who are responsible for the output of others (a manager), but isn't able to actually control that output directly, but is only able to indirectly affect it (and not very well at that)?

I think this issue of "control" is central. Facebook and valve seems to have their structure right (at least, the engineering department). But both is still young and small.


Open allocation seems to have one drawback. You still do need (a few) managers and executives (not to order people around, but to keep track of the bigger picture) but it's hard to hire managers from outside into an open-allocation shop because typically they want promises of authority, and OA is directed through leadership rather than intimidation.

Most companies move toward the closed-allocation end of the spectrum because they perceive a need to do so in executive recruiting. Most executives don't want to take a position where they won't have the power to unilaterally fire people.


Regrettably rhetorical question: And this is not a useful filtering function for most of the executives you'd want to hire?

A company must be able to fire people (I've been in ones that went down the drain because the founders were too nice to do this, or at least do it soon enough), but this sure sounds like Lord Acton's "Power corrupts, absolute power corrupts absolutely."


+1, This problem is not unique to Google.


"The lesson I learned from that ordeal is not to try to "save" a company from itself because you can't..."

Agreed in most cases, but you once said that before:

http://news.ycombinator.com/item?id=4337057


It reads like the parent got brought in as an expert in D, not Q, and then got told to work on Q, which wasn't their expectation. You'd be unhappy at that happening to you, right?


My understanding is that people don't find out their assignment until after the hiring. Sounds like the Air Force: dream of flying jets, end up cleaning toilets. At least at Google one can quit.


It's one of the reason why every time a Google recruiter contacts me, the conversation starts with me interrogating them about what exactly they are able to promise, and so far all but one were able to give answers that made it worthwhile to accept an interview.

If Google had been the hottest place in the world to work, and I'd been fresh out of university, then maybe.


Depends on what he meant by "expert". If he meant he has PhD level expertise in D and that is his life's work, then it's completely understandable he wouldn't be happy doing Q, and would seek to do D elsewhere.

People tend to misuse words like "expert" and "fluent" though, when they're really not, but on HN odds are higher that they're using at least "expert" correctly.


There are some among us that won't do tasks we don't enjoy. Even if it meant that our pay was to be cut, we'd flock elsewhere to seek the fulfillment of being applied to a more meaningful duty. The key here is that 'meaningful duty' is self-evaluated and the organization's value of that position holds no merit or sway to the individual.


"it's not your employer's job" It's in their best interest however to do so, as replacing him costs money.


Yes and no. Replacing someone who can't possibly be happy with the work you have available is cheaper than keeping them on. It depends critically on the details of D and Q. If you get hired by, say, Facebook and refuse to do web development you're going to be a bad fit. The goof here may have been hiring him in the first place.

It's important for both sides to accomodate. But sometimes fits just don't work. If what someone wants to do isn't something you need, or if they aren't as good at it as the other people you have on staff, then the correct fix is just to part amiably. It's no more Google's "fault" than it is varelse's.


It's a matter of resource allocation.

If you hire lots of, I don't know, compiler specialists but you allocate them to write web apps we're all possibly worse off. The issue is, and what you're not cottoning on to, is that in a company the size of Google there's probably a team working on x for all values of x that could maybe use another member.

They're only tolerant of their resource allocation scheme because they probably don't worry about their employee acquisition cost.

With a company the size of Google, it'd be really interesting to deregulate their internal labour market (i.e. what Valve does). Let people switch all the time! If you need to prioritize one boring, yet necessary team allocate higher salaries to it.


If you hire lots of [...] compiler specialists but you allocate them to write web apps we're all possibly worse off.

Speaking from direct experience, faced with the job of developing a framework for web data entry apps, what I ended up doing was writing a dataflow language for data binding. Another ex-Delphi compiler developer, Danny Thorpe, ended up co-creating Google Gears. IMO compiler development is a great basis for a certain kind of thinking about solving problems; but I'm also biased.


Speaking as another compiler guy (ok, more into PL), there is a reason many of the top engineers at Google are PL/compiler guys (e.g., Jeff Dean, Sanjay Ghemawat)...think of MapReduce. However, we are also sort of dangerous as we see many problems as PL problems, and if the problems require specialized domain expertise beyond grunt programming, we really aren't that effective (e.g., machine learning) without being paired with those domain experts.


PL man to PL man, what would you say the prospects are for taking a brain soaked in PL, compilers and software-engineering research expertise outside academia? You know, for when they boot me out of grad-school with a so-called "degree" in a bunch of years ;-).


You have a lot of choices, basically look for anyone with big iron requirements (big data systems/infrastructure). Microsoft, Google, Facebook love PL people. Many startups would be happy to have you also.


Oh wow. Given that my university (Technion) has strong ties to Intel and Marvell, and substantial ties to the local branches of Microsoft and Google too, it sounds like life should someday be good. That'll be nice :-).

Actually, I was at a presentation today for new grad-students, and one of the older grad-student mentors helping to present mentioned that the coursework phase of grad-school is a good time to get a bit of industrial experience in the summers. Once I actually have real grad-level PL experience under my belt I'd quite like to go and see what it's all about.


Sorry for the novice question, but what does PL stand for/refer to? My best guess is programming languages [creating them] but I have zero confidence in it.

EDIT: Sorry, did some research and assuming its this: http://en.wikipedia.org/wiki/Programming_language_theory


Because programming languages is so tedious to write. Actually, what you are referring to is PLT, which is a bit different from PL implementation and/or design. Implementation is usually associated with compiler, although these days it could be garbage collection, palatalization optimizations, or something else. PL design are the people who design programming languages, like say Hinkley, Mats, Pike, ...and tons of lesser known people.


If Facebook hired someone who wants to work on their compiler and put them on web development I'd regard that as an extremely bad decision.


Wrong. Any company that wants to be successful has to allocate their employees to positions they will excel at. Not doing so is a gross waste of resources.


Its more nuanced than that.

A company might want to hire an expert in Q because having expertise in Q means they are of a high skill level, and thus is able to also do D very well. D might be very mundane, boring or inconsequential from the point of view of the employee (and whether it is in reality as well is quite moot at this point).

THe employee might _want_ to do Q, but D is what makes the company money. Hiring someone who does D (but may not come up with novel solutions for D), or hiring someone who does Q very well, and assigning him/her to D in the hopes that they do a great job - which is better for the company?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: