Live data from Hacker News

Using an engineering notebook

ntietz.com

51–60 of 161 posts

Re: Using an engineering notebook

#51
I wonder if this sort of thing belings to a certain kind of organisation, or type of career. I can certainly see the value of "we have all of technical notes going back 43 years!" but in my experience, it's rare to meet a "brilliant engineer" who'll stay in one position for even a decade.

Personally, I've been in many 2-15 year employments where I made copious notes - but I did so in whatever wiki my department was using. I've never had the opportinity (or, for that matter, much desire) to bring those notes with me to the next position, as they were (a) specific to that place or task, and (b) quite certainly proprietary (if far from high-value industrial secrets). Detailed notes on the inner workings of an in-house framework, or end-to-end credit card processing flow, just aren't that relevant when your next role is steward of a 25-year-old national tax reporting platform.

I've done a few blog posts, but haven't generally felt the need to share my brilliant thoughts with the greater world, those were just my personal musings (as is this piece right here).

Don't get me wrong, I'd love to _be_ in a position where such long-term usefulness was expected.

Re: Using an engineering notebook

#52

I was given this advice at university, but what I was always missing was what I was supposed to write down in them. The post here mentions hypotheses, but I don't do experiments for the most part. It mentions writing down in the notebook before writing code, but I can't test my notes, I can't really send my notes for code review. I guess you could use it for design, but you'd lose all the advantages of word processin…

I'm a scientist. In the science world, the traditional lab notebook contained a narrative of what you were doing. You're kind of thinking out loud into it. One measure of a good notebook is if it contains sufficient information that you don't have to repeat work only because you can't figure out what you did. There are other good reasons for repeating things of course. My spouse is a lab scientist, and I've seen her…

> There was a time when a notebook was also a legal document

This is still the case in certain fields like policing where, in the United Kingdom at least, an officer's pocket notebook is an important document, albeit with some police forces now moving to electronic solutions for this: https://en.wikipedia.org/wiki/Police_notebook

Re: Using an engineering notebook

#53

I was given this advice at university, but what I was always missing was what I was supposed to write down in them. The post here mentions hypotheses, but I don't do experiments for the most part. It mentions writing down in the notebook before writing code, but I can't test my notes, I can't really send my notes for code review. I guess you could use it for design, but you'd lose all the advantages of word processin…

You are overthinking it.

See my comment here - https://news.ycombinator.com/item?id=46986532

Also see a concrete example of an Engineering Notebook from a time when they were common, posted by user JetSetIlly here - https://news.ycombinator.com/item?id=46985832

On What and How to Write:

The book The Thinker's Toolkit: 14 Powerful Techniques for Problem Solving by Morgan Jones gives you a catalog of structured techniques for problem solving which you can use in your own writing.

Addendum to the above book's catalog would be "Decision Tables" (useful for all types of decision-making and not just software engineering); How to Use a Decision Table Methodology to Analyze Complex Conditional Actions Requirements in Software Development - https://www.methodsandtools.com/archive/archive.php?id=39

Re: Using an engineering notebook

#54

I was given this advice at university, but what I was always missing was what I was supposed to write down in them. The post here mentions hypotheses, but I don't do experiments for the most part. It mentions writing down in the notebook before writing code, but I can't test my notes, I can't really send my notes for code review. I guess you could use it for design, but you'd lose all the advantages of word processin…

I'm pretty sure it works very differently for different people so you have to figure out your own process. I've tried different things but at the end of the day, I simply have a notebook next to my laptop/in my laptop bag and write down everything in freeform text. No index, no bullet points and things like that. I put a date and start writing. I'll usually do some TODOs as checklists to get them out of my brain and bothering me at the start of the day but only big items, not each and every step. It's a mix of work and private things. Just writing stuff down is helpful for me, even if I never reference it again.

I do use the Feynman Technique if I come across something interesting and try to explain it on paper. So if I was using it just for work, I'd probably do that. Something like "Spec driven development (Github Spec Kit and similar toolkits) is essentially a bunch of md files that provide more context for agents. There are some scripts that provide scaffolding, having agents write the md uses a lot of tokens so writing them manually after the scaffold is generated makes more sense. Try with a small project."

Re: Using an engineering notebook

#56

I think this is great advice. One thing that I think is simultaneously trite and under-appreciated is the degree to which writing itself drives strong memory formation, even if the notes themselves aren’t particularly good or detailed. I’ve been keeping technical notebooks for about a decade now, and I’ve found that I can open up to almost any page and remember exactly what I was thinking when I scrawled on it. By co…

> under-appreciated is the degree to which writing itself drives strong memory formation, even if the notes themselves aren’t particularly good or detailed.

Exactly!

See https://news.ycombinator.com/item?id=46986532

Re: Using an engineering notebook

#57

I was given this advice at university, but what I was always missing was what I was supposed to write down in them. The post here mentions hypotheses, but I don't do experiments for the most part. It mentions writing down in the notebook before writing code, but I can't test my notes, I can't really send my notes for code review. I guess you could use it for design, but you'd lose all the advantages of word processin…

I'm a scientist. In the science world, the traditional lab notebook contained a narrative of what you were doing. You're kind of thinking out loud into it. One measure of a good notebook is if it contains sufficient information that you don't have to repeat work only because you can't figure out what you did. There are other good reasons for repeating things of course. My spouse is a lab scientist, and I've seen her…

(Note that this is why Jupyter and Wolfram use the word "notebook" for their interface format)

Re: Using an engineering notebook

#58
I didn't find note-taking particularly useful until I started keeping everything in a single notebook with dated pages. This worked a lot better than (for example) trying to organise notes by category - it's often easier to remember when you were working on something than how you categorised it, and once you know roughly when, you can find it by binary search

Re: Using an engineering notebook

#59

I was given this advice at university, but what I was always missing was what I was supposed to write down in them. The post here mentions hypotheses, but I don't do experiments for the most part. It mentions writing down in the notebook before writing code, but I can't test my notes, I can't really send my notes for code review. I guess you could use it for design, but you'd lose all the advantages of word processin…

These are the things I add in when adding in a new usecase to a codename:

- Expansion of the acceptance criteria into small steps.

- Any clarifications to what we are making

- Anything I don't understand yet so i can chase up someone about it later

- As I read through the code I write up possible refactoring opertunties. (I find this a lot better than adding todos as you can skim though the list closer to the end and address things that matter most first. Often the code that seems silly at first has a decent reason to be that way with the full context knowen)

All of this helps me pull the right threads without having to switch context throughout the day

Re: Using an engineering notebook

#60
For the last 5 years or so I've been keeping daily journals, which have migrated from one piece of software to another over time. Ultimately they all boil down to Markdown files named `YYYY/MM/DD.md`, the format has evolved into me just throwing a timestamp in as a header and then typing whatever thoughts I have.

These are useful for a couple of purposes, the first is simply getting thoughts out of my head and into a document. The other thing they've been good for is tracing back through what I've been doing - my job involves a lot of context switching, and it can be good (and sometimes also useful) to be able to scroll back through the last month and be reminded that I have in fact achieved something.

Post reply on HN