How I Stay On Top of It All
You can't possibly stay on top of it all, but you could do a better job than you're doing now. Here's...
(Hint: I don’t … but I’m getting better …)
With so much information about software development technologies, patterns and practices swirling around, how can you possibly keep up with it all?
You don’t keep up with it all … because you can’t. It’s impossible. But you can keep up with a lot more than you might be keeping up with right now. I did it … I was tired of feeling like “the last to know” about new technologies, patterns and practices so I did something about it.
As you might expect, RSS feeds are the key, however I’d never found an RSS reader that fit into my workflow. I end up forgetting that I even have an RSS reader app, and I go weeks or months without checking in and I feel guilty that I’ve got 1000 new items to look over. Instead, I needed to integrate RSS feeds into my everyday workflow.
And there’s only one thing I do consistently every day … I check my email.
My personal solution involves Ifttt.com to send me emails each time a blog post via RSS. Ifttt.com (aka, If This Then That) is a simple free automation tool on the web. You create recipes that include a trigger (i.e., a new blog post via RSS) and a response (i.e., send me an email).
Ifttt.com allows you to share recipes, so I’ve shared my recipes so you can get started. They include Microsoft product teams, developers on those teams, and noted authors and industry deep thinkers. I’m constantly adding new recipes as I find great sources.
But this is only half the tale.
I scan each note, and I ask myself “Will I ever need to know this?” There are four possible responses:
(1) No, absolutely not. Delete.
(2) I’m not sure because, while I’m reading email, I’m not focusing sufficiently to really comprehend the title of the blog post, nor am I able to decipher the text of the blog post. I leave this in my email box for later.
(3) Yes, this is something I want to be aware of, but it’s more like trivia than something that will teach me how to be a better programmer or teach me a new skill. A good example: New features added to an API. I’ll scan it, make a mental note, then move on. Here’s a good example:
EF6 Alpha 3 Available on NuGet. This includes a change log and a few other tidbits. I scan it, make a mental note, delete it out of my Inbox, then move on.
(4) Yes, this is something that I want to know intimately. It teaches me how to be a better programmer or is a dramatically new technology or tool. However, I don’t have the time to learn this right now. This is a “keeper”. Here’s a good example:
Enterprise Library 6.0 came out, and the documentation has been updated and expanded. Great! I will definitely want to read about that *someday* but probably not right now. What do I do with this? I merely scan the contents … I may even click on a link or two, and now I know enough about that topic to be dangerous. But this is trivia (at least, for the time being). Someday I’ll pursue this, and when I do, I’ll want to reference this as a great hub / starting point for information about the Enterprise Library 6.0.
When I find an article like this, I want to hold on to it. It would be even better if I could find this article whenever I’m searching about a given topic. So, let’s suppose two months from now I want to learn more about the new Unity, part of the Enterprise Library 6.0. When I search for Unity, I would like to see this link appear.
Evernote makes this possible.
I use the Web Clipper to add the article to my collection. In Google Chrome, this will integrate my personal Evernote clippings with the results from a Google search. This is extremely helpful.
Furthermore, when I clip a blog post into Evernote, I categorize it into one of about 50 Notebooks. Topics include:
ASP.NET Web Forms
Async and Task Parallel Library
Additionally, I use a series of tags. I chose to use tags to indicate how I plan to use that particular article clipping. Most of the time, it’s merely tagged with “Reference”. Occasionally, I tag things with “Article that proves a point” … these are typically articles that support a premise that I’ve held or am churning around in my mind. You’ll find a lot of Mary Jo Foley articles here. For example:
This article talks about whether developers will be able to develop apps (like Windows Store apps) for XBox One. This topic should be resolved shortly when the next Build conference rolls around, but for now, I add it to my list of clippings because it supports something I want to write about or talk to others about and I may need to get back to this article quickly.
Do I Ever Review My Evernote Clippings?
No, or at least, I only do rarely. I only review them as I need them, and that is typically when I’m in the middle of trying to figure something out for the purpose of a video or other content creation.
Why, then, spend so much time cataloging it all? I don’t spend a lot of time cataloging … it takes just two or three seconds to go through the entire process I just described. During those two or three seconds, I’m thinking about the topic of that blog post. These are not deep thoughts, but they help root the terminology and the intent of the article to memory. If you ever decided to take notes by hand using a pencil and paper, it’s the same thing … while you’re writing, you’re focused on that topic. You may never look at those notes again, but that’s ok. The 20 or 30 seconds you spent writing out a sentence you’ve copied from a textbook is enough time for your brain to process that idea.
Become a Ruthless Filter
I don’t stay on top of it all. I don’t even try. However, I do feel like I’m doing “enough”. You can’t learn it all. You can’t read it all. And fortunately, you don’t need to learn or read it all … it’s not all relevant to your life and to your professional career.
So my advice is to develop a ruthless filter. As I skim the headline of a blog post, an email subject line, or a book chapter / section heading, I read, I ask myself:
“Will I ever need to know this?”
If the answer is no, it gets purged or ignored quickly. If the answer is “maybe” or “yes”, then it goes into my “trusted system”.
Use a Trusted System
I described my Evernote solution. I’m sure there are other great ways to catalogue or organize the information you collect. Develop one that works for you, but stay consistent, and make sure it’s ubiquitous insomuch that you can access it from any computer in the world, on any phone or tablet you use, etc. This is why Evernote is the obvious choice for me.
A Final Tip
At the end of the day, my eyes are too tired to stare at a screen. Listening is preferable to reading. For non-technical blog posts I want to read, I use a different tool to capture and “read” them for later. I use SoundGecko.
It reads the article back to you in text-to-speech, and does a darn good job. (It sucks for anything technical, however … code snippets, or even references to things like Task<T> … it simply doesn’t have the proper vernacular to express that as we would expect to hear it … task of T, for example.) Now, at night, or when I’m driving, I can keep up with articles in a play list because they have an app for the major phone platforms (yes, even Windows Phone 8!!!)
SoundGecko is a great example of how to fit training / information into the “gray areas of your life”, the topic for my next blog post.