As network engineers, we do a lot of research. We have to figure out how networking protocols work and how to configure network devices. There is so much to learn and in IT, things constantly change. It’s impossible to remember everything and even if you take notes, it’s difficult to organize everything so that your notes are useful. A good note-taking system can help when you study for exams or when you have to look things up for your job.
In this lesson, I’ll explain some of the issues with common note-taking practices and I’ll give you an example of useful note-taking practices for networking.
Why you should take notes
Taking notes of the things you learn is a good idea. When you learn something new today and then don’t touch it for a few weeks, you’ll forget most of what you learned. When you periodically review information, the information sinks into your long-term memory. The day you pass an exam, you’ll know everything. A few months later, you won’t remember a lot of details. This is visualized in the forgetting curve:
The numbers in the graph above are made up, but I think we all know from experience this is how our brains work. When you study for an exam, your notes will help to review the things you already learned. If you take good notes, it will also be quicker to review the information when you don’t have to read or scan the original source again.
Your notes can also be useful in the future. Today, you might create notes with configuration examples because you study for an exam. One year later, the same notes might save you two hours of research when you are trying to configure something on your new job. That’s compound interest in action on your time and knowledge.
What should you take notes of as a network engineer?
- Explanation of theory.
- Configuration and code snippets.
- Show and debug commands.
Maybe you learned one or two note-taking methods in school. For example, the Cornell or charting method. Nowadays, it’s easy to create notes by using a web clipper to capture entire articles, PDFs, code blocks, etc.
Once you have a lot of notes, you run into organizational issues. Let me give you an example. Imagine I am studying IPv6 for CCNA and I’d like to know how IPv6 routing works. I do a Google search to find information on the cisco.com website:
With this search, I find five articles that I’m interested in:
- IP Routing: Protocol-Independent Configuration Guide, Cisco IOS XE Release 3S
- Implement Static Routes for IPv6 Configuration Example
- IPv6 Addressing and Basic Connectivity Configuration Guide, Cisco IOS XE Release 3S
- IP Routing: OSPF Configuration Guide, Cisco IOS Release 15SY
- IPv6 ROUTING AT–A–GLANCE
These articles cover some items that I need to know for the CCNA exam. I read these articles, learn a thing or two, and I think they could be useful in the future so I save them with a web clipper.
When I add more notes, things might become messy. I want to make it easier to find my notes, so I’d like to add more structure. There are two common solutions to add structure to your notes:
Let’s take a look at both options.
The first option to add structure to our notes is to use categories (or folders). Most note-taking tools support categories.
Let’s use Evernote as an example. In Evernote, I could add my notes to a new notebook. I now have a decision to make. What am I going to call my notebook?
- I could pick “CCNA” since I am studying for CCNA.
- I could pick “IPv6” since these are IPv6-related articles.
Since I am studying for CCNA, let’s say I create that CCNA notebook and add my notes to the new notebook:
If I only have a few notes, having a single notebook is totally fine. However, once I add more notes, having everything in a single notebook might make it difficult to find information.
I could solve this by using sub-categories. In Evernote, that means I have to create a stack and add notebooks to it. I could create a “CCNA” category with different sub-categories like this:
Now let’s imagine I want to store the following:
- An article about routing between VLANs: Do I store this under VLANs or under routing?
- An article about IPv6 subnetting: Do I store it under IPv6 or under subnetting?
- An article about filtering VLAN traffic: Do I store it under VLANs or under security?
This is where we run into issues with categories and sub-categories. It’s difficult to enforce a strict hierarchy on knowledge. You can’t fit everything into perfect boxes. Some tools allow you to store a note in multiple categories.
We could add tags to our notes instead of using categories. This way, you can tag what the note is about and solve the issue we have with categories. You can add multiple tags to each note.
For example, in Evernote, we could use a single notebook:
And add tags to our notes so we know what it is about. For example:
In the screenshot above, you can see I added multiple tags that tell what this note is about. Using tags solves the issue that a note belongs to a single category. One disadvantage of tagging is that when you rely 100% on tags and you miss one, you won’t find your note. In the note above, I added 7 tags. If you have hundreds of notes, you can easily have thousands of tags that are impossible to remember.
When and how should we take notes? Collecting information is (too) easy nowadays:
- Save links to interesting articles as bookmarks in your web browser.
- Using a web clipper to store an article in your note application.
- Buying books that you never read.
Collecting information feels good because it makes us feel like we have learned something while in reality, we haven’t. We call this collector’s fallacy, a term coined by Christian Tietze. Collecting information isn’t the same as knowing something. Having every possible cookbook on your shelf doesn’t make you a chef. In the case of networking, owning all Cisco Press books doesn’t make you a CCIE.
I know I’m guilty of collector’s fallacy:
- I have over 2.000 notes in Evernote on a variety of topics.
- I have Cisco Press books which I purchased years ago and never read.
- When I realized I shouldn’t buy books when I have books that I still have to read, I started creating lists on goodreads.com.
The Japanese have a word for collecting reading material that you never read. They call it Tsundoku.
If you want to learn, you have to engage with the material, not just collect it.
The problem with “regular” note-taking is that your knowledge is spread out among different notes. There is no connection at all between the different notes:
Instead of hoarding notes and figuring out what categories and tags to use, what should we do instead? A zettelkasten might help.
Zettelkasten is the German word for “box with notes” and gained popularity because of German sociologist Niklas Luhmann (1927–1998). I became interested in zettelkasten because Luhmann wrote over 70 books and 400 scholarly articles using his physical paper-based zettelkasten. That’s some serious productivity. Before Luhmann, other individuals like Conrad Gessner (1516–1565) and Johann Jacob Moser (1701–1785) used a similar system.
In a nutshell, here’s what a zettelkasten is about:
- You create a note for a single piece of information.
- You link your note to other relevant notes.
By linking notes to each other, you connect relevant topics and build a web of knowledge.
This method of organization is called a heterarchy. It’s a non-hierarchical system of organization where every note can be “ranked” the way you want. There is no enforced structure like with a hierarchy. You can connect every note to every other note if needed.
Writing notes and linking them to each other might sound familiar. It sounds like a wiki. People have been using this technique however in a time way before we had computers. Linking knowledge makes sense. Think of the Internet with its hyperlinks. It would be difficult to force all the information on the Internet into a strict hierarchy.
Tags and searches are still useful but we use them to find notes that we can link to. We don’t rely on them as our “main” way to find a specific note.
When you research the zettelkasten method, you’ll run into a lot of confusing terminologies, discussions, and best practices of how Luhmann created his zettelkasten. In a time before computers, Luhmann used a paper-based system which has some limitations. In a digital age with computers, creating notes and linking them to each other is easy. I now use a system based on the zettelkasten where I write notes and link them to each other.
Let me explain how it works.
When you create a note, the note should be:
- Written in your own words.
Atomic means that the note should only cover a single topic or idea. The main reason to do this is that it makes it easier to link relevant notes to each other. For example, when you click on a link that says “Ethernet header explanation” then you want to end up at a note that explains the different fields of the Ethernet header. You don’t want to end up at a “general” note about Ethernet that explains it at a high level that you have to skim through.
Writing notes in your own words is important because it forces you to think things through. Reading something doesn’t automatically make you smarter. When you understand what you just read, it’s in your short-term memory. When you don’t do anything with it, your efforts will be lost in time.
Probably the best way to figure out whether you understand something is to explain it to someone else. When you write a note in your own words, you are explaining something to yourself. This is a form of active learning which is far more effective than passively collecting information by using a web clipper. I like to add a link to the source if I think it could be useful later.
Whenever you read or learn something that is worth it storing, make it a habit to create an atomic note written in your own words.
Self-contained means that the note should be able to stand “on its own” and doesn’t require the original source anymore.
With digital tools, nothing is set in stone. Sometimes when you finish a note, you figure out that you should break down the note into multiple notes.
When you add a link from one note to another, you should always explain why you add a link. You need to add some context. Today, it might seem completely obvious to you why you add a link but your future self might have no idea.
When you are just getting started, there won’t be many notes you can link to but as you add more notes, linking becomes easier.
For example, if you are studying VLANs and trunks because you want to pass the CCNA exam then you could create the following atomic notes:
- VLAN advantages
- Create VLAN on Cisco IOS
- Delete VLAN on Cisco IOS
- Trunk encapsulation types
- 802.1Q encapsulation
- ISL encapsulation
Each note only explains a single topic. In each note, you can link to other notes. For example:
If I need more structure, I can create “index” notes. For example, I could create a note named “VLANs overview for CCNA” and link to all the above notes.
By linking your notes, you build a cluster of knowledge. You might study CCNA today but when you want to study CCNP in the future, you can check your existing notes and see how much knowledge you already have collected.
What tools or apps should you use if you want to give this a try? First of all, keep in mind that it’s about the principles, not about the latest shiny app. Here are some things to consider:
- Easy linking: It should be easy to link notes to each other and to show which notes have links to each other.
- Vendor lock-in: The problem with apps and cloud services is that they can disappear in the future. If you want to build a system that can last a lifetime, you want to make sure you can always access and export your notes.
Here are four popular tools that make it easy to link notes to each other:
- Roam Research: A popular cloud-based tool with a monthly fee. It is possible to export your notes, which reduces the risk of vendor lock-in.
- Obsidian: A free but not open-source tool for Windows, Linux, and macOS. Obsidian uses plain-text markdown files that you store locally so it’s a future-proof solution. This is the tool I use nowadays.
- The Archive: Created by the people of zettelkasten.de. They use plain-text files but I never tried their tool since it’s only for macOS. Their website is great if you want to learn more about the zettelkasten methodology.
- Foam: An open-source alternative for Roam Research and works in Visual Studio Code. It uses plain-text files which makes it a great option. I don’t use this at the moment because I use Visual Studio Code for many things and found it to be distracting to use it for my notes as well.
How about we look at some atomic notes and link them? It’s probably easier if I show you some examples.
I created some “CCNA level” networking notes so anyone can follow what they are about. You can download them from this repository and open them in Obsidian so you can take a look for yourself. Here is an example note:
In the screenshot above, you can see my note titled “vlan is a separate broadcast domain” on the right side. The number in front of the title is an ID. This atomic note only explains a single concept: Each VLAN is a broadcast domain. This note is quite short so I included a link to the original source in case I want to expand my note later.
Here’s another atomic note that explains a single concept:
The note above explains the possible issues of a network without VLANs and one of the issues explained is that broadcast traffic is unrestricted. It would be a good idea to add a link from this note to the “vlan is a separate broadcast domain” note. In Obsidian, when you type [[ you can add a link. Here’s what that looks like:
When I go back to the previous note, you can see that it has a backlink:
When I feel I need some more structure, I can create an index note that links to multiple notes. Let’s create a note that gives me an overview of VLAN related topics for CCNA:
This might give me some peace of mind and can be useful as a starting point. You can also create a graph that shows how your notes are connected to each other:
We don’t have a lot of notes right now. Here’s what my graph looks like with about ~1500 notes:
I hope this lesson can be useful to improve your note-taking and to build your personal knowledge system that could last a lifetime. A positive side-effect of note-taking like this is that you always make some progress. A big project like studying for an exam can be broken down into smaller chunks by creating notes. Even if you only create one or two notes per day, it still adds up if you do this for a couple of years.
Are there any disadvantages? Of course. Something to be aware of is that this is time-consuming. Make sure that you take notes that are worth keeping and have value today, and in the future.
Besides networking knowledge, this also serves well for other ideas and insights that you have.
If you find this interesting, it’s best just to get started and get some experience. Whenever you read and learn things, try to:
- Create an atomic note that explains a single idea in your own words.
- Add a link to the source article.
- Add relevant tags to help find notes later.
- Use the search to find other relevant notes to link to.
- Create new notes to create “indexes” or to link two notes and explain a concept.
- Rinse and repeat.
I hope you enjoyed this lesson. If you have any questions, please leave a comment.
You have mentioned the following:
"What should you take notes of as a network engineer?
Can you please provide an example on how to take a note of “Configuration and code snippets” AND “Show and debug commands.”?
I am basically looking for a complete note so I can follow it as an example or template. Please help me out with this. I believe that this technique of taking notes will be very helpful for me since my journey with my goal might takes a few years.
It would be n... Continue reading in our forum
Hello @Eyad ,
Of course, take a look at my repository:
You should clone this repository and open it in Obsidian. You can read the contents of the notes in Gitlab online but it won’t parse any links.
Here are two notes that contain configuration/show commands:
These two... Continue reading in our forum
Yes. This was very helpful.
A. Start documenting/studying from CCNA (books, video, lab…etc.) → CCNP (books, video, lab…etc.) → CCIE (books, video, lab…etc.). By doing this way, I will have three major “Obsidian” section, but I will NOT miss any topic and I will have a very good information/knowledge.
B. Or, go strait to CCIE (books, video, lab…etc.), and document all the related topics? By doin... Continue reading in our forum
I added a debug example (202104241342 debug spanning-tree bpdu). It’s similar to how I would add a config example. Add the command(s), and explain what the output does.
If you want to do CCIE, I would go through the CCNA and CCNP ENCOR/ENARSI material first. Everything from CCNA and ENCOR/ENARSI is in CCIE, so it’s not like skipping them is helpful. You could skip the exams, but I would go through the material.
The advantage of note-taking like this is that you can always make some progress. Even if you only have an hour, you could study something and cre... Continue reading in our forum
Hi Rene, sorry, but I just got the time to see your respond.
I’ll go ahead and give it a shot after a long frustration with my plans. It looks this technique is the one that will work for me
Just to confirm my understanding that I need to complete step 1 first, and then complete step 2? Or I need to go thru step 1 and while I am studying for example STP, I need to build a lab as a step 2 but perform it ONLY after I completed the entire step 1 topics?
In other words, when you said in 4.2 Linking section “By linking your notes, you build a cluster of knowledge.... Continue reading in our forum