Finding a tool that works to your advantage:
Not all tools are created equal. If you try to use Microsoft Word or Evernote to capture coding notes, you're going to get frustrated. Instead, you should look for a tool that enables you.
Here is what you should look for in a note taking software:
1. Code-First && Note-First Support
You don't want to go with a software that doesn't support code. A real code editor is crucial when writing code snippets. Writing by hand or in a software that expects normal sentences will cause issues.
However, you don't want software that ONLY supports code. High-quality notes include an explanation of the context of a snippet. You don't want to try to cram that into the comments. Instead, look for software that allows writing context around snippets. Even better, find one that also allows for a snippet-free note. You'll end up wanting both.
2) Ability to rapidly store and retrieve notes
For storing notes, you don't want to have constraints on the size of the snippet. Often, coding notes software assumes that you have an entire file you'd like to store. But if you're following the advice from How to Take Coding Notes, your notes will often be composable pieces of code. For these, giving a filename doesn't make sense. Instead, you'll want to provide context with a title and optional description. That said, your software should still support hundreds of lines of code. It can be convenient to have a small app or large file accessible with a single query.
While easy storage of notes is great, your notes are worthless if you can't easily retrieve them. Even with all the niceties, it's worthless if you can't get to your notes when you need them.
Imagine you had stored a note that had some confusing syntax. Wouldn't it suck if you couldn't remember the syntax, so you couldn't find the snippet?
Avoid this situation by choosing a software that goes past finding an exact match. Instead, you'll want something that determines the intent behind your search.
(Of course I'm biased, but I believe that this is the best feature of codernotes.io. By searching for the note's context, we're able to make sure finding a note is effortless).
One last thing to discuss around Search is that the time that you made the note doesn't matter. If you use software that sorts by date, then you never get value out of older notes. Instead, you want a system that is able to find your notes regardless of when you made them.
3) Other items to consider:
While not required, they are useful features to look out for:
- Can it sync between devices, or does it use the local storage on your computer?
- Does it have the ability to share notes with others? Can you provide a URL so that it's instantly accessible from anywhere?
- Are you able to see and use the existing notes on the platform, or does it feel too noisy to be valuable?
To wrap up, the main thing to realize about coding notes is that it isn't magical. You will always learn the most by doing, not by writing. With your coding notes, your goal should be to capture the most important info. By doing so, you're able to create a single source of truth. Once you're there, your notes become a cache of your programming knowledge and expertise.
Ready to unlock a whole new level of developer productivity? Start taking some notes!