Sunday, December 26, 2010

Day in the Life of a Googler

I was thinking recently about how different my workdays are now that I'm at Google, compared to the faculty job at Harvard. The biggest difference is that I spent nearly 90% (or more) of my time writing code, compared to Harvard where I was lucky if I got half an hour a week to do any programming. I also spend a lot less time at Google procrastinating and reading a zillion stupid websites -- mostly because I'm enjoying the work a lot more.

Here's a short rundown of my typical day at Google:
6:30am - Wake up, get son up, shower, breakfast, take dog to the park.
8:30am - Leave for work (I take the subway most days).
9:00am - Arrive at work. Type passwords into half a dozen different windows to get my work environment back to a sane state. Check email. Check on status of my several jobs running in various datacenters. Page in work from day before.
9:30am-10:15am - Work on code to add requested feature to the system I'm working on. Debug it until it's working, write a unit test or two. Fire off code changelist for review. Grab third free Diet Coke of the day.
10:15-11:00 - Switch git branches to another project. Take a look at code review comments from a colleague. Go through the code and address the comments. Build new version, re-run tests, re-run lint on the code to make sure it's working and looks pretty. Submit revised changelist and responses to comments.
11:00-11:30 - Switch git branches again. Rebuild code to be safe, then fire off a three-hour MapReduce job to crunch log data to analyze network latencies.
11:30 - 12:00 - Quick videoconference meeting with team members in Mountain View.
12:00-12:35 - Lunch of free yummy food in cafeteria. Regale coworkers with stories of Apple IIgs hacking when I was in middle school.
12:35-2:00 - Back at desk. Check email. Check status of MapReduce job - about halfway done. Respond to last set of comments from code review done in the morning and submit the code. Merge and clean up the git branch. Take a look at task list to decide what to work on next.
2:00-3:00 - Project meeting with teams in Cambridge, Mountain View, and elsewhere by videoconference. This is my only hour-long meeting of the whole week. It is mildly amusing and I mostly spend the time doing some light hacking on my laptop and hitting reload on the MapReduce status page to see if it's done yet. Check Buzz and post a snarky comment or two.
3:00-4:00 - Red Bull infusion to keep energy going for the rest of the day.  MapReduce is finally done. Generate graphs of the resulting data and stare at them for a while. Think about why the results are different than expected and write next version of code to generate another set of statistics. Try to get the code to the point where I can fire off another MapReduce before leaving for the day.
4:00-5:00 - Whiskey Thursday! Round up a group of colleagues to drink scotch and play Guitar Hero. (I have a nice collection of scotch under my desk. Somehow I have been designated as the guardian of the alcohol supply, which suits me fine.)
5:00 - Pack up laptop and head home.
5:30-8:00 - Dinner and family time until son goes to bed.
8:00 until bedtime - More hacking, if there's stuff I want to get done tonight, or make a few nice cocktails if not.
Contrast this to my typical work day at Harvard:
 6:30am - Wake up, get son up, shower, breakfast, take dog to the park
8:30am - Leave for work (a 20-minute walk from home to the office, and I bring the dog with me).
9:00am - Arrive at office. Check email. Groan at the amount of work I have to do before the onslaught of meetings in the afternoon.
9:15am - Start working on outline for a grant proposal. About three minutes later, decide I don't know what I want to write about so spend next 45 minutes reading Engadget, Hacker News, and Facebook instead.
10:00am - Try to snap out of the Web-induced stupor and try to make headway on a pile of recommendation letters that I have to write. Fortunately these are easy and many of them are cut-and-paste jobs from other recommendation letters I have written for other people before.
11:00am - Check calendar, realize I have only an hour left to get any real work done. Respond to some emails that have been sitting in my inbox for weeks. Email my assistant to set up three more meetings for the following week.
11:30am - Try to make some token headway on the grant proposal by drafting up a budget and sending off the three emails to various support staff to get the paperwork going. Make up a title and a total budget for the proposal that sound reasonable. Still undecided on what the project should be about.
12:00pm - Take dog out for a 20-minute walk around campus. Sometimes spend longer if we run into other dogs to play with.
12:30pm - Run over to Law School cafeteria to grab overpriced and not-very-appetizing lunch, which I eat sullen and alone in my office, while reading Engadget and Hacker News.
1:00pm - First meeting of the day with random person visiting from a random company in Taiwan who will never give me any money but wants me to spend half an hour explaining my research projects to them in extraordinary detail.
1:30pm - Second meeting of the day with second-semester senior who has suddenly decided after four aimless years in college that he wants to do a PhD at Berkeley or MIT. Explain that this will not be possible given zero research track record, but somehow end up promising to write a recommendation letter anyway. Mentally note which other recommendation letters I will cut and paste from later.
2:00pm - Realize that I have to give lecture in half an hour. Pull up lecture notes from last year. Change "2009" to "2010" on the title slide. Skim over them and remember that this lecture was a total disaster but that I don't have time to fix it now. 
2:30pm - 4:00pm - Give lecture on cache algorithms to 70 or so somewhat perplexed and bored undergrads. Try to make the lecture more exciting using extensive PowerPoint animations and wild gesticulations with the laser pointer. Answer a bunch of questions that remind me why the lecture was a disaster last year and vow to fix it before delivering again next year.
4:00-4:10pm - Hide in office with door closed trying to calm down after adrenaline rush of lecturing. Gulp large amounts of Diet Coke to re-energize and re-hydrate.
4:10-4:20pm - Check email. Check Engadget. Check Facebook.
4:30-5:00pm - Last meeting of the day with two grad students working on a paper due in less than a week. They have no outline and no results yet but are very optimistic that they will make it in time. Spend half an hour sketching ideas and possible graphs on the whiteboard while they scribble furiously in their notebooks. Make vague promises about reviewing a draft if I see one later in the week.
5:00pm - Walk home with my dog. This is the best part of my day.
5:30pm - Get home, immediately sit down to check enormous pile of email that accumulated while I was in lecture and meetings. Forward five new meeting requests to my assistant for scheduling next week.
5:45pm - 8:00pm - Family time, dinner.
8:00pm - Pretend to "work" by reading email and tinkering with PowerPoint slides for a talk I have to give the next week. Too exhausted to do anything useful, make a drink and read Engadget again. 


  1. Surely you must be exaggerating given the reality that you did manage to get tenure!

    But your overall point does ring true, I also don't like the pressure to write numerous grant proposals and the interminable meetings to discuss said proposals and other stuff.

    But I do like the freedom to quickly change to new topics that interest me, the ability to freely work from home or the cafe whenever I have no meetings, I actually like going to conferences/workshops and interacting with students is pretty rewarding to me.

    But I still think this post is a good reality check especially for students - probably most of us have too rosy a view of academia when we graduate.

  2. "9:00am - Arrive at work. Type passwords into half a dozen different windows to get my work environment back to a sane state. Check email. Check on status of my several jobs running in various datacenters. Page in work from day before."

    I wonder how many of ideas for a new app to come in mind

  3. "hitting reload on the MapReduce status page"

    Surely you could make the status page update itself as part of your 20% time.

  4. Why is email so simple at Google when compared to Harvard?

  5. Where's the free dinner?

  6. I work 7 hours a day at Google? And a couple more at home if you feel like it? Don't be surprised if in a few months you are politely asked by your Google boss to return to Harvard.

  7. If you don't already, use GNU screen.

  8. Most of this is obviously meant to be tongue-in-cheek, so don't take it too seriously!!

    Anon re: 7 hours a day - by my reasoning a 9-5 workday is 8 hours a day, not 7. (Google doesn't hire just any idiot you know!) I do count drinking scotch with my colleagues as work :-) Google rewards its employees for the quality of work, not just quantity. Besides, I can accomplish in 7 hours a day what most mere mortals can do in 15. Take that!

  9. What does your dog do during the day now?

  10. All this says is that you were a very poor manager of your own time at Harvard. There is nothing wrong with requiring structure in order to be productive, but that doesn't mean Google > Harvard

  11. I guess your dog doesn't like this new job of yours.

  12. Deep inside, you are trying to convince yourself that your Google job is so worth it. Your response to my comment would be a stout denial but if you aren't doing that, why bother with this topic? Tell your Harvard coworkers how great Google really is?

  13. Your lectures on cache algorithms came in quite handy last week when I had to implement a two-level cache (on the client side) in a web application.

  14. I have to say that I experienced something like this when I moved from a position at the scripps research institute to the J Craig Venter Institute. I think part of it is when you have such a dramatic change of environment, you get an opportunity to 'reset' your behavioral patterns. I'm guessing you burned out at Harvard, that when you worked really hard at the beginning, you saw that your reward was not proportionate to actual effort put forth, or that things that weren't 'constructive' were being rewarded, et cetera... If google winds up rewarding you in haphazard ways then you will probably burn out there too, but I get the feeling that won't be the case.

    And another part of it is the change of environment. I think that googlers are probably highly self motivated.... Same with the folks ate JCVI I'm with, they don't sit on their laurels like the people at TSRI, so the ethic of the community is helping you out. Good luck with your new gig!

  15. With all of these anonymous comments, it's kind of hard to keep track of who I am responding to. It would be nice if people would post with their real names; I'm not afraid to use mine when I post.

    Anon re: poor manager: You are 100% correct on that. I was a TERRIBLE manager of my time at Harvard. I had way too much going on and spent most of my time thrashing, not being productive. It sucked.

    Anon re: dog: I could take my dog to Google, though it would mean taking her on the subway and this would not be ideal (or driving, which I prefer not to do). I plan to bring her into the office in Seattle though.

    Anon re: Deep inside: You don't know the first thing about how I feel 'deep inside', but yes, the Google job *is* worth it.

  16. Konstantin - so you WERE paying attention!!! :-)

  17. chemDroid - I hope the productivity streak will last. One of the nice things about being in industry is that I'm no longer tied to a specific company or job title or location for the rest of my life, unlike in academia, where getting tenure tends to lock you in. So if I need another change in a few years, I can always do that.

  18. wow, above anon, you really are bitter :p do you work in Harvard or something?
    He's just joking around and making contrasts....and apparently he likes working at google more than teaching. to each his own.

  19. Thanks Matt! This post has really helped me put my finger on why it is I'm happy in academia.

    I like spending a large part of my day talking to people about ideas. There was a time when I saw this as a distraction from "real work," but over time, I've come to view the opportunity to interact with a lot of different people, discussing a of things that are, on the whole, exciting, as one of the perks of the job, not one of the burdens. Which isn't to say there are no burdens (proposal writing being a chief one), but some of the stuff that comes across pretty negatively in your list is some of the stuff I really enjoy.

    So, thanks - I'm glad to see that you've found what makes you happy, and I appreciate the perspective your post has given me!

  20. So Harvard lets everyone bring dogs to work, or did you have to do something special? How did you handle students or visitors with allergies or who aren't comfortable around dogs?

  21. Robert - The best parts of the faculty job are teaching and discussing Big Ideas. I loved those parts of the job. See my earlier posts on my thoughts about the rest - no need to repeat myself here.

    Anon re: dog: As far as I know, Harvard doesn't have any rule against bringing dogs to the office, but I am sure there are departments that are not as dog-friendly as CS. In general my dog stayed in my office behind my desk (behind a puppy gate) so she would not bother visitors. EVERY time I had a visitor I would ask if they minded the dog being in the office, and if they did, we'd just meet somewhere else. Most people loved the dog, but I was sensitive that it was a privilege, not a right, to bring her to the office so I tried to keep her from bothering people.

  22. Thanks for posting this story.

  23. there are strong hackers in academia. robert morris comes to mind.

  24. "The best parts of the faculty job are teaching..." From your comments in 2:00pm and 2:30pm - 4:00pm it seems you really didn't think that way or if you did, you did not think to spend much time on doing a good job of it.

    Glad you left Harvard and stopped short-changing your students as well as found something you seem to really enjoy at Google.

  25. I take heart as an undergrad knowing that professors spend their time fighting the urge to get lost in tech blogs and link-chasing instead of getting real work done.

    Thanks for the insight!

  26. I really liked this post.
    I know it's a bit ironic but I found it a great reality check.

    I also have a procastination and web-surfing ( hackernews :) ) problem with a job that doesn't motivate me.

    A guy who got a PhD, a tenure and then a job at Google had the same problem.
    I feel a bit better.

  27. I must say, reading Hacker News, and other hackers blogs is what keep me motivated on a very boring (the ones that require about 1% of your full problem solving capability, but has to be done) assignment.

    Its all the stories from other people etc... Thats what makes great universities/companies what they are, the people inspiring each other.

    Thats where that whiskey night comes in....

  28. Ironically, I was drawn to academia (eventually) because programming all the time in industry had come to be tedious.

    Perhaps the difference is that the opportunities for a systems programmer at a company like Google are more exciting than the industry opportunities for most programmers in the early 90s. I never felt like I was on the cutting edge.

  29. It's been my experience that many new jobs start off with a honeymoon phase that is relatively devoid of distractions. You're still under the radar screen, your colleagues don't know you well enough to ask the ridiculous, and you haven't gotten pulled into too many service commitments.

    But eventually, this phase seems to end, and you find your schedule fragmented -- sometimes horribly. One option to defrag your life, as you've noted, is to change jobs. My consultant friends claim that changing projects has a similar effect. Some of my colleagues claim sabbatical offers that chance.

    You'll have to let us know if this happens at Google and how you handle it. Google may have pioneered better defrag algorithms than are available to the rest of us.

  30. It's clear from the comments here and elsewhere (hello HN!) that people did not see the intended sarcasm and self-deprecation in this post. I was trying to portray a somewhat cynical view of the difference between industry and academic life. No, we don't drink whiskey every day at Google. No, I don't generally look at my notes only half an hour before giving a lecture. All of this is somewhat exaggerated for comedic effect. Too bad so many readers of this blog seem to be lacking in the sense-of-humor department.

    Anon re: "short changing your students": I'll let the comment stand although I generally will delete personal attacks against me or anyone else on this blog. It sure is easy to attack someone when you're posting anonymously.

    Despite my caricature, I spent many, many hours developing my course materials and worked hard to make sure that the students were learning relevant and useful material. I spent a lot of time modernizing the systems curriculum, and introduced a new intro systems course to broaden the number of CS (and non-CS) students exposed to systems concepts. I was also one of the highest-rated teachers in Computer Science at Harvard, with consistently high student approval ratings. Year after year students told me I was the best professor they ever had. So, I stand by my teaching record.

    Prabal, you're absolutely right about the honeymoon phase, although I've been at Google for six months and it hasn't waned yet. One of the good things about Google is that people tend to move around to very different projects and roles over time - you're not stuck in a single group (say, search or ads) forever. One of the great things about moving to industry, and especially to a city with more tech action, is that there are many potential jobs I can do.

  31. I may be wrong, but just so you know, it does not appear to be the case that just anyone can post comments with a name. I've tried repeatedly over a couple days.

  32. Matt's blog posts are great. They also "ring true".

    But some anonymous comments show that his decision is hard to understand. I tried to come up with an analysis and explanation:

    Why you may not like your job, even though everyone envies you

  33. Loved the article, Matt. Sounds like good fun and gives a great feel for the environment at Google. Thanks for posting it!

  34. Hey Matt,

    I'd love to see to graph showing the number of anonymous comments you've had per blog post over time.

    Oh, and for those who don't know how to include their name, here's an example: Maria Kazandjieva.

  35. I do not say this to belabor the point. All this is interesting from the perspective of an undergrad considering careers both in industry and academia.

    But surely something attracted you to academia to begin with, and it's worth wondering -- to me, at least -- when and where this changed. My suspicion is that you and your understanding (of the field, of academia, and lots of other things) changed more than Harvard itself did, although it's particularly hard for me to discern what these changes would consist of, for reasons (e.g., lack of experience) that are obvious.

    I'm sure you have lists of things you want to write about, but it has been something that has worn on my mind since I heard you moved, and I'm 100% certain I'm not the only one.

    (see part 2)

  36. (this is part 2 of 2)

    If you are vetting topics, I would point out that the experience that motivates this sea change is not just rare, but completely invaluable, and it's important to recognize that this is in no small part because the people who have made decisions similar to yours (at least as far as I can tell) tend not to have real-time public discussions about it. I say this on behalf of the many blooming undergrads I know personally who scour the internet looking for such information.

    Regardless, you should know that posts tend to be enjoyable and informative, and in particular, from the perspective I described above.

  37. A general "second" to the high quality of Professor Welsh's teaching record. The exceptional amount of time and effort that he put into teaching was obvious to any student.

  38. Matt -- Thank you for sharing this. As an assistant professor myself, I can attest to the veracity of what you've written about academic life (it has a ring of truth to it despite the humor, sarcasm and exaggeration).

    You mention that teaching and discussing big ideas are the best part of your job. I'd like to add that this is perhaps true at Harvard and other good schools, but definitely not true of schools that don't have the same name value (say, schools below the top-15?). Teaching is a chore when students in your class are not interested in learning the material. And discussing big ideas is a joy only when your graduate students and tenured colleagues are truly passionate about their research, not just here to follow your instructions (and sometimes not even that) or live out the rest of their tenure doing nothing.

    Very few people are lucky enough to identify what they're passionate about and even fewer have the courage to pursue it. I'm glad that you had the courage to sacrifice a tenured position and pursue what really excites you.

    Signed, XYZ (not using my real name for obvious reasons).

  39. Yep, your description abt the meeting with the two Grad students is vivid.

    I begin to know what is the impression I had given to my advisor. Though, actually, I couldn't usually be optimistic like those Harvard guys.

  40. I'm not sure where all the vitriol in the comments comes from. I wanted to say that I found your post very interesting. It enabled me to reflect on which "day" I'd want to work in, and which most closely matches what I'm currently doing. The grass is always greener, but I think I'm closer to the Harvard day and would prefer the Google day.

    I find that most jobs can't get out of their own way in terms of random bureaucracy and processes that add nothing to the product that is supposed to be produced. In the case of jobs that don't actually produce a measurable product (services, .gov, security, etc. all of which I do) this aimlessness and lack of a yardstick by which to measure success is worse. You then end up thrashing around in meetings trying to figure out ways to quantify what you are doing, what others are doing, and if you all are doing a good job.

    In the meantime, if you could define something for every person to DO, and then DO it, you'd all be more productive and also more happy. It sounds like this is something Google is good at...I'm sure it's not unique to just them. It's probably not common to find this sort of thing in the hard-to-quantify services/grant-finding/.gov fields though, and I think the jobs suffer for it.

    Anyways, great post, enjoy your time at Google it sure sounds like fun.



  41. Alex - thanks for the comments. It's important to keep in mind that this is really about doing what I find enjoyable, not any fundamental problem with academia or with Harvard. There are lots of people who are cut out to be academics; it just took me a long time to realize that I'm not. Fortunately I had the chance to try out a different career path.

    XYZ - I was indeed lucky that Harvard is a great academic environment in which to teach and do research. This is not directly related to the department ranking, though; I've seen top-ten departments that seem (from the outside, at least) to be pretty broken.

    Mike - I'm not surprised at the backlash; apparently there are some really cranky people at Harvard who are not too happy that I am leaving. Most of my colleagues have been pretty understanding and supportive though.

  42. Fundamentally, industry offers short term rewards -- i.e., lines of codes, features implemented, and bugs resolved.

    In the academia, it's a lot more vague. A grant or paper could be successful, or not. Students may or may not appreciate your efforts -- it's lot harder to measure how your 'influence' has contributed to a student's success.

    One other thing that rings thru' is the number of distractions on the Internet; e.g., facebook. It's very difficult to focus with all these distractions, especially when the job does not yield immediate results.

  43. Fundamentally, industry offers short term rewards -- i.e., lines of codes, features implemented, and bugs resolved.

    I'm a bit disturbed by the lack of understanding of the maximum achievable by anyone anywhere, whether industry or academia. In both cases, there must be people who think of the big picture, who worry about the general trends and directions in which technology improvements should take. In these discussions, I hear mostly about low-level coding, teaching, writing grants. Where are the discussions and thoughts about the high-level picture?

    Back to the quote above, saying that industry offers short term rewards is a biased view. As we go higher up the hierarchy, we get a better picture and have access to more resources. We command larger teams and we have more say over what impacts more people in the real world. We garner enough resources to fund academia and sway research directions this way and that. That, to me, is much more rewarding and much more difficult to accomplish than simply sitting in an office and thinking about an idea. An idea which will probably die after the next major conference comes around. On the other hand, industry projects take a long time to build and deploy, and even a longer time to maintain and support for the users. Academics just don't seem to be able to understand this.

    Based on this, I'm going to say that it's the academia that offers short term rewards, and it's the industry that offers long term rewards and interesting issues.

    Mr. TurkeyMan

  44. I am referring to Matt's achievements' in *one* day.

    Sure, over N days, it's debatable whether academia or industry has more impact. However, from a self motivation perspective, industry offers more incentives to keep moving as opposed to responding to blog posts. :)

  45. I can imagine Matt chuckling on the side: I'm here writing codes for the next big product, and you academics are wasting time on blog posts that is better served writing the next grant applications, improving lectures, etc.

    Basically, stop running around like a headless turkey.

  46. I'm happy that this post has spurred (once again) the debate between academia and industry. I certainly had a biased view coming out of grad school and one of my goals is to shed light on the parallel universe that I was largely unaware of before joining Google.

    A lot has been made about my wasting time on Facebook, etc. Mostly that was a joke, but I did spend a nontrivial amount of time procrastinating on the Web when I was feeling burned out. It happens to everyone.

    I don't know whether my work at Google is any more "important" than my work at Harvard. In some sense that's beside the point; the fact is I'm happier being a hacker. The code I wrote today is hardly earth-shattering but I'm having a hell of a fun time doing it. In the long run I think I am going to be more successful when I'm happy and motivated, even if I'm not out to "change the world."

  47. Surely industry (especially companies like Google) is a better place to work than the holy cow academia has become. Thumbs up for the blog, Matt.

  48. Hey Matt,

    IMHO you need to workout a bit somewhere in between work, family and cocktails so you can keep writing code and hacking for the years to come :)

  49. "Last meeting of the day with two grad students working on a paper due in less than a week. They have no outline and no results yet but are very optimistic that they will make it in time."

    That's a good one!
    Now, I know what my prof goes through!

    Actually we prepare the paper keeping in mind that the submission deadline will get extended at least by a week. ;)

    And about the recommendation letters, my prof asked me to write it on his behalf!! Yeppie! :)

  50. I'll make a sport comparison:

    After playing for 25 years, I have been coaching the last 3 years, with very good results (= Harvard tenure track). Still, I've come to hate coaching. I don't have the mentality and personality to be a coach, even though I am very good at it.
    I quit coaching, and I got back playing (= coding).

    Only one thing Matt: your post would have been PERFECT if, as last sentence, you would have written that your evident lack of motivation was just your personal lack of motivation, and that being in academia does not necessarily mean that everyone lacks motivation.

  51. Anon re sport comparison - this is a great analogy. I never meant to give the impression that the problem was anything other than my own motivation -- where did you pick that up?

  52. Dear Matt: Thanks for the posts. They make us think. IMHO&Experience, one's experience with a job is almost entirely a subjective matter. Some have a personality that they will enjoy any job, others will neither. I certainly have enjoyed every single job I ever had, including the one at Intel that had sign-in sheets at 8AM. Indeed, that was a great job for the company it gave me.

    I don't know you that well, but it is a fair guess that you will also, including a return to academia at some point when it makes sense.

    In the meantime, keep making an impact, on code or on people.

    ps: I admire your ability to take time for family in both circumstances.

  53. Ahhh you just sucked up an enormous amount of my life :( I'd never heard of Engadget and I just spent an hour on it. In other news while I'm sad I never got to take a class from you, I hope you have fun at google.

  54. I'm not sure I see the appeal of the google vs Harvard here. You spend your day as a code-monkey, even once you're home-- very 1-dimensional living related soley to your work (1.5 maybe, some time w/your kid), not even stopping to facebook, or do anything else not related to work.

    I've never heard of people who on their deathbed wished they had worked more, but I do hear of a lot of "wish I had lived more"...

  55. Anon "I don't see the appeal" - read my other blog posts to understand where I am coming from here. I'm very, very, very happy in a software engineering role where I get to build real systems. I'm living more and doing more things with my family and my friends than I ever had time for as a faculty member.


Startup Life: Three Months In

I've posted a story to Medium on what it's been like to work at a startup, after years at Google. Check it out here.