I spent a 6 month sabbatical at Google in MTV, CA. I went in with a flexible research agenda, some uncertainty about how things worked, but certainly excited about the potential.
From the start, Google struck me as a unique company in how it treats its employees, particularly its engineers. It is not just the salary, the bonuses, the free meals (although those are great). It was the culture of, for example, trusting engineers to access an enormous code base and development infrastructure, letting employees ask tough questions in a town-hall like-setting to the founders every week, and encouraging projects that make a positive difference for the company and the world.
The second thing that surprised me was the quality of the folks I met. Like in every company, there were weak links. But they seemed harder to find at Google. I was surrounded with folks that worked hard, knew their stuff, were well read, and were not intimidated at all by a PhD (many of them had one already) or academic credentials. Furthermore, it was at times disconcerting to find ACM Fellows operating from a generic cubicle just like mine (I admit I did miss the privacy and silence of my faculty office).
In terms of research, the cost-value proposition at Google is different from academia, and actually diverse even within the company. There is a strong Google-products focus. Sadly, software engineer research is not at the top of the pecking order. In part that is due to the fact they have really amazing engineers with a specific workflow and tool set which has a tremendous inertia (hard to change), and in part it is due to the gap that exists in terms of software development *scale* and *speed* with most of what we do in software engineering research (I will save the rest of a discourse on this topic for a paper 🙂 )
But something that Google has and the software research engineering community can leverage is data. They are “big data” in many areas including software development. And as a visiting scientist I had access to vast amounts of data. I had to learn how to access it and manipulate it (they have tons of amazing tools for it, but this was not a trivial process and is up to you to catch up). And once I was able to sift through it, it felt like a candy store. The catch is that you need to be an “insider” to access the data. And although there is a program for visiting scientists (http://research.google.com/university/relations/visiting-faculty/) I got the feeling you had to have an inside champion to make it happen.
So this was not a typical sabbatical, certainly not appropriate for someone that cannot operate without graduate students, or without getting their hands “dirty” with tons of data or code (…or engineers), or that wants to increase their paper production dramatically.
But in terms of (re)learning what large and fast systems are, connecting research to the most relevant problems, meeting tons of smart folks, having access to amazing data sets to generate new ideas or insights, and understanding how an exciting giant of software development works, spending a sabbatical at Google was definitely worth it.
I recommend it.