Learning new technologies and techniques is a part of life for any software developer. Programming is a quest for knowledge and understanding which lasts your entire lifetime. No other profession has a more dynamic working environment. Tools change and evolve on a daily basis it seems. Learning is incumbent on all developers. Darwin’s law applies, adapt or perish.
Luckily most of us are used to this environment and thrive on the constantly changing landscape. I have found over my career that the pace of change has only increased, particularly in the past few years. The move to cloud computing is a big driver and the open source movement is creating a climate of rapid discovery and change. Thousands of new approaches to old problems are being forged this very moment.
Benefits can be reaped if you are efficient with your time and energy. Your value as an employee can be traced back to your technology aptitude and that aptitude is greatly affected by your knowledge of the technology spectrum which you apply to a project. This doesn’t mean that you need to have the deepest knowledge on a particular technology but instead you need a broad view of how technology fits together and how to choose the right pieces to solve a problem. Suggesting the pieces can be more important that understanding how each pieces works.
Generally I try to follow a few key rules which keep me in touch with new technology:
Find quality sources. Find the best possible sources which apply to the technology space where you work. Each source should have excellent content covering a set of topics that could potentially apply to your daily work.
Organize the channels. Create channels to monitor your sources, Google reader works well, twitter a bit noisy. You want these streams to have a high signal to noise ratio. Don’t add pundits or 24-hour tech news into this mix. They are too noisy. Add sources that you know produce great topical content. For me, technology specific tech blogs work best.
Read your channels regularly. I try to read through my sources at least once per day. Some days there isn’t much to learn but other days I have multiple “holy cow” moments. If this becomes a chore then you might want to look for a new line of work :)