DevTip #1 - Write a daybook

2 minutes to read

Around a year ago, I read the 20th Anniversary edition of Pragmatic Programmer. In the book, they write about how Dave used to work for a small computer manufacturer, which meant he would spend time alongside electrical and mechanical engineers.

The engineers in this firm would carry around paper notebooks, scribbling ideas, conversations they'd had, things they'd learned, readings from meters, sketches of brainwaves etc.

So, I started writing my own daybook (both at work and a non-daily university-version). Maybe this is a little extravagant, but I think it's changed my (working) life.

It's helped me solve production bugs, it helps me give quick answers to quesitons I get from other developers solving similar problems to me (that have just-so heard I've been down that path already). But best of all, it helps me organise my day and reflect on what I've already done.

I oragnise my daybook like so:

  • Each year is a section in a OneNote notebook.
  • Each day is a page in that section (named using ISO-8601 yyy-MM-dd format)
  • Each page is based on a template (OneNote can do this automatically), which contains a "todo" section, a "notes" section and a "music" section.
    • The todo section is self-explanatory, it's a todo list for the day.
    • The notes section is where I include meeting notes, conversations I've had, random snippets of code, screenshots, ideas etc.
    • The music section is kinda silly, essentially, I usually listen to albums when I work. Each time I start an album, I update the daybook. It serves both as a way to write down the music I'm listening to (kinda fun, not useful), and also a reminder to update the notebook. Occasionally I forget, and it annoys future-Jess.
  • Occasionally, if I think something will be especially useful in the future, I include a list of "tags" with keywords relating to the topic so that OneNote's search is more likely to pick it up. This is usually a line afterwards saying something like tags: blog post jess onenote productive pragprog book daybook.
  • Just before I leave for the day, I usually leave a little note for future-Jess with some info on what I was thinking, working on and any tips I might need. This is especially useful when coming back from a long weekend, as 3 or 4 days away can remove any trace of your working identity and what may have been going on in the days leading up to it.
  • It took me around a month to get the template right for this, so play around with it yourself.

My daybook has saved the day a few times (with production bugs, conversations that nobody could remember the outcome of, figuring out timelines of incidents etc).

It can be time-consuming to write these thoughts down, but in my experience the benefit outweighs the cost. I use it as a way to reflect upon my decisions, record important moments, and flesh out ideas.