Photo by Aaron Burden on Unsplash
How to Take Notes as a Software Engineer
Using a Second Brain to Grow as an Engineer
Taking notes has been a soft skill that I just never quite understood. Figuring out what is essential to jot down was always tricky. A few months ago I started my quest to figure out the best way to take notes. I started this quest because the more information that was given the harder it was to remember, and sometimes ideas came, and then they were forgotten by the end of a meeting. This makes even more sense once you learn that we consume ~34GB of information in a day! that's roughly 174 newspapers, so here are some things I needed from a system:
Store/recall information/ideas
search for said information easily
Make connections between notes
Be able to share knowledge
keep track of interesting things people mention (shows, books, movies, etc.)
I have been watching Ali Abdaal for quite some time but never really implemented his note-taking advice. I decided to rewatch his videos on building a second brain, and really listen to how this method could work for me. In his review of Tiago Forte's book, he talks about keeping notes categorized by project.
While there are many note-taking apps out there I chose to go with obsidian for work, because of its backlinks feature and the fact that it stores notes locally rather than on the cloud.
Here is how I set up my notes:
Repos
Repos Summary
Micro 1
Micro 2
...
Personal
1:1
Team Meetings
Retro Items
to do
Company
All hands
todos
Resources
Mentions
Multiverse
With the repos, I decided to collect a summary of each repo our team works with. Yes, this can be found in the readme of each repo, but I needed to be able to access this information on the fly.
Repos/Planning
Now that I had a good structure set up, I needed to figure out what exactly was important to jot down. At first, I tried jotting down every word that was said regarding a ticket we were pointing as well as every question asked along with the answer. This proved to be inefficient because I had my attention split between taking notes and listening. Plus these things were also typed in the ticket, as a result, I was violating DRY. I changed my strategy to note things that were supposed to be common knowledge, people mentioned as a point of contact, and people who could be asked questions.
Under the resources file, I have links to different architectural diagrams, environments, pipelines, etc.
Personal
In the personal folder I keep notes on what I want to talk about on my one on ones, thoughts I have for retro, and tasks that I need to get done.
Where I work we use lattice, but I don't have lattice open the entire day. I do keep my notes app open, and anytime I think of something that I like or don't like I jot it down. At the end of the day, I review these notes and put them in a visible place.
Since retros don't happen every day I keep a running list of things to mention at retros. This includes kudos for other team members, things I want to see continue, or things to improve on.
Company
taking notes at all hands is probably the most difficult. While a lot of the information shared at all hands is interesting and important. Not everything is imperative to my daily duties. So the kinds of notes I take in these meetings are about the goals the company wants to achieve and the work I am doing. Every so often there is mention of resources for growth, I jot these down too.
Mentions
Since I use Obsidian without sync, the way I deal with things mentioned that I want to investigate further is by copying over things in here into Notion. Mind you things in this file are strictly books, shows, movies, articles, and even quotes.
Conclusion
Managing your knowledge frees up space in your brain for more ideas rather than having to remember that small detail from a month ago. Find a system that works for you and find an app that has features you will use. Obsidian is my choice, but you might like Notion, boostnote, Evernote, or even the Notes app that comes with your OS.
Most importantly, as you build your knowledge, remember to share it with others.