«    »

Personal Learning via Online Reading

As I wrote previously in my article on Personal Learning, one of my goals is to stay abreast of new technologies, trends and other changes in our industry. Since this information is often published online, I just need to read the websites providing this information. I want to use my time as effectively as possible: this requires knowing which websites regularly post the most useful and relevant information and knowing when these websites are updated with new content.

It is easy to find out when a website has new content. Many websites publish a feed - a XML file using an appropriate format such as RSS or Atom. The feed lists each article on the site, and is updated when content is added. You then can use software called a news aggregator or feed reader to monitor these feeds. You register the feeds of the websites you are interested in with the software, which then periodically checks whether there is new content. You then use the software to view the articles published on the websites you are monitoring. The software records the articles that you have already seen - typically by allowing you to mark an article as read - so you don't have to remember yourself.

There are many choices for news aggregator software. I personally use the Sage plugin for the Firefox browser. Online news aggregators seem to be growing in popularity. Their main advantage is that they will remember which articles you have seen when you are connecting from multiple physical machines, since your feeds and reading information is stored on a server and accessed via a browser. I don't have any experience with online aggregators, but based on my web server logs, Newsgator and Bloglines are both popular choices.

Which websites should you subscribe to? Looking at my list of subscribed websites, I find they fall into several categories. Community sites cater to a particular group of people, and as a result often have a wide variety of postings. If you are interested in the topics pertaining to the community, then such websites are a good way to learn of new developments. These sites also often have good discussions - people commenting on articles - that can provide valuable insights. Personal websites or blogs of a single person - like my website - I find are best for getting more in-depth feedback based on that person's experiences and opinions. Corporate / organization sites represent a specific company or organization like an open-source software product. I subscribe to these sites when I'm interested in developments with the company or software. Usually significant changes will end up being posted on the appropriate community sites, or even on personal sites, so I seldom subscribe to this type of site.

Below I provide a subset of my subscribed sites that I have found particularly useful regarding software development, as of the time of writing this article. I don't plan to update this list as I change my subscribed sites. If there are good quality sites you monitor that are not on my list (besides my own site :), please let me know.

TheServerSide.Com Community site for enterprise Java development. New articles are posted daily, but many are about new releases of Java libraries or products. I can quickly decide which of these are of interest and worth reading (many I just skip), so it is easy to keep up. This is the best site I know of for staying informed on what's happening with Java, especially in the enterprise.
Slashdot Community site for 'nerds'. This site has many daily postings on a wide variety of topics, which means it has the lowest signal-to-noise ratio of all the sites on this list. Each article has a lot of discussion (reader comments). There is a moderation system for ranking comments which I'd highly recommend using if you want to read comments. (Register with the site and set your comment threshold greater than 1.) Before reading a linked article, I find scanning the comments is useful to indicate whether the linked content is bogus, a duplicate, or otherwise not worth reading.
Official Google Blog Corporate blog of Google.
Eclipse News Corporate site for Eclipse. Most news postings concern the Eclipse organization more than the Eclipse Java IDE. I mainly monitor it for changes to the Eclipse IDE, but I also check out some of the new projects that are announced that catch my interest.
Joel On Software Personal / corporate site of a former Microsoft software developer who now runs his own small software company. He has published some books based on the articles he's written on his website, so the archives of past articles are worth checking out.
Martin Fowler Personal site of a widely-followed IT consultant and author of some excellent software books such as Patterns of Enterprise Application Architecture.
Cedric Beust Personal site of a Java software engineer at Google (formerly an architect at BEA) and creator of TestNG.
Eric Sink Personal site of the owner of a small software company, software developer, and now author. His posts often discuss running a small software business (ISV).
James Bach Personal site of a consultant specializing in software testing and quality assurance. His posts often provide insights into the testing community that is hard to find elsewhere.

Some websites have built up a large archive of quality articles that many times are not included in their feed. My Resources page lists sites that I feel have a great article archive worth reading.

Online reading is different from reading a book. One danger is that it is easy to waste time by reading irrelevant articles, particularly by following links without thinking. When looking at new articles, I use the title and excerpt or introduction to quickly decide if I am interested. If not, I skip that article and proceed to the next. I find it beneficial to check for new content at least once a week. If you wait too long, then there can be too many articles to read and absorb in one sitting. When I do come across an article that captures my interest, I reflect on whether it is applicable to any of my current projects, either now or in the future. If so, I make a note of it. Here's a personal example. I keep abreast of new features being introduced to the Java platform. I'm seldom using the latest version of the Java language at work (last year the one project I was on finally upgraded to version 1.4), but eventually upgrades will happen, and I want to be ready to use any of the new features that will make my job easier. Recently, I needed to do some multi-threaded coding, and I was able to use version 5. Thanks to my earlier readings, I knew that a new set of concurrent utilities (java.util.concurrent) had been introduced in that version. I checked out the documentation and quickly found some useful classes that greatly simplified the work I needed to do.

I must congratulate you, the reader, for already following at least some of my advice. Ironically, the developers who most need this information will probably never see it. So please share this article with your coworkers.

If you find this article helpful, please make a donation.

One Comment on “Personal Learning via Online Reading”

  1. Justin Gamble says:

    Hi Basil,

    Thanks for the list – some of the sites you list are new to me, so I will be sure to check them out.

    Recently I found this link
    http://www.downloadsquad.com/
    which really impressed me. I like being aware of new software tools that are released, especially if they are free, and this site has earned my respect for quality reviews.

«    »