I've done lots of writing lately, but almost none of it has gone towards blog posts. Instead, it's gone towards my online notebook, now called the more badass-sounding Exocortex (you can check it out yourself here). I've read of it being called a "knowledge notebook" or a "personal wiki," which mean the same but aren't as badass.
An Exocortex is a giant collection of notes on everything you can imagine. It can range from code tricks, life strategies, favorite fiction, or revenge plots. The biggest reason I've worked on it is I can now say "I'm strengthening up my Exocortex" and sound like a supervillain. But there are many, more useful benefits get from adding to it:
- Gather career advice for topics like negotiating salary and working with others.
- Build your awareness of coding concepts and ideas, so you 'know what you don't know.'
- Save new code methods and techniques to use as you experiment with languages.
- Curate knowledge to use as inspiration for projects, jobs, and side projects.
- See the larger info and context that current industry trends fall into.
- Document strategies to handle unfamiliar or delicate social situations. If you're like me, you're a hopeless awkward turtle without them.
- Look smarter to your coworkers and bosses.
- It's an amazing tax deduction in some countries that don't exist.
These are all wonderful perks, but there's no denying building one takes time and effort. So this post breaks down how I've built up mine and the practices I follow to share with you all. I can't promise it's the perfect fit for everyone, but it should at least be a good template or starting point. So to follow-up on a previous post on taking notes on everything, this one looks at how to do just that.
Use the SQ3R Method
A useful note-taking approach from Pragmatic Thinking and Learning is the SQ3R method. It lays out a useful series of steps for reading books and articles.
First, only scan the content. Look at the table of contents, summaries, chapter headers, images, and whatever else. Don't read any paragraphs or spend too long in any one place. Get a large-scale picture of what it covers.
As you scan, note any questions you have. They can be about code, new words, or old words that you didn't expect to see. They can also be questions about what you expect to learn. Could this thing help you pull off a side-project idea you've had for months? If not, what else could?
Then it's time to read the content. As you read, record the most important points. Play with the info as you read it. Take notes in different forms, or rephrase them in a new or silly way. For example, I found the articles on JavaScript currying tough to understand. So I took notes on it as if a coder were talking to JavaScript itself.
Once that's done, take some time now and then to review your notes. Add extra knowledge you've learned writing them. Discuss it with others. Quiz yourself on different points. Only rereading the info doesn't help much.
I've been trying different note-taking approaches for a while. The best one I found is a slight variation to the SQ3R method (Scan, Question, Read, Record, Review) that minimizes the Question phase. I can attest it's worth at least trying with a few pieces of content. Even if it's not right for you, chances are it won't take more than a few changes to make it work.
Have Lots of Material in Your Pipeline
I'm not immune to avoiding things when I'm not in the mood for them, as my family or those managing my 401k will tell you. This applies to the books and articles I read too. I can hardly count the times I've thought "This has important info I should read, but I'm not feeling it."
Too often I was enthusiastic about reading something at first, then lose interest. I wouldn't read it for a while out of laziness and self-loathing. Then I find something new and the cycle continues. The workaround I've found is, oddly enough, to have a variety of reading in my focus at once. I know this goes against the wisdom of "finish one task before the next." But I've found having it keeps me motivated and reading more often.
For Books, Tackle a Variety at Once
I'm reading "Burn Your Portfolio" and need a break from that book but still want to read. With a few books in line, I can switch over to Eloquent Ruby and not miss a beat. I know this, as I did this while traveling last week, and did over three hours of reading total that day.
It's hard to choose the number of books to stick with due to the sheer amount we often focus on. So I focus on by making sure my books:
- Cover different topics so I'm not putting all my learning eggs in one basket.
- Help me with skills I can use in many places, not only coding.
- I enjoy reading them.
These criteria have helped me settle on the four books I currently have in my pipeline.
- Eloquent Ruby since it recommended as a resource for learning Ruby fundamentals.
- Clean Code as one of the ultimate guides to writing understandable code.
- Burn Your Portfolio as a highly-recommended list of general career tips.
- How to Win Friends and Influence People since it's the classic book for how to better work with any person.
The trade-off is I make slower progress in each book, but all other things being equal, it's worth it for me. I can add notes chapter by chapter for each one, rotating them in or out to keep my motivation hot and my mind curious.
For Articles, Keep a Few Lists
Articles may or may not have material worth taking notes on. When they do, unlike books, I rarely make a new note or section in my notebook for only one. It's better to have notes based around topics and add info to each from relevant articles as I find them. An example is my note on JavaScript array methods](https://www.notion.so/Array-Methods-9045b7e90d9644f2ae145c94ef740823). If I find an article with a new method, I'll pluck that info from it and add it to the existing note.
Organizing the articles I want to read and take notes on is another task. Lately, I've kept articles in one of three lists:
- Only Read. These are usually interesting news or ideas I'll skim over. If it turns out there's info I want to record, I'll shift them to the next on.
- Take Notes On. These articles have the info I know I want to save. So I'll go into them looking for what I want to record, and save them as references on the affected notes.
- Pull More Info From. These pages have huge amounts of info or resources I can't record in one sitting. From these, I only pull out concepts to research or articles to take notes on later.
Taking notes on articles is great since they have good info without a big time commitment. Articles balance that out with shorter, more timely information. Don't forget to take in the smaller, but still vital, day-to-day info.
Lower the Friction
A few weeks ago I was reading a book through iBooks but was taking notes on my tablet. I thought this extra flexibility would help. But I wound up putting off taking more notes for over a week after starting.
I realized this setup was an issue. My tablet let me directly annotate a book, so taking notes was as simple as finding my last spot. For this book I had to get my tablet and my laptop, getting enough room for both, and whatever it took to get both ready. The amount of work from "I want to take notes" to "I am taking notes" was so high, it made getting started too big a burden.
I scrapped that setup and I only take notes on this book with iBooks. No matter how good a note-taking workflow is, it's pointless if it's too much of a hassle to do. The best ones lower the friction to start as much as possible. One way to get the barrier between reading and note-taking low is annotating books directly.
iBooks is a good example of this that all Macbook users have. I also recommend a reMarkable tablet since it allows direct annotation and other perks.
- Covers
epub
andpdf
formats - Is portable but can sync files to a desktop to more easily transcribe notes after
- Does highlights and notes with direct writing, which appeals to my tactile love of books
- Allows freeform note-taking for events and other learnable experiences not covered by books
There are likely other tools out there (with a cheaper price tag). But they'll work as long as the friction between reading and notes is low.
Set Aside Time, Big or Small
Try to make actual space in your schedule for taking notes. This time has ranged from the five minutes before a meeting to several hours in a plane ride. The most important thing is telling myself "for this period, I'm going to be reading and taking notes and that's it." Not setting this boundary or trying to multitask has either made me not follow through. If not that, I write notes so poor I have to waste time redoing them.
Taking notes is a small time investment with a huge return. Let's say you spent 30 minutes a day spent watching television on note-taking instead. That's 3.5 hours a week, or at least 14 hours for a month. That's enough time to get through at least one book, or at least a good amount of a longer, more technical one. That adds up to around 9-12 books a year, all helping you build knowledge and skills to boost your career.
Wrapping Up
I'm not going to pretend taking notes is the best way to learn. That book I referenced twice here says as much, with many sections focused on how to learn by doing. But that doesn't mean reading and note-taking is without value.
It could only be a few books a year. Choose the right ones and devote a little time to reading and note-taking. It brings an exponential return on investment in the end. Unless you're not a book person (in which case don't you dare speak to me), there aren't any real arguments against it.
So find some good content and start building a personal wiki! Just don't call it an Exocortex, since I've already claimed that name.