I think that self-education is the most important aspect of a good Software Engineer. You have to learn a lot, because our field is still very changeable: popular technology that you know right now might be forgotten very soon, in 2-3 years. And even if you spend significant amount of time during you work day it’s not enough :) Always not enough. I’m not saying that you should learn everything, but mastering even 2-3 skills that you have and care for is very challenging.
And with self-education I don’t necessary mean visiting some expensive courses or getting additional certificate. Not at all. For me, reading books, articles and tutorials is always more efficient – you can choose very granular pieces of wisdom that can help you fill the gaps in your knowledge.
Thankfully, there are a lot of ways to increase your reading list: social networks, blogs, email subscriptions, feed aggregators… Even old-school books can be accessed online with different devices. I want to share what I use to manage all these things.
And before I start I just want to mention that I usually use iPad Air for reading and I think it’s a best device for that ;)
Books and everything else
I think it’s good to separate books (and long research papers, tutorials, etc.) from relatively short articles and blog posts. In this case you can read one book at the time (for example spend 30 minutes during the evening every day) and also consume articles on the fly (when you’re going to work, having lunch, taking a break, etc).
Let’s see how to deal with smaller things.
Things in action
So, I have different streams of incoming information – Twitter, NewsBlur, reddit and reddit-like websites, conversations with colleagues, meetups, etc. Something I read right away, but most of the articles go to the Pocket app. It’s important to give every article a few tags, so you can easily filter and choose what you want to read later. And with books I spent a few minutes to check reviews and content before adding them to the reading list.
I don’t use recommendation-based apps like Flipboard or Prismatic, because my reading lists are never empty :) And also, I’ll know about all really important and popular articles anyway, for example from Twitter.
It’s so easy to sink into this flow of articles, blog posts, updates… I’m trying to plan what I’m going to learn and save things accordingly. For example, I have plans to learn more Haskell, so if I see really good article about some Haskell concept or library, I save it. But if it’s Go, Rust or how Lift framework works – I don’t have interest now (and in the near future), so I just skip them. You should be realistic and honest to yourself.