DEV Community

Cover image for How to take smart notes (as a developer)

How to take smart notes (as a developer)

Emma Goto 🍙 on March 19, 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,...
Collapse
 
slavcoder profile image
Sławomir • Edited

"I'd love to hear about your note-taking experiences - what does and doesn't work for you?"

Ok!
I have my own system of course :)
I was reading about taking notes techniques and tested some for a while and for now Im just trying to simplify everything.
I'm using a notes stack for learning purpose. It means I write notes mostly on paper cards in modified Cornell Notes System (without summary). The process looks like this:

When I learn new thing I'm taking notes about that on paper card like this:

|-----------------------------|
|    topic                    |
|-----------------------------|
|  k  |     content           |                     
|  e  |                       |
|  y  |                       |
|  s  |                       |
|     |               |-------|
|     |               |       |
|     |               |  date |
|     |               |       |
|_____|_______________|_______|
Enter fullscreen mode Exit fullscreen mode
  1. The keys are good for repetition, I can hide content and try to bring it back from my head.
  2. Date is a place where I write next repetition date. Every note paper card is stand alone, I decide about next repetition based on how good my previous repetition was, so there is only date of next repetition and previously done. I may need more repetitions or less

    Basic repetitions after learning day:

    • tomorrow
    • after 7 days
    • after 30 days
    • after 1 year
  3. After I write a next repetition date, I place the note in notes stack (a stack of paper notes). The right place in stack is a next repetition date. So everyday I can just take the stack od notes and repeat those on top of it (up to current date) and after that write next repetition date on each note and place it in stack again. Notes wchich I learned enough goes to archive stack.

It may seem complicated, but it accually is very simple. The good part of it is that even if I stop doing my repetitions for 2 weeks because of some reason, I just need to go through my stack up to current date, no need to worry about planing repetitions and be angry on myself if I miss them.

What about fast notes, some tutorial notes etc.

For fast notes, TODO, ideas, project notes etc. Im using google sheets. So I have easy access from smartphone and computer. I have a sheet with list of things I want to learn, so when I find something interesting I just put it there to not distract myself from current work. Google sheets are pretty nice for lists.

For more like tutorial notes with a lot of code, my thoughts or post notes Im using markdown. I have one folder with cheat-sheets, snippets, and all other stuff, each file is a .md file and I'm keeping it on private github repo. I have a quick access to that kind of notes, even this comment I'm writing in this folder as a temporary .md file :)

So when Im going through 4h long tutorial what I do is I code with author (and try to experiment too) and take notes in tutorial-name.md file at same time. After that I go through my .md note and write a paper note with things to remember from that tutorial and place it in note stack.

And that's it I guess. There is no perfect system for everyone I think, but you can take a bit from many systems to create your own perfect one.

Sławomir.

Collapse
 
emma profile image
Emma Goto 🍙

Wow thanks so much for writing that out (you could probably write a blog post on that system!). I'm really impressed you're doing handwritten notes for programming stuff.

What sort of things are you trying to memorize? Is it everything and anything or are there specific things you're focusing on?

Collapse
 
slavcoder profile image
Sławomir

Things which I want to have quick reffer I try to note in .md files, but things I want to remember and understand I write also or only on my paper note cards.

For example:

  • how strict mode works in js, what are the differents?
  • what are webhooks?
  • some common methods (for example array methods in JS)
  • when I read paper books it is easier for me to take notes on paper too
  • answers for common interview questions

The benefit of it is easy repetition. You remember less if you write on keyboard and it is harder to test your knowledge. My notes stack is not only for programming related stuff, but for all kind of knowledge. I don't make categories - like I said, I simplify everything :)
I'm not sure if it is a right answer for your question.

Thread Thread
 
emma profile image
Emma Goto 🍙

That answers it - thanks! I could definitely see myself doing this for certain JavaScript concepts.

Collapse
 
marcusatlocalhost profile image
Marcus

Thanks for describing the Zettelkasten principle, I will check it out again.

My note taking process is inspired by plaintext productivity (plaintext-productivity.net/3-00-fi...) - because I love the idea of just the filesystem, plain text files (incl. markdown) and portability, but there are some limitations I can't overcome.

I'm still searching for a Markdown editor, that allows me my own folder structure, indexes files for search and lets me paste images/attachments into a document (with a dedicated folder to that markdown file).

I come close with that setup using sublime text and some markdown extensions in addition to packagecontrol.io/packages/ImagePaste package. Sublime Text indexes all the notes and I can navigate files quickly. But something makes it not as fun to write in Sublime Text (I love coding in ST tough). And it's hard to link notes.

After trying out Joplin and Boostnotes, I have some hopes for notable.md/ but even if I'm free to edit my notes with whatever app (on a phone e.g), Notable forces me to have a flat file structure, when I import existing notes. That's a bit of a bummer.

I checked out notion but as promising as it looks, I feel like this is another vendor look-in (remember Evernote and when they changed their plan?) and filesystem based Dropbox/nextcloud synced plain text/markdown notes with contextualized attachments looks like the holy grail to me. Open, individual, rich (export HTML/PDF with pandoc etc).

Maybe at the end it's how disciplined one is, in writing/tagging their notes. That's maybe where the Zettelkasten principle helps :)

Collapse
 
marcusatlocalhost profile image
Marcus

Looks like zettlr.com/ is keeping the file structure alive and much more

Collapse
 
codevbus profile image
Mike Vanbuskirk

I've tried different note systems, and I'm beginning to feel like Zettelkasten is the first one that really brings something novel to the table.

Combined with something like roamresearch.com/ makes it incredibly powerful.

Collapse
 
emma profile image
Emma Goto 🍙

Is Roam free to use? I've never heard of it before.

Collapse
 
tmhall99 profile image
Tom Hall

It is for now, it will eventually be pay-to-play. I wrote a little about it in my post* but the links at the end of my post will give you a more thorough introduction.

*dev.to/tmhall99/beyond-taking-note...

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

Hey @emma
In case it's useful as an update to this 'note-taking' thing, there's a new tool (which is OSS) that allows this kind of workflow, especially for developers.

It's been going for the past 3 weeks, I've been using (and contributing to) and it's awesome. Check out Foam and lmk what you think

Collapse
 
rmhogervorst profile image
Roel Hogervorst

I also just read that book. I've noticed I'm reading a lot better while taking notes. That is also a benefit

Collapse
 
emma profile image
Emma Goto 🍙

Nice! How did you find out about the book? I borrowed mine from a coworker.

Collapse
 
rmhogervorst profile image
Roel Hogervorst

I stumbled across the zettelkasten method ( slipbox) read many blogposts and bought this book on the blogpost recommendation. The method fits very nicely with my more scattered approach to learning.

Collapse
 
frankytse_07 profile image
Franky Tse

I have tried using Notion but still my notes are in a mess. Can you please share some of the captured screen on how do you organise your notes? :)) Thanks in advance

Collapse
 
emma profile image
Emma Goto 🍙

I've just gotten started with Notion so I'm not sure my way will scale - for now I have all my notes/drafts in one section (with tags e.g. react, preact, jest...) and then I have another section for blog post drafts, and they're organised onto a calendar so I know when to release them.