Direction when working in computing

Computing (or IT, depending on how you wish to class it) as a whole is a vast area to work in. When compared to many other areas of study there are a huge number of choices, which is both a good and bad thing. There are many languages, applications, platforms and systems etc in which you can choose to work. This unfortunately, in my case, has the ability to breed confusion and a lack of direction.

Only now am I starting to realise how the many choices are affecting my ability to focus. I use to have things planned out and a real idea of where I was hoping to end up, unfortunately things are not that simple. My initial idea prior to uni was that I wanted to be a programmer, but this is a very broad area to work in. I learnt once entering uni that a programmer can actually lead down many different paths, based on interest and the degree to which you chose to specialise.

After changing jobs last year and starting work, for the first time, at a software company this confusion has increased, even as my experience in the area has grown. I have learnt much what it means to work at a software company, including getting a better idea of where I do not want to be. Sadly it is where I am stuck at the moment, and so breeds the uncertainty around what I want to do.

But things have not been all bad, I have learnt one very important thing. Developers are specialised but not necessarily in things such as languages, it is a special way of thinking. The ability to break down a problem and see a solution is what I respect the most about a couple of the developers I work with.

Where I am right now is that I am eager to learn more to improve my chance of sometime moving into development, whether with the current company or not. But I do have a problem with motivation and attention span. I am a bit stuck finding something I am interested in in order to learn more. If I can find something I am truly into I will work myself into a stupor to achieve whatever goal because I just enjoy the challenge. Is this a common mindset within computing?

I need to make some sort of decision soon as this needless drifting is not helping me, especially as I am seeing it is a huge waste of the finite time I have.