All Articles

Borrowing Ideas from Software Design Principles for Effective Note-Taking


Note: You don’t need Software Engineering knowledge to understand this article. Jargons are translated into English for everyone to consume!

For very long, I was convinced that — Writing down information on paper is Note-Taking. It took me a long while to realize that it’s not true, Effective Notes capture ideas and not words. Instead, I was simply jotting down words on the paper.

Writing down is easy, but Note-Taking is hard.

Which made me think, and search for effective ways to improve my note-taking. On a bright sunny day, the dots suddenly connected. Pieces came together after I read this quote somewhere on the internet:

Anyone can write Code, but writing Good code is really the challenge.

(Does it ring a bell? It sure did for me)

I can’t help but notice the strong similarities between Note-taking and Software Engineering.

Writing ‘Effective Notes’ is equivalent to writing ‘Good Code’ in Software Engineering. So I borrowed some techniques from Software Engineering Design Principles, in an attempt to make effective and good notes.

In this article, I’ll explain some techniques that I tried out, and which made more sense to me. I now use these techniques on a regular basis. I believe these techniques will add more value to your note-making as well.

What do I mean by ‘Capturing Ideas as Notes’?

Let’s get on the same page before getting started.

Capturing Ideas is not Copying information word by word from a source to our notes. This is a very ineffective technique.

Content creators always embellish their content. They flood the information with a lot of examples, and descriptions. These embellishments are added to give a better context to the audience and emphasize the importance of the idea. But these are not always valuable to us. The treasure is not the examples, but the Main-Ideas.

Capturing Ideas is Extracting valuable Ideas from Chaos.
Once the idea is separated, we have to write it down in our own words, for our better understanding. This is ‘Capturing Ideas as Notes’.

Here are Five Principles, taken from Software Design Principles, that can help us make our notes even better.

1. Single Responsibility:

Each entity should talk about one idea, and one idea only.

It will be very tempting to write down multiple ideas on a single note. Though this makes note-making easier, it significantly impacts the value we get out of these notes.

The first step in making useful notes is to break down the notes and organize them in a logical way.

If you prefer taking atomic notes, then each note should have one idea only. If you feel they have more than one idea, break them into separate notes

If you prefer making expansive notes (ie. you like to have one note per topic, and all ideas on that topic aggregated together), create sections in your notes. Select a descriptive heading for the section, and each section should talk about one idea only. 

Note: If Sections have Sub-Sections, extract that Section and put them on a new note.

2. Interface Segregation:

Larger notes should be broken down into smaller notes.

3. Keep it Simple, Stupid:

 “Simplicity is the ultimate sophistication” -Leonardo Da Vinci

Making Simple and unambiguous notes are very effective in the long run.

Notes should be understood by anyone. This is a great help we do it for ourselves.

We forget things. If the notes are complex and esoteric, it is highly likely that the future us will find it very hard to comprehend the idea and its context.

Also, we need to make sure to capture all essential information. Making it simple doesn’t mean we have to remove information.

Occams Razor is adapted to fit our use case here: The simplest form of notes is most likely the efficient note.

4. Don’t Repeat Yourself

The idea is not to create duplicate notes. If an idea already exists in our notes system, do not create a new note. Instead, reuse the previous notes by linking.

Linking ideas is where the magic happens.

This sounds like more effort, but trust me, the value increases exponentially over time.

We will start finding interesting relations and similarities between multiple notes. Some topics, which we assumed to be polar opposites, will have a lot in common. (Just like how I discovered the similarity between Software Engineering and Note-Taking😉.)

There are a lot of digital tools available: Notion, Roam Research, and Obsidian. These tools can make our Knowledge Management easier, by building our own system of linked ideas. (btw I use Obsidian).

If you are afraid of digital tools and have ‘digital-tools-o-phobia’, and would rather prefer a physical way of note-taking, then look up at Zettlekasten Method and Ryan Holiday’s NoteCard System.

5. YAGNI — You aren’t gonna need it

Don’t create notes, unless you actually need them. 

We need to learn to separate the wheat from the chaff. We can very easily be distracted and work on something that’s not vital. 

Before making any note, we need to question ourselves: Is this information worthwhile?

If the idea is not that significant and does not add value either now or in the future, do not add it. 

Do not add a note for something that’s very trivial, and things that you can very easily find. This can easily clutter the system. Remember, things compound over time.

This principle will help us focus and spend time on important things, and protect ourselves from falling into the never-ending spiral of futility.

If you are using the digital tools mentioned in the previous section, do not create empty notes expecting to fill them up in the future. Or create trivial notes and useless notes.


  • Notes should Capture Ideas, not words.
  • A note or a section in a note should only have one responsibility.
  • Larger notes should be broken down into smaller notes.
  • Capture all essentials, but make it simple and easy to understand.
  • Avoid repetitive patterns and notes.
  •  Don’t create notes, unless you actually need them.

If you find this article useful and would love to read more of my ideas, consider Following me and subscribing to my Newsletter down below**_!