Tuesday, January 30, 2007

Why I work at Google

I seem to get asked this a lot. But only by people that have known me for awhile. Noting that, I have a warning/disclaimer: If you don't know me or you only have known me since working at Google, this is probably not what you are expecting and might be excruciatingly boring or irrelevant. (you've been warned!).

The reason I get asked this is that I left a perfectly good start up called Preemptive Solutions to come here. When I say "perfectly good" its one that I am a co-founder, is now 10 years old, and was President (which I later became VP as I decided I wanted to live away from the HQ). In addition, the company has been by all measurements, a great success since inception - profitable every year, great product lines (and more coming down the pike!), and has over 20 employees (and aggressively hiring!).

The other original founder Gabriel and I have been friends since the 5th grade. I'm happy to say the company gave our friendship a foundation in lives that otherwise were diverging. I'm still a part-owner of the company and we talk almost daily.

In early 2005, I basically became ready to leave Preemptive. Not for any nefarious reason. I had been working remotely for a few years and I was ready for a change. No matter how you slice it, being remote leaves you out of the action - and I missed the action. Myself and 2 other guys (Bill joined us 6 months after we incorporated) built the company from scratch and it was a blast - but not being there, I was unavoidably an afterthought.

This was nobody's fault except my own. I really had 2 options - move back to Cleveland (where HQ is) or look to advance my life in another direction.

As luck would have it - life brought me to Silicon Valley. I had lived here before, but here I was again. And this time - I was looking for a job. At the time (April 2005) I was hearing plenty of buzz about Google, but honestly, after doing some comprehensive research on slashdot (*snicker*) it seemed like the luster might be have been off. I read (again, from the reliable people in-the-know that post comments on slashdot) that the hard problems had been solved. The big money had already been made. The cool people had come and gone. It seemed like the "party was over".

Just before my move, I attended the Software Development conference in the valley where I chair the Java track. Its a fun conference and the timing was perfect to give me a chance to look for a place to live. The thing about that conference is that it does a great job of attracting big names in the industry to speak. Consequently, the speaker party is always a ton of fun.

During that party I had a conversation with two very well known Java authors (who were appropriately snooty) where we got into a discussion about Google. It turns out that both of these "industry pundits" interviewed and were rejected (obviously, I'm carefully leaving their names out). I had heard about Google's "legendary" interviews - but I figured with a few books on your resume, how could you not get in?

Now mind you, after writing a computer book of my own and meeting many computer book authors, books don't impress me much. Writing a computer book is like getting a Ph.D. - its 10% talent, 10% luck, and 80% persistence (Ph.Ds "usually" take longer, but not always). And that's that. I'm not saying its easy, but a book definitely doesn't make computer book authors necessarily luminary or anything. This is probably especially true for books that don't invent anything (i.e., just cover an existing language or API).

Anyway, both of these snooty guys then proceeded to snoot on me how I probably shouldn't even bother as I don't have a chance (Again, I only wrote one book). Well, as you can imagine, it was now a moral imperative that I at least give it a try. If I didn't get in, I wouldn't be stupid enough to brag about it at parties. If I did get in, I could snoot back next time we met.

I'll admit that stories of Google's interviewing process scared me a bit. There was also a nagging question as to whether I'd apply as a manager or engineer. For the past 8 years I had been in management running my own start up. I hired, I fired, I made marketing plans, I built products, I built teams, I schmoozed clients, I did strategy. Granted, after 5pm I often found myself still coding - but that wasn't at all my main job.

I needed to decide whether to apply at Google as a (probably technical) manager or as an engineer. I preferred a managerial role but two things worried me. 1) I had no formal business education (which turned out to be way less important than I thought, read below). And, 2), business interviews (anywhere) are what we call non-deterministic. Basically, you can give great answers, but if the interviewer doesn't like you, you can get a bad review. With engineering, the questions have a "right" and a "wrong" answer - or reasonable facsimiles thereof. The interviewer can dislike you, but they can't say you're wrong if you're right.

Personally, I think I'm a better manager than I am an engineer. But I had no metric to know what they'd think.

Now keep in mind, those two assumptions above are BEFORE I ever set foot on Google's campus. I had no idea what to expect, I was just making calculated risks. But based on these unknowns, I chose to apply as an engineer.

I interviewed at several companies in the valley (become.com gave me an offer on the spot. It was surprisingly low and the CTO informed me it was a mandatory 54hour work week - wtf?). I also started interviewing at Google. At that point, I was still pretty skeptical about the idea of working there. I expected a lot of "attitude". I was pretty surprised when I got none.

The engineers I met in my interviews were passionate about development. That was it. They wanted to know if I was passionate about it too. They were excited about Google. They were excited about making cool stuff. There was no attitude, no snoot - just dev talk.

It also became immediately clear to me why the snooty authors didn't get whisked in based on their resumes alone. It was, in my estimation, the most honest interview I had ever been given. It was me, the interviewer, and the whiteboard.

The logic is pretty clear. Your resume tells what you did, which is great. And they did look at it. But they were far more interested in what I could do.
Right now.
On the whiteboard.

Understanding that no system is perfect and assuming they were allotting for interviewing nervousness, like I said, I felt this was pretty darn fair. The interviews were challenging, but also damn fun. When one was over, I found myself looking forward to the next.

The interview process took a long time. The longer it went on, the more I liked the idea of working at Google.

There is a very important old saying about jobs: "If you're the smartest person where you work, quit". Basically - if you work with people smarter than you, you'll learn a lot. If you don't, you won't.

I wasn't really working anywhere at the time, but it was evident just from my interviews that there were plenty of people smarter than me at Google. I liked that idea a lot. The atmosphere was college-like. Engineers seemed excited and unencumbered.

It dawned on me that every decade there seems to be a "place" to work as an engineer. In the 80's it was Xerox Parc, in the 90's it was Microsoft. The 2000s, to me, felt like it was Google.

Needless to say, I took the job.

In a week or two I'm changing to a Java team working with Josh Bloch, Frank Yellin, and Pablo Bellver. How frickin cool is that? I can't think of a better place to be as an engineer (unless you're in Cleveland! then go work for Preemptive! :).

And as far as the snooty authors go, I still see them. Of course, they've written off my working at Google as "lucky" or a fluke. That's all not very relevant now as I pretty much blotted them out of my mind the instant I started interviewing. In fact, I completely forgot about them until the next year when I saw them again and they re-applied their snootage.

I'll admit my entrepreneurial side itches every now and then, and, as usual, I have a half-dozen projects/websites I work on in my free time. But as far as a day job goes, I'm good. Now when I'm asked why I work at Google, I pretty much ask back "where else would I want to?". And I assure you, there are still plenty of hard problems, plenty of passion, and the party - is - most definitely, not over.