How I Take (and Organise) My Notes As a Software Engineer

How I Take (and Organise) My Notes As a Software Engineer

by | 8 min read

Taking notes is incredibly important as a software developer or for any career for that matter, our brains just aren’t designed for remembering lots of information.

In fact, the act of writing things down can help you remember them in the first place.

In David Allen’s book “Getting things done” he describes a state of focus called a “mind like water”, which is only possible once you relinquish the lingering thoughts swirling around your head and get them down on paper.

If you have learnt something new, it’s important to write it down in a way that will help you find it later on.

I’ve tried many times to go fully digital with my notes.

I’ve got an iPad, so I’ve used things like Notability to try and keep notes in a digital format. However, I find every time I end up just taking fewer notes as a result.

There is just something about having a notebook and a pen that reduces that friction and allows you to take notes more easily.

It is important to always have a couple of notebooks lying around on your desk, so you have somewhere to take notes when inspiration strikes. In the past, people used to keep what they called a “commonplace book”. A small notebook that they kept about their person so they could take notes whenever a thought occurred to them.

I generally like to use squared notebook paper because it just makes it easier for doing things like diagrams and flowcharts. I also use my notebooks to keep a running to-do list for all of the items I’ve got to complete that day.

🚀 Are you looking to level up your engineering career?

You might like my free weekly newsletter, The Curious Engineer, where I give career advice and tackle complex engineering topics.

📨 Don't miss out on this week's issue

Whenever someone comes up to my desk and asks me for something, I’ll add it to the bottom of my to-do list in my notebook.

This frees my mind from having to remember anything that isn’t related to my current focus.

I particularly like the soft leather effect cover notebooks, so I tend to lean towards Moleskine or Leuchtturm 1917 as my go-to choice.

The important point here is to find a notebook that you enjoy writing in.

The more you enjoy the process of taking notes the higher the chance you are of doing it.

If I’m taking a course or I’ve written a note that I want to retain later, then these are generally typed into my note-taking application.

There are two note-taking applications that I like to use, and that use is mostly divided into business and personal.


Anything that’s related to content creation, such as producing YouTube videos or writing blog posts, I always keep track in Notion.

Notion is great for things like project tracking because it has different views that you can set up.

I have a Kanban view, so I know what I’m currently working on and what I’ve got coming next. I have a calendar view so I know when my blog posts are going out or when my videos are due to be released.

Notion Calendar

Notion has a really good mobile app, which makes it great for adding ideas when you are going for a walk. You never know when inspiration might strike.

Part of the reason that I do this in Notion is that it’s easily shareable. If I ever hire some help to edit my YouTube videos, then I can give them access to my Notion board.

Most of what I keep in Notion is transactional in nature.

I keep track of my blog posts and videos, but I don’t really look at them or any of those notes after they’ve been published.

Part of the reason I do this is because Notion is a proprietary platform.

Notion owns my data and sure I can export it, but it’s not particularly easy to export and get it into the formats that you need for other applications.

If Notion was to suddenly disappear or have a massive server error, then I would lose all my planning but I wouldn’t lose my stored knowledge.

It is not likely that Notion is going to disappear overnight however, am I still going to be using Notion in 20 years’ time?

Now for all my personal notes and anything that I want to keep long-term, I put this in Obsidian.


Obsidian is a free application. It works on all platforms, but it’s not as polished as Notion.

You can do most things that you can do in Notion in Obsidian, but generally, you need to use plugins and it does take a bit of tinkering to get it to work.


The key thing with Obsidian is that you own your data, everything is just stored as markdown files and folders.

If Obsidian was to disappear, you’d still have all your notes in a very readable format.

With that, freedom obviously comes with the responsibility that you need to be able to back up your own data.

Obsidian does offer a Cloud sync option for a monthly fee, but generally, I just use iCloud to back up my notes and then I do a further backup to GitHub as well, just to be sure.

Organising your notes

When you first get started with taking notes, it can all be a bit disorganised, to begin with, but over time you do come up with different ways to organise them.

I went through quite a few iterations on how I organise my notes until my friend bought me the book Building A Second Brain by Tiago Forte.

In the book, he goes through the four main areas in which you should store your notes in, which he describes with the acronyms PARA.

  • Projects
  • Areas
  • Resources
  • Archives

If you’re interested, it is worth reading the book or you can read my book summary on my website for the short version.

The way I organise my notes is loosely based on this book, but I’ve also incorporated some other concepts from the book How to Take Smart Notes, which is based on the Zettlekasten method.

Generally, my notes are broken down into seven different folders.

1. Inbox

This is where all my notes first arrive.

I have automation set up from other applications that feed into this folder.

Generally, everything in here needs to be sorted or broken down into individual notes. These are sometimes called fleeting notes, in the Zettelkasten method.

2. Projects

I generally create a separate folder for each project I’m working on, whether that be a redesign of my website or notes on a course I’m taking.

This is similar to how Tiago does it in his book.

3. Knowledge

This folder stores all my permanent notes, it is what they call a digital garden of knowledge with links to other bits of information.

It doesn’t contain any subfolders, which is where I differ from the Building A Second Brain book.

The idea here is that our brains don’t store knowledge in set folders. It’s more of an interconnected web and knowledge.

What I do have is what we call Maps of Content (MOC). These are notes on high-level topics that help link together related notes.

The idea of the knowledge folder is that each note should be quite small. It isn’t like a blog post containing everything on a subject. It’s more like a few paragraphs explaining a concept.

4. References

When I do write a comprehensive book summary or an article for my blog, then this gets stored in the references folder.

When I’m taking notes on a course, I might have these all in one big master note, but later break it down into the key areas of knowledge.

5. Archive

If a note is no longer relevant, I do not delete it, I just move it to the archive. At least this way it still shows up if I search for it.

6. Extras

Obsidian gives you a few ways where you can specify a folder for attachments or for templates.

Templates are particularly useful if you have set formats that you like your notes to be in or details that you want to appear in each note such as the created date.

7. Later

I use automation to take highlights from other applications, but it does mean my inbox gets quite large.

If the highlight is useful, but I don’t want to turn it into a permanent note. Then I just move it to the later folder to get it out of my inbox.

If it comes up in my search results, then I might decide then that I want to turn it into a permanent note.


One of the benefits of having your notes stored digitally is that you can use automation to help feed your second brain.

The first application you need in order to do this is a highlighting application.

The idea is you send every article you read on the internet to the highlighting application. While you are reading if anything stands out you can highlight it and this will then be synced to Obsidian.

There are a few highlighting apps that you can use such as:

I have used all 3 but I am currently using Readwise Reader which is a fairly new app (end of 2022) but it shows a lot of promise.

One useful feature of these apps is the ability to expand a Twitter thread into an article that you can read and highlight. If I am scrolling through and find a useful thread I will send it to Reader so I can read and highlight it later.

YouTube videos sent to Reader show up in the app with an entire script underneath the video which you can highlight.

Once all my highlights have been made in Reader I then forward them to Readwise.

Readwise syncs all of my highlights from my Kindle books as well as being able to select highlights from physical books as well.

Readwise has a great feature where they send you an email summary of some of your best highlights so you can go through them and remind yourself about some of the key concepts in the books that you’ve read. I often use the quotes resurfaced from Readwise in my weekly newsletter.

Finally, I have read Readwise sync with Obsidian so that I have all of these highlights from both Reader and Readwise sync into my inbox folder.

Your workflow doesn’t need to be this complicated. You can for example sync Instapaper and Kindle directly with Obsidian cutting out the need for Readwise.

However, the ability to take highlights (without physically marking) from books made Readwise worth the investment.

🙏 Was this helpful? If you want to say thanks, I love coffee ☕️ , any support is appreciated.


Knowledge Management for Software Developers

Knowledge Management for Software Developers

  • 02 June 2023
As developers there is so much information that we need to retain in order to be able to do our jobs. There is the general programming…
Why You Struggle to Learn to Code

Why You Struggle to Learn to Code

  • 20 January 2023
Learning to code is easy, until it’s not. When you first start learning how to code, you are learning the syntax and some of the basic…
15 Best Books for Programmers You Should Read

15 Best Books for Programmers You Should Read

  • 19 January 2023
As software developers we constantly need to learn new concepts, programming languages and technologies to stay up to date. One of my…
Code Katas: Can They Make You A Better Developer?

Code Katas: Can They Make You A Better Developer?

  • 21 November 2022
They say “practice makes perfect”, although I much prefer “practice makes improvement”. Either way, how do you practice being a programmer…
Why can’t all programming books look like this?

Why can’t all programming books look like this?

  • 12 January 2016
I have read quite a lot of programming books over the years. A lot of them have been really useful in learning a new programming language…
The Big List of Free Pluralsight Courses for Developers

The Big List of Free Pluralsight Courses for Developers

  • 09 October 2015
One of the most important aspects of being a software developer is the ability to learn new skills quickly. Our industry is moving so…