Shortly after I joined Google in 2010, I had the cheekiness to write an article about calendars called “My Day as an Engineer at Google.” My calendar has changed dramatically over the past four years, in large part because I now manage a team and have less programming time than I did before. (Note: This article was written in January 2015)

So now seems like a good time to write this blog post. It also helped me make the transition from a purely “individual contributor” to a manager.

Review images

My position at Google is called “Technical Manager” (or TLM), and I’m responsible not only for my team’s technical guidance, but also for the people I work for. I wrote more about technical managers in another blog post, Managing a Software team at Google, so I won’t repeat it here. Our team has several projects, the largest and most important one being the Chrome Data Compression Proxy service. Our general concern is to make Chrome work better on mobile devices, especially in emerging markets where the Internet is slow and expensive.

The best part about my job is that it’s varied, different from day to day. Here’s my “typical” day, but don’t worry too much about the details. Every day is different:

6:45am – Wake up, wake up the kids, dress them, make breakfast, and shower yourself.

8.30am – Get on my bike and go to work (it takes about 10 minutes), grab some breakfast and go to work.

8:45 a.m. – Look at the dashboard to check the data profile of the services we’re running — traffic, latency and compression, data center.

9 a.m. – Check email. It’s a constant struggle, often exhausting, but these days I use Inbox to get me through it.

9:30 a.m. – Check out a slideshow of new features for Chrome and some PM’s comments. The plan is to share this slide with other product managers and engineering leads, get resources to commit to the project, and start developing the new feature this quarter.

10:00am – Talk to my team about the bug reports we track and try to find the root cause of the bug. Spend another half hour running the problem spots and checking the logs to confirm my suspicions. Finally update the Bug report.

10:30 a.m. – I find that I’ve been swamped with inexplicable meetings all morning and now have a precious hour to write code. I tried to rewrite MapReduce’s pipeline mechanism in Go. The goal is to maintain high maintainability while adding new features. I was going to finish it, but with time running out and one test still failing, I’m going to spend the rest of the day quietly sulking.

11:30 a.m. – Video conference with colleagues in Mountain View about the new project we’re launching. I’m so excited to be a part of this project.

12 PM – Stop by the restaurant for lunch to go. I hate eating lunch at my desk while reading websites like Hacker News. Some vices are hard to break. Still, I don’t understand how bitcoin works.

12.30pm — Quickly organize an internal meeting with the VC team to prepare for the agenda later.

1:00 noon — Interview meeting. We review candidates and complete the interview process before deciding whether to offer them an offer. Sometimes this is easy, but often it’s not easy and can lead to arguments, especially if candidates have mixed results during the interview process (which almost everyone does). After I leave this meeting, I will be confused and wonder how I got the offer.

2pm — Team weekly meeting. It’s usually one or more people telling the rest of the team what they’re doing or with the goal of getting feedback or just sharing the results. Sometimes, we also set quarterly goals and track progress every week. Or maybe we don’t have weekly meetings at all.

3:00 PM – One-on-one meeting with direct reports. I check in with my team members to make sure I’m up to date on their work, discuss technical issues at work, and also talk about other topics: career development, setting priorities, and performance reviews.

4pm – Three days a week I leave work a little early and ride an hour. I find that 4pm is often a great time to fire, and it’s a great way to relax after a hard day’s work and go out and see Seattle.

5:00 p.m. – Go home, take a shower, cook dinner for the family, paint some weird colors with my 5-year-old or work on an electronic project. It’s my favorite part of the day.

7 p.m. – Make the bed and read lots of stories.

8 p.m. – Free! I usually spend some time in the evening checking emails (especially those I skipped earlier at work), but avoid doing “real work” at home. Then, depending on the mood, I might watch an episode of Top Chef with my wife or do some reading (I’m currently reading Haruki Murakami’s 1Q84).

Compared to my early days at Google, I’m aware that there are more meetings, but I’m also involved in more projects. Most of the interesting technical work is done by my team engineers, I envy them. They went deep and did some really cool stuff. But at the same time, I enjoy being involved in many projects and being able to coordinate multiple active projects and explore new ones. Well, that’s fair trade.