In this article, I will walk you through the benefits of an efficient note-taking or knowledge management workflow. And how it may help you better prepare for your next interviews and augment your ability to retain information.
I have been a note-taking person for most of my life. Minimalist, I quickly moved from handwritten notes to digital notes. Decluttering my shelves and drawers.
Tap into it
Our neurons are hard-wired to forget at an exponential speed (aka forgetting curve). Repetition is proven to help smooth that curve (e.g: Spaced repetition). Guess what? I used my notes to remember those terms!
There are recurring concepts I keep forgetting about. Concepts that come up in my day-to-day work, interview, etc. I tap into my notes whenever I need to refresh my memory. It can range from programming cheat sheets to how HMAC hashing works, science facts, etc.
I follow the same approach when I prepare for an interview, mainly for System Design interviews. I document new concepts or concepts I forgot about and augment my knowledge base.
The Site is Slow is the perfect example for this. This question is so broad that – even as an interviewer – I usually quickly lookup a few concepts before interviewing a candidate.
Personal knowledge base
I curate what I learn into a more digestible format. Over time, I have built up what I refer to as my personal knowledge base. I have tons of summaries, notes, ideas, etc.
I can refer to this knowledge base when needed and refresh my memory on various subjects. I follow this approach with books, talks, posts, videos, anything interesting I want to retain.
The challenge here is to effectively store, structure and search on such a vast mass of information.
A proper title for this section should have been: how I ditched OneNote for individual markdown files.
I had a hard time trying to find a note-taking workflow that was working for me. I had used OneNote, EverNote, and other note-taking apps for years. My OneNote reached 5 GB, it was slow to the point it would take seconds to load a page.
Those tools just didn’t scale.
Efficiently search on the knowledge base. You need to be able to unlock all this knowledge of yours. Quickly lookup a note. It has to be fast and intuitive.
Ability to access the notes on the go. On the train, bus, by walk. At work or home. Anytime. Anywhere.
This implies cross-platform capability (macOS, iOs, PC, android, etc.).
Being able to access my notes offline implies some sort of offline capability with proper versioning and conflict resolution when syncing the changes.
I want to store rich text (italic, bold, hyperlinks, etc.) as well as media such as photos and videos.
Ability to easily share some of my notes with people.
Cheat sheets for programming languages, meeting minutes, etc.
- Unlimited nesting for sections.
- Syntax highlighting support.
- Ability to develop and plug in custom scripts if needed such as automatic cleanup of hidden or non-printable characters.
My current workflow
Bye-bye rich editors
The biggest decision was to move away from rich editors. I would end up spending more time fixing formatting issues that focusing on what matters: the content. This is why I am solely relying on Markdown.
Tools I use
I use Visual Studio Code as my markdown editor.
I have plugins that make my life easier with markdown:
- Markdown All in One
- Paste Image easily paste an image into a markdown file, auto-save to a directory (for instance: /.media/images).
- Markdown Table Prettifier: help to build tables with markdown.
- markdownlint make sure you follow customizable formatting and writing conventions for all your markdown files.
- Excel to Markdown table: copy-paste excel table in markdown.
- Insert Date String to quickly insert the current date when I write a meeting minute.
- Peacock to color my different workspaces differently. As I have multiple wiki workspaces (work and personal).
I have a rigorous structure to store images and media.
My media are saved at my project’s root directory:
Images are saved in:
I refer to an image like this:
You could just have your files in a Dropbox folder.
Because my files are synced to the cloud, I can access my notes from my phone using a git client.
I started using this workflow a year ago. I am still migrating my notes manually from OneNote since then. I just love the flexibility of having all of my notes locally, offline, in a simple and clean format, Markdown.
I can search based on a regex on all of my notes in a matter of ms.