Taking notes is a vital part of learning and as a programmer, we have specific needs that software such as Docs or Word can't cover. That's why I compiled this list of my 5 most favorite note-taking apps.
In the past couple of years I've used all of them, some of them I still use them, some I've stopped using, but any of these 5 will help you.
You will see that all of them use Markdown (either the standard syntax or a custom one) and that's because I find it the fastest way of taking notes since it allows us to quickly create documents with simple formatting and also allows you to add code block with syntax highlight.
Before we look at what app to use to write your notes, if you are serious about the quality of the text, i.e: you will use for an article, documentation or anything like that, I suggest that you use a tool such as Grammarly to ensure there are no spelling errors and weird punctuation mistakes.
Now let's look at the 5 best note taking apps for programmers (in my opinion).
Note: these apps are all free or have a free tier so you won't need to fork out a cent to start using them.
Available for: Windows, macOS, Android, iOS, Web.
This is the app I've used to write this blog post.
It's great because it's not just a markdown text editor, you can do so much more, including tables, kanbans, calendar into your pages.
You can sync your notes across your devices and the fact that it has a Web version means that even if you use Linux, like me, you can still use it.
It has very solid support for code blocks, with highlights and the ability to wrap the code.
The thing I like about Notion is that it's very powerful, meaning you can do so much more than taking plain notes with it. Since you can insert charts, tables and much more, you can use it to create documentation and/or reports.
If you just need to jot down some notes for yourself, don't worry, the app is not overwhelming nor difficult to use even if you are not a power user.
The free version includes enough space that you should be good for a while. The paid plan starts at 4$ a month, reasonable if you are going to use all the features that Notion has to offer, otherwise, there are many other, simpler apps that are available completely for free.
Available for: Web
Stackedit doesn't have a mobile app but you can still use it comfortably from the browser.
It's much simpler than Notion, being a straightforward markdown editor that syncs with your Google Drive.
I use it daily for my work notes whenever I need to write down my thoughts and I want to make sure that I can access them from both my office computer and my laptop.
It's completely free and the markdown files are stored in your Google Drive so if you want to migrate them somewhere else it's going to be very straightforward.
The support for code blocks is great, with syntax highlight for any language you need.
What I like about StackEdit is that it's very simple, yet has everything I need from a Markdown Editor and it syncs with my Google Drive.
If you need a simple Markdown editor to take notes and you need to be able to access your notes from everywhere, StackEdit will be great for you.
The only downside I can think of is that it does not have a mobile app, meaning you will be forced to use the browser to edit your notes, good for quick edits but maybe not the best if you are looking for a proper UI suitable for small devices.
Available for: Windows, macOS, Linux
Simple and clean, Typora is a powerful markdown editor. Unfortunately, it doesn't have a mobile version or a web client, but the desktop client is solid and powerful.
It has great support for code blocks, using prism for the syntax highlight and it also allows you to create your CSS file to style the exported PDF files.
You can install Pandoc and Typora will easily allow you export your Markdown files to export your notes to .doc or .epub formats, a must if you plan on publishing your material on a platform like Amazon or Leanpub.
Available for: Windows, macOS, Web, Android, iOS
Quip is the first editor that I've used and albeit I don't use it anymore, it's still a great solution.
The mobile app is not the best, but the web client is solid and powerful allowing you to easily add tables and more.
Some features are paid but overall the free version is good enough.
The support for highlighted code blocks is basic and not on the same level as the others.
On the other hand, it has great support for teamwork, meaning that you can leave comments and see what other users are doing on your file, similarly to Google Docs, which makes it great for teams.
Available for: Windows, macOS, Linux
Despite not being meant for it, VSCode is a great note-taking app.
When writing the second edition of my ebook I've used VSCode to create individual markdown files and a simple node script to join them into a single one.
You can also take advantage of a GitBooks to connect your repo and have your notes published online, available privately or publicly.
Editing on the fly is not the easiest since you can't use VSCode on your phone but you can still edit directly the files hosted in the Github repo from apps such as FastHub or similar 3rd party clients.
Being a code editor it means you can also have more freedom compared with other Markdown editors.
For example, for the second edition of my ebook, I opted for individual Markdown files for each chapter instead of a single large one.
Of course, I needed a way of getting a single Markdown file of the entire book to convert to .epub to sell it on Amazon but I just had to write a simple node script to join all the Markdown files together and leverage Pandoc to convert it to .epub. That meant I retained the simplicity of working on smaller, individual files without having to waste too much time joining and converting them.