The other day, I was discussing with a friend about my log books, and it seems that, while it’s fairly common with scientists of all sorts, it’s not a generalized practice amongst computer scientists and programmers. But it should: the log book is not only for chemists.
First, the log book serves as… a log. A written trace of your activity during the day. While this sounds silly, it may be useful in retrospect when it is needed to assess time spent on a particular (class of) task(s), to get a good idea of were you are spending your time at work.
Logging your activities with start/end hours or time spent is a good way to explain a pointy-haired boss that no, software isn’t easy, and no, setting up a server doesn’t take 0 time. It’s also a great way to keep track of overtime so to know when your employer owes you money or off time.
But the primary use of the log book, at least the way I use it, is to note in one place all your ideas, with schematics, references, even half-baked… I mean, partly formed ideas. I note formulas, with derivations and explanations so that in six months or six years, I know where it’s from and why it works, and what I was thinking.
The log book also serves as a trace of your (personal) progress, over a long period of time.
A variant of the log book is the “meet book” where you note stuff that happens during a meeting: events, topics discussed, action points, phone numbers, e-mails. If for the regular notebook I favor the letter-sized Mead Five Star spiral quad ruled notebooks, for the “meet books”, I prefer smaller notebooks, the kind that fits in a pocket, the one you can get just about everywhere. For the meet book, I like those with rigid covers, as they are much harder to mess up, even if you carry them around.
When a log or meet book is filled, I date it on the cover, sometimes using a white sticker, something 25/6/2009–10/2/2010, with a terse description of its contents “research, ETS”, and keep it in a safe place. I used to scan them entirely before storage, but that hasn’t proved very useful since most of the contents are NDA (but that might not be the case with my current job).
It’s not really important exactly what log book protocol you choose (there are many, some even specifying how you should split your page with dates, notes, and general remarks; some are made explicity for laboratory experiments, etc.), what is important is that you do use one, and write down things that you find useful. Your programming tips, the things that gave you a hard time to fix, where you spent your time, contact information, etc. What you find useful and what is likely to be useful in the future.