Recently I had a really shitty day. At 7:00 AM I noticed we were pretty far behind on sidekiq jobs, and I spent until the middle of the day trying to make things better. After that I made some more changes, things got weird, and it wasn’t until after 10:00 PM that I figured what was going on and got things back on an even keel.
That’s not what I’m here to write about. I’m here to write about preventing the kicker that came along the next day and added insult to injury.
I was going to go back over the previous day and look at what I had done; what went well; what I could have done better. This is a crucial thing for me. Going back and thinking about what I could have done better is essential for getting better. This time I couldn’t remember it all. Some of it was in git and CircleCI. Some lingered in shell history and Emacs buffers, but trying to work out a timeline was awful.
Going back and looking at your experiences so you can learn from them is one of the best ways to get better at what you do, and I couldn’t learn as much as I wanted to because I had skipped one of my standard practices.
Keep a Work Log
I normally keep notes of what I work on, but that day, at home, with things so out of whack, I didn’t. It’s a combination to-do list (so I don’t forget to do things), to-done list (so I can answer the all important “what did you do yesterday?” question, what happened (i.e. that vet appt explains a missing chunk of afternoon), and external memory for useful commands, APIs, and observations.
I’m not talking about creating a permanent work record, or even a searchable knowledgebase. That is not worth the effort. Just something so that I can sort of reconstruct my day, and get a sense of what was going on on a given day in the past. This isn’t deep archival material. On my desk at work is a Leuchtturm notebook that I finished filling early this year. I don’t think I’ve opened it since the week after I made the last entries. This information rapidly loses value. Day of? Great. 2 Days later? Still useful. 2 Weeks later? Eh. Rarely worth looking for. I don’t throw it away just in case there’s something I find is worth the effort to dig back through my entries. Make it easy to record things, worry about optimizing retrieval only if necessary.
Another facet of writing things down is that it helps you remember them. Multiple studies over quite a long period of time have found that writing things down by hand helps you remember them better than typing or cutting and pasting. If I write things down I have a little bit better chance of remembering them later.
What I Use
In the past I’ve done it in Evernote, Emacs Org mode, or plain text files. Those all worked fairly well mechanically, but I’d forget to add entries too much of the time. Having a laptop open during meetings can also be distracting. I tried using a little notepad next to my keyboard. That worked well for tracking todo items, but the little tear off sheets didn’t work for looking back. Same for index cards with one task on each card, and they didn’t hold enough to fit a day’s worth on a card.
For the last couple years I’ve been using Moleskine style journals in the roughly 5.5x8.25" (A5) size. They work for both rapid logging and the occasional meeting or design notes. They sit next to me and don’t get hidden by editor windows. I can use them without risking getting distracted by flashing icons and notifications. You can get them with lines or grids to help you line everything up. Hard covers make it easier to write if you’re sitting on a couch, but you can get them much cheaper and lighter if you don’t need that.
Spiral bound notebooks can fold back and will lie perfectly flat, which is super nice, but they can also seem less tidy. I'm giving one a try, but haven't used it long enough to have firm opinions.
I wouldn’t recommend Field Notes style pocket notebooks, because I find the pages are too small and they discourage writing down larger chunks of information.
I usually write with a fountain pen because I think they’re fun. If you’re a person prone to spilling coffee you might consider looking for something that will survive a liquid assault. Some people like brightly colored inks, even to the point of color coding things. Some people like pencils. Start with whatever you’ve got or can snag from the supply closet. Try other things if you feel like it or you find writing unpleasant. The Pen Addict has a set of top 5 lists broken down into subcategories of different kinds of pen if you’ve no idea where to start.
There’s a near infinite variety of analog tools out there, so if you’re someone who likes to try new things you’re unlikely to run out. Making the tools fun to use helps me maintain the habit.
How I Do It
I’ll show you what I do, but realize that there is no one true way. This is like everything else in software development - the important thing is to find something that works for you in your specific situation and always keep an eye out for ways to make it better.
I mainly use part of Bullet Journalling called rapid logging. I start each day with a fresh page and make notes in the form of oddly bulleted lists where the shape of bullets denote tasks, events, or discoveries. Indentation lets me show that things are related to a higher level topic.
- a dot indicates a to-do item
- x the dot out when the item is done
- a small circle is an event
- a dash is something you learned or observed
- indent items related to what is before them
That’s how I do it. There is no correct way - just whatever works for you. This isn’t supposed to be perfect, just good enough. I find that the bullet shapes help me scan for things later, but you might want to do something completely different. Maybe you color code things or draw little arrows or something. Maybe you print certain things and use cursive for others.
Most days don’t even fill one page of a 5x8 notebook. Some days fill 2. I still start with a fresh page, because paper is cheap, always having the date at the top of the page makes it easy to go back to a given date, and I like starting each day with a clean slate.
Bullet Journaling has a lot of more elaborate techniques you can use, but I find that just this small subset is good for my work log. If you want to go whole hog you can basically do all the functions of Habitica, Contacts, Calendar, SimpleNote, and probably 8 other apps using nothing but pencil, paper, and ingenuity.
Much as I love the way I’m doing things, there are several things I’m not happy about, or that occasionally trip me up.
- If I leave my notebook at work, I can’t write things down if I work from home the next day. I have to remember to carry it back and forth just like my laptop.
- Writing down commands and syntax by hand is awkward and nowhere near as good as being able to copy and paste from a file.
- Moleskine/journal style notebooks are awesome, but they take up more space on my desk than necessary and frequently pages have a hard time lying flat. When my previous notebook (one of these super slim Muji notebooks) filled up I decided to try one of these Rhodia wirebound notebooks. It's been going OK, but I'm still learning the best ways to work with it so I don't have strong opinions yet.