My Method For Prioritizing What To Learn
Lately I’ve been suffering from information overload.
It’s the WWDC 2016 videos and my backlog of blog posts to read and tools to try out. It’s all the newletters I subscribe to and books I’m trying to finish. It’s focusing on iOS development vs exposing myself to other languages and platforms.
For iOS development it makes sense to watch as many WWDC videos as I can.
However, as a well rounded software developer, understading git under the hood is a solid investment of my time. It’s one of my bread and butter tools, like fish shell, iTerm and Alfred. But I can’t forget the new tools either - Quiver, RescueTime and Noti.
Sometimes I just want to expand my mind with a Jepsen analysis by Aphyr.
How do I keep track of everything? I organize what I want to learn in Evernote notebooks.
Urgent
These folders are for information I’d like to consume ASAP and they tend to cause me the most stress:
- To Read For Work
Anything directly relevant to my everyday work as an iOS developer. For example, concurrent programming with GCD and using auto layout. It has also contained information on retrospectives, engineering management, design documents and deliberate practice. Basically any information that I think would make me better at my job.
I find this material from newsletters like This Week In Swift and iOS Goodies. What folks are posting in the LinkedIn slack channels. And most importantly the best results I get after googling for a specific issue I’m dealing with.
When this folder baloons I try to delete anything that is not crucial or that I have put off reading for months.
- Developer Tools
Tools I want to try or tips on how to use existing tools like Xcode better. I treat this with the same importance as To Read For Work. Which folder I dip into depends a lot on my mood and how much time I have. Some tools are quick and easy to adopt which is very satisfying.
I find these tools from the interviews in The Setup, reccomendations in The Sweet Setup and the awesome list repos that have overtaken GitHub.
Not Urgent (Still Kinda Stresses Me Out)
These folders are for information I don’t need to consume right now, but will want to at some point:
- Workplace Ergonomics
Products that would lesson the negative physcial effects of working at a computer all day. For example, ergonomic keyboards, mice and laptop stands. This is more of a wish list and product spec reference. It becomes handy when I decide “Yes, I do want to invest in a small portable ergonomic keyboard. What are my options?”
I heard about most of these products from the interviews in The Setup.
- Technical Speaking
I come across most of this material in the Technically Speaking newsletter. I tend to sift through this it when I have a talk coming up and want advice on something specific.
- Material For Future Talks
Information I find fascinating but is not necessary for my day to day job. I mine this folder when I want to prepare a talk proposal or a friend wants advice on what to talk about. Could also work for blog posts.
- Protocols Talk
I committed to giving an internal talk at LinkedIn about protocols. This folder includes all the material I want to use to prepare that talk. For example, the ASCII WWDC pages for sessions from 2016 that cover protocols in a significant or introductory way.
- iOS Testing
When I have the time and desire to improve how we do testing I look to this folder for inspiration.
But how do I save the good stuff after I’ve read it? Fortunately I have more Evernote notebooks for that:
-
Software Engineering
-
My Developer Tools
-
iOS
I’m embarassed over how complex my system is. But learning is one of the most important things we do as software developers and I want to be sure I’m focusing on the right things at the right time.
I’m working on not stressing out or feeling guilty about all that’s unread.
What I’m doing to minimize what’s in my backlogs:
-
Limit To Read For Work to just what is relevant to me right now, not what could be relevant in the future or what I aspire to know about. While I would like to be an animation wizard like Hector, his post Be Cool With CIFilter Animations is not going in this folder unless I take on a work project that involves animations.
-
Same with developer tools. A tool like GNU parallel is interesting because it would increase my dev cred not because I have an immediate use case for it. It should go into Material For Future Talks.
-
If something has been unread in a folder for more than a month delete it. It’s clearly not relevant to me.
This is how I manage the information overload in my life. What do you do?