Thursday, June 23, 2011

Being Googley

I've been at Google for almost a year now and have been thinking back on what my expectations of the job would be like compared to what it has turned out to be. This got me thinking about corporate culture in general and how important it is for fostering innovation and being successful.

Google is well known for having a creative work environment with tons of perks -- free food, yoga classes, massage, on-site doctor. Here in Seattle, we can borrow kayaks to take out onto the shipping canal next to the building. (I am fond of telling people this but know full well that I am unlikely to ever take advantage of it.) On the surface these things might seem frivolous, but I think they go a long way towards creating an environment where people are passionate about what they do. The term we use is "being Googley," meaning, doing whatever it is that Google people do: thinking big, focusing on the user, not being evil, etc. On a more day-to-day basis, being Googley means turning out the lights when you leave a conference room, being friendly and helpful to new engineers, being a good citizen.

Google is by no means the only company like this: Yahoo, Facebook, and Amazon are great examples, and many other Internet-era startups follow a similar model. But this is miles away from what I thought corporate life would be like before I joined Google. To be sure, most of my prior exposure to corporate life (that is, before doing my PhD and becoming a professor) was through internships I did at a couple of older technology companies. I spent time writing code at a company that built semiconductor testers, as well as a large electronics company in Japan. I had also visited several large industrial research labs in the US, places that in some cases have been around for more than 50 years. I had a very hard time imagining myself taking a job at any of these companies: the sea of cubicles, drab beige walls, terrible cafeteria food, very few people under 40. Like Dilbert in real life. I wonder how those companies continue to attract top talent when there are places that are so much more appealing to work.

The Google culture is not just about lava lamps in the conference rooms though. The thing that surprised me the most is that there is very little hierarchy in the company: every engineer has the opportunity to create and lead new projects. It's not uncommon for something cool to start up with a few engineers working in their "20% time" -- GMail being one famous example. It is rare for a technical edict to be handed down from on high: projects are usually bottom up and are driven by what the engineers want to accomplish. To be sure, there are projects that could benefit from more adult supervision: things can go off the rails when you don't have enough management. But it's amazing what a merry band of hackers can put together without a lot of imposed structure or artificial constraints from the Pointy Haired Boss. I think the result is that engineers feel a lot of ownership for what they create, rather than feeling like they are just building something to make management happy.

When I was in the Google office in Cambridge, I worked on the team that builds Google's content delivery network -- a huge system that carries a significant chunk of the Internet's traffic (mostly YouTube). Almost everyone on the team was a good 10 years younger than I am (and way smarter, too). There was very little oversight and everyone kind of pitched in to keep the thing running, without anyone having to be told explicitly what to do. I was amazed that you could run such a large, complex project like this, but it seems to work. It's a hacker culture at a large scale. Companies like Facebook and Amazon are run pretty much the same way. All of this seems to turn the conventional wisdom about what it takes to run a successful company upside down. This won't be a surprise to anyone who spent time at startups in the last 10 years, but I'm new to this stuff and surprised that it even works.

12 comments:

  1. Well said. If you hire great people and have the right culture (and you make sure you hire people who will "get" the culture), all else will follow. If you don't, then no amount of management (or even financial incentives) can save you.

    ReplyDelete
  2. That's great we still have Google, Facebook, Amazon and innovative start up companies to hire best of Compute Scientists and give these great perks, I wanted to comment on your previous blog regarding CSE education (from student and then working in old technology company perspective) as enrollment and opportunity/job-prospects are co-related.

    ReplyDelete
  3. Matt, I'm at one of those companies with drab walls and a sea of cubicles. Turns out that 50 years ago, that was an innovative way to run a company (HP) --small groups, open door policy, etc. Nonetheless, in case you're wondering what keeps people working here ... it's the people around them (even the ones above 40) that make them better. I'm sure that's true at Google, as you allude to. But, it's also true in the drab places. What matters is the opportunity in front of you, the people around you, and the facilities to make that happen. You get that at Google and other places in high tech, but even if you can't find a job at Google, all is not lost, even at the drab places.

    ReplyDelete
  4. Hi Mehul... You'll notice I said nothing about the quality of the people or work done at such companies... I have many friends and colleagues at those places of course! It is still striking to me that there seems to be such a cultural gap though.

    ReplyDelete
  5. Interesting article........what I can make out is that Google is a rocking place for the young grads. But may not be so for doctorates or senior pros. They would be better off somewhere else where they'll be engaged more in a leadership kind of stuff rather than still be a s/w engg. and lose sleep over the million lines of code.

    Just a personal opinion....Nothing against Matt!

    ReplyDelete
  6. Edugeek - what you're saying makes no sense. Who do you think has the leadership positions at Google?

    ReplyDelete
  7. @Matt: What I want to say is that I feel doctorates should do more of research rather than be a pure s/w engg. They should be involved in higher level research, publish and provide directions to the junior staff rather than themselves be a part of this implementation. I know there are many will who will disapprove. But I feel there should be some separation between doctorates and the grads....

    ReplyDelete
  8. Contrary to popular belief, even within Google, Gmail was actually _not_ a 20% project; Paul Buchheit (the creator of Gmail) tells the real story starting on page 161 of "Founders at Work" -- he was asked to work on an email project, and it was mostly his full-time job. Search Google Books with the query 'founders at work buchheit gmail 20 percent' to access the full text. Steven Levy also reports on the true origin of Gmail around page 169 of "In the Plex", although the full text doesn't seem to be as available.

    Perhaps you could update your post to highlight Google News or some other true 20%-time project instead of Gmail? Thanks for the post; your reflections on your experiences at Google are fascinating.

    ReplyDelete
  9. For T. Record - Thanks - I will check those references out. Google's own official press release for GMail from 2004 says that "The idea that there could be a better way to handle email caught the attention of a Google engineer who thought it might be a good "20 percent time" project." See: http://www.google.com/press/pressrel/gmail.html
    I wonder why there is this discrepancy?

    ReplyDelete
  10. Edugeek - You seem to be conflating research and leadership. These do not always go hand in hand; I know many "researchers" at various companies, including Google, who are not leading teams. I respectfully disagree that a pure research job is the only viable career path for someone with a PhD, but see my previous other blog posts on that very topic :-)

    ReplyDelete
  11. @Edugeek: The line between engineering and research, like everything else in life, is not clear cut. There are many good engineering work that count as research, and have gotten into top conferences like OSDI. On the other hand, good systems research typically require good implementation, i.e. engineering.

    There seems to be this prevalent misconception that having a PhD means you belong to an elite class. A PhD is just a piece of paper, what matters at the end of the day is that you can build a better system, which must entail good design, implementation, analysis, measurement etc. It is something that someone with or without a PhD can do, believe it or not. And what matters is that the system is better. Not because a committee says so, but because the many millions of everyday users say so.

    There are many PhDs who do not deserve one. There are many engineers who do. Research papers should be the by-product of good work, not the main objective. Research should be conducted on the way to doing useful work, not to be done for the sake of 'doing research just because I have a PhD' itself.

    ReplyDelete
  12. Anon - It's also a fact of life that having a PhD does give you opportunities that folks without PhDs often do not have. At least in terms of getting a "research" position at most companies, or a faculty job, having a PhD is pretty much mandatory (though not always). The way I view it, having a PhD trains you to approach problems scientifically and think deeply about them at a certain level of abstraction. This is not to say that people without PhDs can't do this (or even that everyone with a PhD can). It's training, nothing more, and by no means does having a PhD entitle you to anything.

    ReplyDelete