Learning Using a Hobby Project

by Krishna on May 25, 2007

One of the most enjoyable ways to learn technology is by doing a hobby project. It is really fun because there is no pressure of deadlines and there are no people dictating to you what and how to do the work. In a commercial project, many constraints (time, money, team size, etc.) exist that prevent you from doing the project you may want to, like selecting a language, framework or technology you like. That is fine because your ultimate goal is to serve the business needs of your customer, but it still leaves a hollow feeling.

Welcome to the hobby project where you decide what “itch” you want to scratch and how you want to do it. You can select the technical environment and tools that you like. You can decide when you want to work. You choose the standards. You set your own schedule and break them anytime you want. You can tailor your involvement in the project according to your lifestyle and personal needs.

Paradoxically, the freedom to break free of deadlines is never used. Even though you can call it quits anytime, you tend to get more and more involved in the hobby and continue learning different aspects of how to do it better. You start as an amateur, but soon become more than competent. More interestingly, you are actually willing to spend valuable money and time to improve your skill and knowledge in the hobby.

For example, let us say that you start photography as a new interest. Maybe you get started with a point-and-shoot camera. You quickly realize that the photos are okay, but not great. Then you get an SLR (Single Lens Reflex) camera. You start playing with the settings — amount of lighting, shutter speed, focus. You start buying more accessories — tripod, UV lens, color lens, bigger zoom, fisheye lens, etc. You throw away the new camera too, buy a better camera with more features, buy an iMac to edit your photos, buy digital photography software, books, etc.

Soon, you have acquired knowledge in many aspects of photography and it would not be wrong to call you a photography expert. You would also have become capable of teaching others how to become photographers themselves. But most important of all, you have achieved this by indulging a new passion in your life. It felt happy doing it and learning all that. It never seemed like hard work.

So if you are reading this, look at what you want to learn and start doing it as a hobby. For example, if you want to learn programming in a language, start a project for a personal need. For example, let’s say that you are interested in music. You could write a program to manage the list of music tracks you own, link to its lyrics, link to details of the singers and their biographies, your personal ratings of each song and your wishlist for future purchases. Although your hobby is really tied to music, you will learn a lot of technology stuff on the way.

I will end this with a few technologies, tools, frameworks, terms, web services, websites, etc. (in no particular order) that I have experienced while building my website (8 years in the making) and blog (a year now):  HTML, CSS, JavaScript, DOM, GDI, Java, C++, C#, .NET, XML, XSLT, SMTP, IE, Firefox, Opera, AWStats, Astra Site Manager, Google Analytics, GIMP, Eclipse, Bloodshed Dev-C++, Filezilla, WS-FTP, Notetab Pro, Blogger, Google Reader, Feeds, RSS, Atom, FeedBurner, Technorati, Digg, BlogCatalog, Windows Live Writer, W3C Validators, Google Webmaster Central, Yahoo! Site Explorer, PageRank, SEOMoz Page Strength Tool, blogroll, tags, pings, trackbacks, comments, anti-spam, moderation, etc.

The point I want to make is that if someone had asked me to learn all of those things listed above, I would have found it an impossible request. But within the context of my hobby, learning all of those things made sense and I spent the necessary time to understand the various tools and technologies. This way, I could achieve what I needed to do for building and displaying content for my online sites.

So try it out, you will be surprised where you will go in a few months.

Previous post:

Next post: