Thanks for waking me up
Also, I noticed I prefer writing on separate sheets better than a notebook. This way I can take several sheets from different time periods and work with them as a single group. When I am done, sorting them back is easy as long as each sheet is marked with the day it was originally worked on.
I was doing a fair bit of pair programming and I found that talking to my pair about whatever issue we were facing was helping me clarify the design in my head. When I started working on a few solo projects, I found that taking notes worked almost as well, despite lacking the other side of the conversation.
One of the biggest benefits was that I find it cathartic, where once I've written down all of the arguments for a particular design decision, I am able to move on without revisiting it in my head constantly.
http://lists.ethernal.org/oldarchives/cantlug-0211/msg00174.... https://pay.reddit.com/r/programming/comments/83i5n/the_rubb... http://c2.com/cgi/wiki?RubberDucking
My notes, on the other hand don't. And I may have gotten the details wrong or omitted that piece of info.
However, three factors have changed my outlook on this: 1) full-text indexed search, 2) cloud storage, and 3) low barrier to entry (I have found an organizational style that makes it easy for me to start writing at a moment's notice, without worrying about how to store/organize until later).
Full-text indexing is a huge deal, because I will often remember a certain combination of words or a particular term used in reference to some concept. Cloud storage ensures that I am almost never without my notes.
Add in the fact that if you make it easy enough for yourself to start writing, you will naturally end up with a lot of content about concepts you find difficult, and you'll skip the stuff you know well. The end result is a fully-searchable set of textbooks written specifically for your brain that you can always refer back to.
Sometimes, even if I'm not looking for a particular note, I'll crawl through a few old notes on any random subject in my notebooks and it will give me a new perspective on a problem I'm trying to solve, or remind me of something I wanted to try/research but didn't get around to.
A while ago, when I was reading for the purpose of focused learning (technical books, scouring blogs for information about some framework/API, etc.), I began the habit of taking copious notes. My notes are very wordy; it's almost like I'm having a conversation with myself and rephrasing ideas so I can understand them better. OneNote is my weapon of choice - for me it reduces the "barrier to entry" of starting notetaking because it's easy write now and organize later.
Over time, I realized that when I took notes this way, I had a much higher retention rate and a much greater understanding of what I was reading. So much so that when I find myself sitting at my desk or on the couch and "infosnacking," I try to stop and ask myself, "is what I am reading right now worth taking notes on?" If it is, then I start writing. If it's not, I make the effort to tear myself away and either do something that's more productive or something that I really enjoy.