What I work on
I have a personal Google doc with a list of notes. For every task I am supposed to do, I have a small header and I dump my notes there in the form of a bullet list. When I finish the task, I delete them. I also keep a link towards the goals of the team/org.
This is handy for a few reasons:
- Links to docs, related code snippets, code pointers, bugs.
- Notes after asking someone.
- Dump mental state at the end of the day.
- Describe what I am supposed to work on next morning.
If the notes start becoming more than say around 10 lines, I consider seriously either polishing them and adding them to a bug for context, or writing a design doc. Otherwise, important details may go to the description of the code review request. My doc is currently about 3 pages, despite using it for quite some time.
When I work on what
I split my day in two parts: before lunch and after lunch. Mornings are output focused.
In the mornings, I disable almost all interruptions. That means no email, no chat, no meetings. Exceptions are code reviews and high priority bugs. During the mornings, I focus on more strategic and challenging problems, for goals towards the OKRs of the quarter, unblocking work for others, addressing the root cause of a some important issue, thinking about the design of a system that I don’t know yet how to approach and so on. With the exception of various communications I participate, I would say that mornings contribute to 80-90% of my output, despite being less than 50% of my working time.
After lunch I read and react on the various communication channels (email/chat/non critical bugs). I have the various meetings that help me reorient my work, learn what new is happening, ask or provide help and so on. Among these tasks, I try to do the more clear-cut part of work, like finishing some coding task, finishing some kind of documentation. I also update my personal doc with the various inputs, so I don’t forget them and I don’t rely on means (chat, email) in the next morning, where I don’t have access.
At the end of the day, I run my “shutdown” routine. I update my personal doc by taking notes of the unfinished tasks and writing at the top of the doc what I am supposed to do on the next day. A couple of words are usually sufficient.
I receive several hundreds of emails every day. Not because I am so important, but because that’s how many async communications are conducted.
On gmail, I use filters extensively. Most mailing lists have a corresponding filter and a label. The label is hidden, unless it contains messages. I also have extra filters and separate labels for emails directly addressed to me, from my manager, from my management chain, and PMs.
I also filter out most emails from automated tools that I consider as redundant to a special label that I almost never look at. For example, I almost never look at emails for code reviews. I have a plugin that informs me of incoming code review requests or comments on my code and a customized dashboard so I can quickly look at what my peer group is working on.
When I skim through the titles of the emails under a specific label, the grouping already helps me adjust quickly my prior on how important this email may be and its broader context.
I try to be responsive within a day to the emails addressed to me. I try to read, or mark as read, all my emails within a week.
Meetings
I am based in Europe. Currently, most of my collaborators are either in Europe or in US. Therefore, afternoons/evenings is a common time for everyone. In my case, this is enough time for meetings, rarely reaching capacity. Syncing with people on the east coast of US is not a issue. It is much more challenging with people on the west coast, which in my case is mostly California. I try to limit these meetings to about 1/week because they are quite late for me due to the 9 hours difference.
Chat
I use it for mostly informal, quick turn-around communication. It takes about 10-15 minutes per day in my case, only in the afternoon/evening.
What I don’t do
I have a rule since essentially I started working full-time about 8-9 years ago. At work, I don’t browse non-work websites. This allows me to finish my working hours earlier than otherwise.
My particular situation
The above routine is personal, based on my circumstances. For context, I am a senior software engineer at Google located in Zurich.
It is quite likely that it doesn’t work well for others. Even in my case, it is possible that there is a much better way of organizing. I have been using this routine for about 2-3 years now, with small variations and to me it feels like an improvement compared to not splitting my day in two halves. I also tried to have a week of disabling interruptions, inspired by the book of “Deep Work” by Cal Newport, but that didn’t work for me, since a sufficient amount of changes/events happen that I need to consider or react.