For the folks who don’t know yet: I decided to leave Google. Friday, September 16 was my last day. I’ve no new job or any other concrete plans lined up. It was time for a change, but Google’s still an amazing company full of smart and passionate people working on interesting and important things at a scale of operations that most folks can’t begin to imagine, and I wish it the best.
One of the things I spent a good part of my life on at Google was the phenomenon of “grouplets”, aka “intergroups” or “intergrouplets”. These are internal clubs composed of engineers using their 20% time to make Google engineering culture better. Craig Silverstein started the original intergrouplet (singular) and continues to direct the Intergroups program to this day. A bit has been written about all of this already, and is easily found on the web; the most prominent articles to date have been Matt Cutts’ blog post and Bharat Mediratta’s NYT column.
I participated in and eventually led two grouplets: Testing (co-leader) and Fixit. I’ve not promoted my involvement in these groups before—should’ve done that when I was still running them rather than waxing nostalgic about my glory days now—and I haven’t been significantly involved in any grouplet activity for a while, other than dishing out advice when asked. It may be a little late for me to bring up the subject, but I feel like I should document some of my experiences in the open for what they’re worth. This post will cover the highlights; future posts will go into depth regarding specific grouplets, activities and accomplishments.
The Testing Grouplet’s mission was to convince Google engineers to write testable code, and write more automated tests (e.g. unit, regression, etc.) as part of their normal development process. I joined in the fall of 2005 when it was led by Bharat Mediratta and Nick Lesiecki; assumed co-leadership with Neal Norwitz and Michelle Levesque in fall 2006; and we handed leadership off to Collin Winter and Jessica Tomechak in fall 2007. We had no authoritah, very little budget, but loads of latitude and creativity. We did a number of crazy things to get folks to adopt developer testing practices, like publishing Testing on the Toilet, running several company-wide Fixits, developing and promoting the Test Certified and Test Mercenaries programs, partnering with Test Engineering to drive Test Certified practices everywhere, and working with the Build Tools and Testing Technology teams to vastly improve our internal build and testing infrastructure. Starting in 2005, by 2009, the mission was largely accomplished. There’s always room for improvement, but the vast majority of Google engineers are pretty diligent about writing automated tests and keeping their continuous integration builds—and everyone else’s—in good shape (i.e. “green”).
Fixits are days when we ask engineers to put aside normal project work for a day (or part of a day) and focus on fixing lower-priority problems that tend to linger (i.e. “important but not urgent” tasks), as a concentrated effort to fix such problems or at least make significant progress towards fixing them. After running three company-wide testing- and tools-related fixits, I assumed leadership of the Fixit Grouplet in fall 2007—eventually running two more company-wide fixits, while closely advising several others. Since running a fixit wasn’t something explicitly taught at that point, I worked with my fellow Fixit organizers who comprised the Fixit Grouplet to organize our collective knowledge and experience and make it universally accessible and useful. We did a great job: By now, fixits happen all the time, from team-level “fixlets” to company-wide events, with no one complaining anymore of “fixit fatigue” due to inefficient organization and scheduling. On that note, I eventually handed leadership to Jonas Klink and Lisa Carey in fall 2008. At this moment the Fixit Grouplet is essentially comprised of David Plass, my long-term Testing+Fixit Grouplet partner-in-crime, and Cristina Tcheyan, the current Intergroup program manager.
Throughout my time as a grouplet leader, Mamie Rheingold, the Program Manager for the Intergroups at the time, and I worked to codify what made the Testing and Fixit Grouplets successful (to the extent such ad-hoc activity could be codified) as an aid to replicating that success with other groups. She was the one who really recruited the folks that comprised the Fixit Grouplet at the time I led it, and was also the glue that held together the Testing and Fixit Grouplets and the Test Certified program during those times when everyone else’s heads were somewhere else, as is common for a 20% project that grows in size and scope. Her former associate Simon Pyle was also an enormously creative and energetic Intergroup manager.
After a while, I retired from all grouplet activity. The bulk of my Google career from August 2005 through 2008 involved grouplet-related work—even my 80% job with the Test Mercenaries (led by Mark Striebeck) was spawned from the Testing Grouplet’s Test Certified program—and in January 2009 I put my head down to become an in-the-trenches engineer on websearch. Life since then had been good: my team wrote throrough tests and kept them all passing; most other teams did the same; and company-wide engineering annoyances were routinely addressed by someone else. That was a reward in itself. Plus, I got to work on websearch.
Why did I get so involved in grouplets rather than trying to put my name on a big public product or piece of internal infrastructure from the start of my Google career? There’s several positive and negative responses I might give, all of which would flirt freely with both fact and hyperbole. However, something from jwz’s resignation from Netscape and Mozilla has some resonance: As companies get bigger, there are fewer people who want to work to make a company successful, and more who want to work for a successful company. In that sense, being an overenthusiastic groupleteer was like having my cake and eating it too. For a while.