Yosra Emad
Yosra's Blog

Yosra's Blog

How I use Notion while learning programming

How I use Notion while learning programming

Notion, the tool that saved my life.

Yosra Emad's photo
Yosra Emad

Published on Sep 12, 2021

5 min read

Subscribe to my newsletter and never miss my upcoming articles

Notion is pretty popular these days and I've had it for almost 2 years now. I've been experimenting ever since with several ways to utilize it to my needs. In this blog post, I will specifically explain how I use Notion for programming, especially learning to code.

What is Notion?

Notion is an application that provides components, such as notes, databases, kanban boards, wikis, calendars and reminders. It has almost anything that you need for project management, note taking (except a scribble feature that I wish there was one) and writing blog posts (I'm using it to write this article right now). You can get started with notion here

How I use Notion

I use Notion while learning how to code in various ways. So let's dive into it.

Code Snippets

You ever feel like there is this one thing that you keep searching how to do over and over again? You can't seem to just memorize how to do it.

Notion got you!

There is a code snippet feature inside notion and it has syntax for the most popular languages out there!


How do you organize them?

There are various ways to organize your code snippets:

  • Creating pages within pages.
  • creating a database

Pages within Pages

This is the way I personally organize my code snippets. I like the navigations between pages because it is like any folder navigation (with icons)

it is so simple do; you just create pages with all the languages you want to add code snippets to, inside those pages you add other pages with the name of the code snippet as the title of the page.

Here is an example:


if you click on flutter for example, you see pages with different code snippets I saved:


Creating a database

Databases are the coolest feature in notion and you can do so much stuff with it. It is more complicated than pages though.

  1. Creating the database

    just type "/table" and choose "table - inline" from the options


  2. Adding your snippets

    In this step you should just add your snippets in any languages you want

    I added some pages for the purpose of this article: image.png

  3. Adding Tags

    This is the most important part of the process, change the type of the "Tags" section of the table to "Select" and now add a tag with the language name to every page image.png

  4. Filtering the database

    When you hover over the "Add a view" button next to the title of the list, you will see something like this:
    image.png This is great because it allows us to create different versions of the same database. We will use it to make a table for every language that you can choose from, this GIF illustrates how: filtering.gif Repeat this for all languages and you are done!

Sometimes I come across websites, threads and documents that I want to save, especially ones which I come across through twitter while I'm on my phone. I keep everything in one place by a notion page that has all the links in them.

I use the database way of storing things for bookmarks and I keep track of which ones I read through tags. It's similar to the way I mentioned above except that the tags are "unread" and "read" only.

Taking Notes

When I'm going through a course or a book, I find that the best way for me to focus is through rephrasing what I hear/read and write it in my own way.

I find writing through notion is the best way to do that because other software like word and google docs add space between pages and it makes it hard to style. I get annoyed when one part of the paragraph is in a page and the other part is in another page.

Notion's pages are blog post like so you don't have to get distracted by irrelevant things, not to mention that the keyboard shortcuts are very easy and intuitive to use.

There are a ton of notion templates for taking notes and you can create one for yourself! You can search for any type of note taking system and you will find a notion template for it (e.g. Cornell Note System)

Writing your own documentation to Projects

I might be the black sheep here but I LOVE writing documentation. I can just look at the project I'm working on and remember why I did something and in the long run it makes you write clean and comprehensible code.

Notion is great for this because just like I said in the note-taking section, writing with notion is very fast with all these shortcuts and ease of navigation.

I've also seen more companies switch to notion for writing their own documentation but to be honest, It's not that much. I've seen more using it for project management.


Notion is great. It's probably my most used website/app that I used in the past 2 years. Once you get the hang of it, you get addicted to it. BTW this is in no way sponsored by Notion (I wish lol) I just genuinely love the website too much.

I hope you guys enjoy reading this article as much as I enjoyed writing it! I'd love to hear your thoughts below 🥰. Have a wonderful week everybody

Share this