I came across a nice Webinar on keeping a laboratory notebook. It’s from the National Institute of Health and is therefore aimed at medical researchers and the type of labs they work in. Still, there are, I think, valuable lessons for those of us in software engineering even if we don’t work in a formal lab setting.
I’m a big believer in keeping a notebook that contains the same sort of information discussed in the Webinar. I record problems I work on and the steps I take to solve (or try to solve) them. Naturally, I keep mine electronically in Org mode. I try to use the method recommended by Howard Abrams in his really great video on Literate DevOps. I’m not doing DevOps but I really like his approach of embedding the code he used to solve a problem in an Org file that explains the problem and what he’s doing to try to solve it. That’s especially useful if the problem comes up again because I have working code that solved it last time.
If you have to fill out activity reports, keeping a lab notebook provides an excellent record of what you’ve worked on and—if you track your time—how long you worked on them. It takes a bit of discipline to keep an accurate and comprehensive lab notebook but is well worth the effort.
The video is a little over 13 minutes long so you may need to plan some time for it. If you’d rather, you can read the slides and associated narrative instead.