Why Take Coding Notes?
If you're looking to improve as a developer, you should consider taking notes to help solidify your understanding of new and challenging material. In any other field, we expect that professionals are focused on constant improvement. However in software development, it is often considered unnecessary to take notes.
This post will guide you through the best way to take coding notes, so that you can create useful and valuable notes that will benefit you as a developer.
This guide is not about how to take notes for a test, but how to optimize how fast and efficiently you learn. If you're a professional developer, or you aim to be one, this guide is for you.
How to take Coding Notes
There are three primary types of coding notes that you will want to be taking. Depending on your experience, you'll lean towards one in particular.
However, it's best to get in the habit of writing notes for all the note types!
Together, all three unlock benefits that you can't get with one or two of them alone (we'll dive into this later).
Here are the three different "types" of notes:
- Some code syntax that you have trouble remembering, or have learned for the first time.
- A new concept that you learned.
- An error message that took you more than a simple google search to solve.
For examples of each, check out A Day With CoderNotes, where I walk through a real day of programming.
Here is why you should care about each of the three types:
You'll take this type when you are learning a new language, framework, or library. While it may feel redundant to write down the syntax, remember our goal. We want to optimize our learning, not remember for the moment. Writing it down will help solidify the syntax in your head.
This also creates a personal collection of your hardest syntax. By storing it in a searchable place, you get the ability to look up your most common blockers instantly. Super valuable!
On average, it takes 23 minutes to refocus after becoming distracted. Storing syntax that you constantly look up prevents you from context-switching. Anything you can do to lower the mental energy you put into finding syntax has gigantic returns!
If you are learning a new language or framework, you'll take a lot of concept notes. The main complexity around learning a new language isn't the syntax. It's the new concepts that come with it!
When taking notes around concepts, it isn't enough to record a code snippet. While an example snippet helps, what you truly need here is some text, like any other note. The text will help explain the concept and ensure you understand it. Also, you'll want to record the link to the resource that made it 'click' for you, if you found one.
3. Error Messages
You may not have thought about recording error messages! Yet, they can save you hours of frustration and headache at some point in the future! You should write error message notes no matter your experience level.
Error message bugs are most useful when you have a large code base. Don't make the mistake of treating exceptions as one-and-done. In reality, exceptions occur frequently, and will often re-occur in a code base.
When you record an error note, you'll want to store:
- The actual exception you received
- The link that fixed it for you, if there is one
- Some comments around why this happened in your code base
- (Optional) You may want to store a code snippet of either problem code or the working code that fixed it
The Power of Capturing All Three Types
While each note type is good for learning, there is a hidden power in capturing all three. When you do, you stop relying on your brain as the "Single Source of Truth" for your coding knowledge.
Imagine if I asked you for how you solved a tricky exception from a year ago. You likely wouldn't remember it. Even if you did, you probably don't remember the hours of exploring you did to come to that solution. Developers solve dozens of problems per day. The human brain isn't suited for remembering this data.
When you capture coding notes, you are able to let yourself forget.
The human brain is horrible at multi-tasking. When developing, your main goal is to keep focused on your code. By taking these notes, you follow a simple pattern of:
- Get stuck
- Find solution
- Record it
- Move on
There's no anxiety over if it's fully memorized, or even if you fully understand it. You have confidence that anything tricky is fully accessible whenever you need it. Having that promise improves the developer experience when you're working on a project.
If the ability to keep the code you're working on as the primary focus sounds good to you, check out our post on What to Look For in a Coding Notes App!