On a day to day basis I'm providing a service to my clients based on the programming languages I use. In time though these programming languages will fall out of favour with clients and I'll no longer be attractive as a freelance service. What can I do to change this?

My one year old son Drew is trouble. I thought my oldest son who is now seven was trouble, but he's nothing compared to the mayhem that is his younger brother. Drew loves exploring round the house, hiding in corners and inevitably getting himself into trouble. If there's something he wants within his reach, he'll try and get it. Now I could move everything that he shouldn't be touching out of his reach but that just isn't possible in our house. We still have to live. So for the moment, we'll put up with Drew's antics until he is older to recognise right and wrong.

Watching him running around the house and raiding cupboards, drawers, my desk and anywhere else he can reach is nothing more than him exploring his environment. It's healthy for him to do this. He's a growing toddler. I wouldn't expect anything less from him.

As I watch though I realise he's doing something. In each case he'll try and grab something he wants. When we tell him no, he runs off and tries to find something else. When we say he can have what he is trying to grab, his faces lights up as he's found some new artefact that he hasn't seen before. It's exploring on a micro scale. It's his way of testing the boundaries. He doesn't know what is right and wrong and so he tries in his own way to see what he can and can't get. It's a hit and miss method for him.

As a freelancer I have a small number of services that I offer based on the trend of safe technology that is available in software development. I work with Ruby for a number of reasons. It's become a popular language with many markets and their's plenty of work out there for those looking for it. In a career where the technology landscape changes on a yearly basis , should I be banking on this safe language for the future?

Ruby was the last language that I invested anytime in. Back when I first read about it during my .NET days I was in fact reading about this new framework called Ruby on Rails. I think I first read about Rails in 2005 but it would be another three years before I decided to start learning about the Rails framework and in turn the Ruby language. Since then I've rarely invested any time in learning a new programming language other than the fringe languages and frameworks that are part of the Ruby and Rails communities.

The reason I haven't done this since then is that I don't want to waste time investing in a programming language that doesn't start to become mainstream. Why be afraid of investing some time in a new programming language though? The technology world changes on such a fast pace that it's impossible to predict when that next killer language will appear.

Just like my son though I need to start testing my own boundaries and explore the programming language world around me. It will be a hit and miss experiment for sure. Over time though, I should have invested enough time to familiarise my self with a number of different languages. It's at this point I can then decide if any of these languages are right for me to consider as an extra service that I can offer to clients.

It's been far too long a time not exploring another programming languages. It's definitely time to test my boundaries and see what is happening out there. Sticking to a safe programming language is easy to do, but there will come a point in time where I will need to pick up a new programming language out of necessity rather than choice. It's at this point where I would like to have the experience of already picking up new programming languages and reducing the friction in learning it.