How to take smart notes (as a developer)

17 March 2020

I recently read the book How to Take Smart Notes by Sönke Ahrens. It explores the note-taking method of a famous German sociologist Niklas Luhmann, who published a huge amount of work in his lifetime (70 books and 400+ articles) - and it was quite possibly due to the efficient way he took notes.

Although the book was primarily aimed at students and academics who have to write papers, I still gleaned some really good lessons from it that I think are applicable to developers, especially those who write blog posts about what they learn.

Write notes in your own words

When studying and making notes, a common approach is to copy down definitions of things straight from the textbook or learning resource that you are using. If you’re attending a lecture or listening to a course online, and are a super-fast typist, you might even be able to directly quote what your instructor is saying straight into your notes.

The problem that comes with writing notes this way is that you’ve been able to skip the work of actually understanding the content. If you go back and re-read your notes a couple of times, this will create the illusion of understanding (as you will be able to recall bits of it in your memory) but saying it in your own words takes a bit more thought and brainpower to do.

When writing your notes, it is important that you do the work upfront of understanding the meaning, by making sure they’re written in your own words. This will save you the hassle of trying to understand it later.

Where writing notes can turn into a problem

You probably will have some sort of notebook (whether it’s paper-based or digital) where you jot down all your notes. If you’re organised, you may even have some sort of tagging system too! Keeping notes is good practice, but problems can arise depending on what you do with the notes after you’ve written them.

Over time as you learn and note down new things, your collection of notes will grow bigger and bigger. It can start to be a bit overwhelming, especially if your notes are disjointed and all over the place without much clear organisation. If you’re looking through your notes for a new topic to blog about, it may be hard to find something worth blogging about.

Even worse - you may have documented the solution to a particularly gnarly problem you solved at work (which would make for some great blog content!) but after coming back to it later you’re finding it hard to turn it into a blog. What made solving this problem so difficult, exactly? Why did we need to solve it in the first place?

When you quickly jot down notes, you’ll probably skip writing down all of the details, because in that moment, you can remember all of it just fine. But when you come back to these notes later, you may have completely forgotten the context in which they were written, and thus these notes will lose some of their value.

Understanding and writing down your notes gets you two thirds of the way there. But there’s a third thing you need to do to write truly effective notes. Step three involves something called a slip-box.

What is the slip-box (or Zettelkasten) method?

Soon after you’ve jotted down your notes you need to rewrite your notes into “permanent notes” that will live in your slip-box.

A slip-box, also known as a “card index” or “zettelkasten” in German, is where Niklas Luhmann would store all of his permanent notes on index cards. Today, you can also accomplish the same sort of thing thanks to using various software, some even specifically made for Zettelkasten.

Each of these notes shouldn’t be excessively long - Luhmann kept things succinct by only using one side of each index card. But at the same time, he made sure that the notes themselves were written properly with full sentences, and were able to be understood without any additional context.

As he created more notes, he would find links to other notes he had created, and with a numbering/lettering system would denote certain notes as “sub notes” of other notes. If a note was related to two separate notes, it might be made a sub note of one, and the linkage to the other note would be noted on the index card itself.

The act of writing these notes (properly) and finding the connections between them and other notes isn’t easy. It’s a lot harder than just jotting down notes in a notebook and calling it a day. But by doing this expensive brainpower up front, you’re essentially building up a library of interconnected knowledge from the ground-up.

As you build up your knowledge library and find the relations between bits of knowledge, the real beauty of this system is that it will organically let you find topics to write about - they essentially will have written themselves because you will have done the work upfront of explaining it in your own words, and connecting it to other notes in your slip-box.

Implementing the slip-box method as a developer

Prior to reading this book, my collection of notes was messily stored in Dropbox Paper without much categorisation, and missing lots of context. In some cases, it was just a link to an article or some documentation with a “TIL” written underneath it.

I’ve taken a little look around at what’s available to store and write my notes in, and for now I’ve settled on Notion. I’ve started to make the effort to convert some of my “messy” notes into “proper” ones, and I’m finding that I’m actually skipping the act of putting the permanent notes into a slip-box and going straight to creating blog draft out of this content. So I can’t yet comment on the effectiveness of properly using a slip-box but for me at least it is providing some results!

If I do find this approach useful in the long term, I’ll be sure to write up a post detailing my experiences. In the meantime, I’d love to hear about your note-taking experiences - what does and doesn’t work for you?

Thanks for reading!