Wednesday, August 04, 2010


In a comment on my previous post, a reader wrote:
Maybe you can write another post: To work for google or not? from the perspective of experienced engineer or fresh graduate.

I felt that it was a big disadvantage to work at google of you are an experienced engineer with master degree, because you will be hired into with almost the same level as fresh PhD, and had to learn those proprietary frameworks. Your experience does not have much advantage. Numerous review process will frustrate you a lot. Those engineers who joined before or around 2004 have already took good positions, you need to contribute 500% to approve yourself. Climbing the corp ladder becomes more challenge and google stock price is flat. Joining start up seems a better choice.
I disagree that the proprietary frameworks is a big deal. As distributed computing becomes more common, I think Google's way of doing things will become more common, not less. Already, companies like Cloudera are trying to popularize (through Hadoop and other open source implementations) the way Google does development. I wish Google had open sourced more technologies, but I certainly didn't mind learning new stuff, even if I had to fix lots and lots of documentation every time I had to pick up a new framework. Google had cool frameworks, and I certainly enjoyed being able to deploy thousands of machines at once to work on a problem.

It is true that there's danger in joining a company structured like Google. A company transitioning from a startup to a big established firm tends to use experienced engineers in very different ways than new people. For instance, it was experienced engineers at Google that forced a very different approach to testing. That was a thankless job, but people did get rewarded for it, though not without a big fight. Similarly, I had to establish a release engineering team at Google from scratch, but in exchange for that I was adequately compensated. A different engineering management structure than Google's might be more likely to reward (in traditional manners) the kind of non-sexy work that kind of work entails, but pre-IPO Google was quite generous, and those of us who joined pre-2004 had nothing to complain about. Note that Facebook, for instance, is taking an entirely different approach to this type of work than Google did, and I think that's a very good thing.

A fresh graduate, by contrast, can't be put on the un-sexy projects. So almost by definition the probability of being assigned a high profile project is higher. Furthermore, Google can be a great training ground, and the degree of reviews and mentoring (depending on the luck of the draw, of course) is a big help for at least the first couple of years. I would definitely recommend Google for a fresh graduate today. Having Google on his resume is also a much bigger deal for a fresh graduate than it is for an experienced engineer, who has presumably already had several success stories on his resume. And if after a few years it's clear that you're not on the fast track (you'll know within 24 months, usually), then you can reassess your position and look for a new job with the security of Google's excellent benefits package.

Let me tell the story of two experienced engineers who did not take a Google offer.

Y was a friend of mine from graduate school who interviewed and received an offer from Google in 2005. At that time, the stock price was around $200/share, and he was interviewing at Microsoft at the same time. This was a highly experienced engineer who had already co-founded a prior startup and sold it at a number in the 8 figures. Unfortunately, Google treated him like any other fresh engineer and put him through its standard interview process. He did well, but was not impressed. Microsoft treated him like a potential software architect, and put him through an interview process where everyone on his interview panel clearly understood his previous work and could quiz him about it. Unable to trust that what looked like an insanely high stock price could go up higher, my friend took the Microsoft job. After a couple of years, he realized Microsoft was far too big and difficult to change even at a very high level, he left and started another company. I think he had minor regrets about not joining Google, as I think he would have done very well at Google, since in 2005, entrepreneurial people were still having a blast. But given the way Google interviewed him, there was no way Y could have know that!

Fast forward to 2010, and another friend of mine started a job search. She reported to me almost 10 years ago at a previous startup, and was a brilliant engineer, so I vouched for her on a mailing list to help kick-start her search. Within 2 hours of my sending out an e-mail she had 5 contacts from startups. I asked her if she would consider Google, and she replied with two words: "No upside." This was someone who had worked her way up to being a Principal Engineer at a major Silicon Valley technology company. Her reply referred to two things: Stock price (at $500+/share earlier this year, the stock had room to fall and did fall), and the slotting lottery. Nooglers go through 6 months of training and work, and at the end of it get slotted into a position on the engineering ladder. If you're fresh out of school this is no big deal: starting at the bottom is expected, and if you get slotted higher it's a pleasant surprise. A Principal Engineer getting slotted at anything below that would essentially be getting an unpleasant surprise, while getting slotted at that level (which would be exceedingly difficult, since you'd have to prove yourself in 6 months while working on your starter project) would garner a "That's but to be expected." You can see why X chose to take a position at one of the Silicon Valley startups that was profitable and growing quickly. At the very least, the pre-IPO stock would be worth something. I think X made the correct choice for her career. Incidentally, I heard a story that a senior engineering candidate objected so strongly to the slotting lottery that management made an exception for him: by making him a director with no reports. I have no way to confirm this story one way or another though.

In short, there is no simple answer to the issue as to whether an experienced engineer can do well at Google. Obviously, one can. However, I would definitely not take on the risk of starting at Google as an experienced engineer without adequate compensation (i.e., don't take a pay cut) and without considering all my options. Given that the valley today is in the unprecedented situation of having quite a few highly profitable pre-IPO startups, I would be very surprised if a smart, experienced engineer could not get better compensation elsewhere. Hence most of Google's new engineering hires come fresh out of school, through an acquisition (which is one way for Google to acquire experienced engineers at a high price), or from one of the non-Silicon Valley locations where competition for talent is lower.
Post a Comment