I hope that I am not the only one with this problem, but I often find myself trying too many different things. By "things" I of course mean technologies. Things like Wicket, Grails, jQuery, and Silverlight. So many cool things to learn, and only so many hours in the day. It is enough to make my head spin.
I have been trying to come up with a strategy that will allow me to learn more, but with little success. I toyed with the idea of quitting my job to maximize my learning time, but my wife reminded me that we still need to pay the bills. With that plan scrapped I thought that maybe I could get rid of my wife, thus reducing the bills that need to get paid. That wasn't a great idea either for various reasons, including the fact that I can't take care of myself.
So what's a tech junkie to do?
This has led to some deep thinking about the state of our craft. After some thought I have summarized it as "Tail Chasing". Let me see if I can explain.
Let's say that you are a developer, and you have been spending the past year or so really getting to know a given technology. Now you are being told that the technology you are using is inferior to this "other" technology. You take a look and realize that it might be best to switch. A year later you finally have a good understanding of the tool, and use it with great skill. Then someone tells you about this "other" technology.
How many of us built our own MVC frameworks only to move to Struts, then maybe on to Spring MVC. Sure, there are some improvements made in each technological step, but since you are spending most of your time really getting to know a product you often spend little time getting the most out of it. This is compounded by the fact that you often use several of these products at the same time, adding to what you need to learn.
So what is a dog to do? Although you are moving forward, you never quite catch the tail. Should you just stop moving forward, or run faster or slower?