views:

192

answers:

5

Apart from the relative pecuniary benefit from reskilling from something like PHP to C# in somewhere like London, I was wondering if anyone could enlighten me on any other reasons they have decided to pick up a new language.

I am a PHP developer and a friend of mine is C#. He is convinced that reskilling to C# will result in untold financial rewards. I am unsure of this.

Apart from a general interest in the way something such as Ruby might work, what kind of reasons have people come across where reskilling has made some kind of practical sense?

+7  A: 

It gives you a different perspective on how to solve problems. e.g. if you deal with imperative languages, learning a functional language will give you a whole new outlook. Perhaps you'll discover that your currently scheduled work can benefit from new approaches?

Additionally it shows some motivation and interest on your part. You're prepared to invest in your career and skill set. That usually goes down well with potential employers.

If you're self-employed (as I am) it opens the doors to many more opportunities. I wouldn't expect to get a new contract based solely on a language I've just learnt, but so many contracts out there specify particular additional languages as being beneficial.

Brian Agnew
+7  A: 

Being qualified for more jobs has to be a good thing, surely. Beyond that, having more languages/platforms under your belt also gives you more ways of looking at problems - i.e. learning C# could help your PHP too, making you more valuable even when writing PHP.

I don't know about "untold financial rewards" but I strongly suspect that when it comes to corporate jobs, there's more of a market for C# than PHP.

Jon Skeet
+2  A: 

Here's my answer from a similar question

IMHO, it is all about learning a new programming paradigm. If you know Java and then C#, there's not much gain, once both of them have almost the same "type of programming".

But if you get to learn a functional language or dynamic, for instance, you're forced to think another way, and that will probably help you to program better in your favorite language.

It is something like: "It is so easy doing this in {different language you learned}. There must be a better way to do this in {language you already know}". And then you rethink, and build up a more elegant way to do this in {language you already know}.

Samuel Carrijo
+1  A: 

The main one has always been to keep a range of opportunities high.

The main reasons that this is the primary factor is to ensure I can do something nominally interesting and the more jobs you're qualified for the greater the chances of one of them being interesting. You also have a higher chance of continued employment as the more jobs you're qualified for the more chances of you having or keeping one during a down turn.

Financially older or niche technologies don't tend to pay less (actually they often pay more as while the demand drops, the supply of skills drops more) but you will have less choice.

The other thing I'd think about is what industries and projects would tend to use a specific technology. Do you want to do web projects? Mobile? Are you interested in the finance sector? All these will influence how useful (or useless) a new technology might be to you.

Jon Hopkins
+3  A: 
cletus