Soren Learning

Chapter 2

Note-Taking for Engineers: Building a System That Works

Listen to this article

Most engineers have some version of a note-taking system. Most of those systems share the same failure mode: notes are written but not retrieved. The document graveyard — a folder full of markdown files, a Notion workspace with dozens of pages that have not been opened in months, a physical notebook sitting on a shelf — is the default outcome of note-taking without a retrieval strategy.

The purpose of a note-taking system for engineering work is not to store information. It is to serve as external memory: to capture things that would otherwise be lost, to connect things that belong together, and to surface what is relevant when you need it. These are different design requirements than a general information management system.

What Engineers Actually Need to Capture

Technical knowledge falls into distinct categories that call for different capture approaches:

Decisions and their rationale. Why did we choose Postgres over MongoDB for this use case? Why is this service synchronous rather than event-driven? These decisions exist in someone's head or in a meeting transcript that nobody will find. Capturing them in a searchable, findable form prevents re-litigating them every time a new engineer joins or a similar question arises.

Patterns and solutions. The SQL query pattern that solves the recursive CTE problem you kept getting wrong. The nginx configuration that finally fixed the upstream timeout issue. The specific git command sequence that recovers from a bad rebase. These are high-value captures because you will need them again and you will not remember the details.

Learning notes. Concepts encountered while reading documentation, articles, or books. The danger here is accumulating without connecting — a note about "Raft consensus" that sits alone is less useful than a note connected to the services in your codebase that use it.

Work-in-progress context. The current state of an investigation, with the hypotheses tested, the evidence found, and the next steps. This is most valuable when the work spans multiple sessions and context needs to be rebuilt.

Meeting and decision records. The outcome of technical discussions, who was present, what was decided, what the open questions were.

The Core Principle: Capture for Retrieval, Not for Completeness

The most common mistake in engineering note systems is optimizing for completeness — capturing everything, in full detail, organized into a logical hierarchy. This produces systems that are comprehensive and unusable.

The right optimization is for retrieval: capturing the specific things that are hard to reconstruct and that you will actually need to find. A note that takes two minutes to write and saves thirty minutes of re-investigation six months later is a good note. A comprehensive summary of a book chapter that you never reference again is not.

Two questions before writing any note: "Would I need to reconstruct this from scratch without it?" and "Will I be able to find this when I need it?" If both answers are yes, write it. If either is no, reconsider.

Tools: Obsidian vs. Notion vs. Plain Files

These tools solve different problems and the choice depends on what you are optimizing for.

Obsidian works best for engineers who want a local-first, Markdown-native system with strong linking between notes. Its graph view makes connections between concepts visible. The backlinks feature — showing every note that links to the current one — makes the "connect things that belong together" goal achievable without upfront organization. Notes live as plain Markdown files, which means they are portable, version-controllable, and will not be trapped in a proprietary format. The trade-off: it requires more setup and discipline than a hosted tool.

Notion works best for teams that want shared documentation alongside personal notes, or for engineers who prefer a more visual, block-based interface and do not mind the hosted dependency. Its database feature makes structured notes (meeting records, project logs, decision registers) easy to build. The trade-off: it is slower for quick capture, the Markdown support is partial, and notes are not trivially portable.

Plain Markdown files in a git repository is the option most engineers underestimate. A folder of Markdown files, with a simple naming convention and a good fuzzy file search, provides everything most engineers need: searchability, portability, version history, and the ability to open notes in any editor. The absence of a graph view is rarely a real limitation.

The tool matters less than the habit. A simple system you actually use beats a sophisticated system you maintain for two weeks and then abandon.

A Practical Workflow

A workflow that works for engineering note-taking:

Daily capture. Keep a single "today" note open during work. Anything worth remembering — a command that worked, a decision made, a pattern encountered — goes into the today note immediately. Low friction is the priority here; organize later.

Weekly synthesis. Once per week (Friday afternoon works well), review the today notes from the past week. Anything worth keeping longer than a week gets moved to a dedicated note, properly titled and linked. Most daily captures are ephemeral and can be discarded. The weekly synthesis is the curation step that keeps the system manageable.

Linking over filing. When you write a note, ask: what else does this connect to? Add links explicitly. Over time, the linked structure makes retrieval faster than any folder hierarchy, because you can navigate by concept rather than by where you remember filing it.

Use the search before filing. Before creating a new note on a topic, search for existing notes on the same topic. Adding to an existing note is almost always better than creating a duplicate. Your system should have one note per concept, not fifteen notes on related aspects of the same concept.

The Note That Pays Off Most

The highest-value note an engineer can keep is the investigation log: a running record of what you tried, what you found, and what the next hypothesis is for any non-trivial debugging or design investigation.

The value: when you come back after a break or are interrupted mid-investigation, you can resume from exactly where you left off without rebuilding context. When you finally solve the problem, the investigation log is the raw material for a postmortem or a blog post. When a similar problem arises in six months, you have the prior art.

A minimal investigation log: a timestamp, a hypothesis, the evidence you found, the outcome. Five minutes to write; hours saved in reconstruction.

The Practical Move This Week

Find the last significant problem you solved that took more than a few hours of investigation. Write a retrospective note on it: what the problem was, what approaches you tried, what finally worked, and what you now know that you did not before. File it somewhere you can search. This is the note you will actually use in six months.


Next: how experienced engineers hold complex systems in their heads — the mental models and cognitive habits that make large-scale technical reasoning possible.