I recently got a question from a listener about my engineering notebooks. Here is my reply.
I’m pleased you listen to the show. Having heard me talk about my love of notebooks, you suggested I describe how I use them here on the blog. But, Kevin, really?
I mean, yes, I love my notebooks and they are essential to both design and implementation. But I can’t imagine anyone wants to know the details of what, how, or why. Since you asked, and since you mentioned that you have many different organization methods, I’ll write a few words. But only because too many different organization methods can often lead to chaos.*
I prefer graph paper, as it helps my writing remain neat, aligns timing diagrams, and contains doodles. (I have used blank, no-line notebooks and the doodles took over.) Oh, yes, I do doodle in my notebook. It is important to be friends with the book. All work and no fun means the notebook represents only drudgery. Usually I doodle in meetings where I don’t want to say all the things I really want to say.
The notebook must be larger than a standard piece of paper: 8.5x11 here in the US. I sometimes print out a section of schematic or the register set of a peripheral. I want to tape it into the notebook without folding the page because I want to read it easily. I also sometimes end up taking notes on a different piece of paper (or many post-it notes or 3x5 cards). I want a notebook that is large enough to contain all that without feeling like it is mostly not-notebook.
The notebook shall be bound (not spiral). This is part of taping other things into it. It also makes it harder to rip things out which is good because sometimes I want to and I always regret the loss.
There are a few other non-requirement that I prefer. The page numbers and witnesses signing line makes me think/wish/dream that this thing I’m working on today will be worth patenting. It seldom gets signed by someone else but it reminds me that it could be. I also like a hardbound book because it becomes a clipboard for working in the field or a serving tray when I need to take electronics to the lab, or coffee to favored colleagues.
The notebook I use is usually SNCO’s engineering notebook #2001 (ooh, or on Amazon now). I buy them by the dozen so I only flinch at the cost occasionally. Once a client has a signed contract, they get a notebook. Until then, I write notes on an engineering pad. Those notes get taped to or summarized on the first page their notebook.
When I start work for the day, I put the date and time I sign in. Since I’m a consultant, this is how I track my hours: signing in and out of my notebook. I write down my to-do list so I know what I’m doing for the day (or look at yesterday’s). As I work, I write down the technical debt I accumulate with arrows and stars so I don’t forget (ahem, yes, I will go back and increase the SPI clock and use DMA once the peripheral is working with a slow clock). I write down notes from a meeting, with action items highlighted by stars. When I’m debugging, I’ll write down all the options I’ve tried so I don’t get lost, going in circles. Sometimes, when I’m frustrated with another engineer (or vendor), I’ll draw unhappy faces and make a list of what I need from them.
At the end of the day, I write down the time again, summing up the sign ins and outs to get a total number of hours worked. I write that to the side and draw a square around it so when I invoice, it is there. If it is not obvious what I did with my time, I’ll write a sentence or two about my day so future-me can create a sensible invoice. Then I’ll sign the book and close it: my peripheral brain is done for the day.
Almost all of this happens on the right page of the notebook. On the left side is scratch paper. I use that if I have to figure out some hex thing or binary thing, using the grid lines to keep my bytes and nibbles neat. Or if I want to figure out how to wire up a peripheral, I’ll list the pins on both boards and the color of the wires I used to connect them, as I make the connections. I’ll draw out how I plan to do a dicey bit of soldering so I don’t end up with the middle wire/pin unsolderable. I’ll calculate clock trees on the left side with scribbly math (and put the results on the right or just into the code). Occasionally, I’ll draft delicate emails that require patience and thought (I type faster than I think, writing in longhand forces me to consider what I’m saying).
The right page information is intended to stand alone. If a client wants to inquire into my hours or a lawyer wants to show the development of a patented idea, it is there, all on the right pages. The left page information is notes to myself that I hope no one looks at.
Overall, the information in my notebook is relatively ephemeral. I don’t look back very far, a few pages for hours or a summary of my week. Maybe I’ll go through a few dozen pages to check that any of my action items or technical debts are finished or still being tracked in my to-do list. Sometimes a page will be important enough to copy the page number to the table of contents at the front of the notebook (usually a wiring diagram, state machine that really should be moved to a permanent document, or a red-lined schematic that needs to be referred to before revving the hardware).
Now, I’ve explained the objects associated with and the tactics of my notebook. I don’t think I’ve explained why it is so important to me, that’s a bit harder. Some of it is habit but there is more to it than that.
Have you heard of rubber duck debugging? Where you talk to an inanimate object just to force you to explain your design, code, or bug to someone else? My notebook is my rubber duck. It doesn’t make a lot of suggestions but it listens really well.
I work almost always alone. Sometimes I get to work with a fantastic EE or even another embedded software developer. That’s nice but they have a lot to do; I don’t want to bother them unless I know my concern is real and reasonable. I can use my notebook to explain what I’m thinking and if it still makes sense to me after that, I can explain the idea to someone else. It is kind of like pair programming with a mirror.
I have sometimes wished my notebook was searchable. I have experimented with text or online notebooks. I keep returning to the paper version because it forces me to look away from the computer, to intentionally break my attention to something other. My computer-based notebooks tend to devolve into code or project documentation. My paper notebook is a diary and a companion because it isn’t on my computer screen.
I hope you can see why I have affection for my notebook. Perhaps it is anthropomorphizing an inanimate object, or, worse, narcissism as I talk to myself through time via paper. Nonetheless, it helps me stay focused, organized, and efficiently communicative to other humans.
I see people put their notebooks on pedestals, reserving them for grand ideas and perfect designs. If you find yourself doing that, may I suggest that you buy two, one for your inspired genius and one for day-to-day use.
Even my fancy SNCO notebooks aren’t that expensive, not really, not compared to how much your time costs when you lose a necessary piece of information. Write in your notebook: that is what it is for. I think it is better if it is a little expensive and a bit of a luxury: it is satisfying to use. I enjoy the logical elegance of the notebook; it puts me into the right frame of mind for getting to work.
Finally, your future notebook sent me a message. It says that it forgives you if you neglect it. You can always go back. It doesn’t mind if it has been a day or a year. The notebook is there to listen to you.
So, Kevin, I hope you find this helpful and a notebook companion comes to keep you from being alone in a sea of information and code.
PS Having had success with my engineering notebooks, a few years ago, while looking at a surplus of floppy laboratory notebooks, I decided I wanted to use them for house related stuff. That was nice, I put roofing repair receipts and plans for the garden in it. Then I wanted to find a good dentist so I made notes on that. Then I started doing calculus in my free time and got tired of losing problem sets so I started using my house notebook for that. I used it to plan out the new Logical Elegance website. I track potential-clients in it. I write down ideas for new products and plans for overnight visitors. I used to have a few idea-notebooks that I’d lose or use only a few pages of before going on to some other personal project. The home notebook is now all encompassing for non-client information. It is a whacky diary of randomness.
* I like chaos but only when I’m causing it.