Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I was working as a Java Developer before and I have now finished my contract with my previous employer. But now, as I am looking for a new job, a lot of opportunities out there seem to not include Java as much as other languages. I really like Java and I have been using it since college. But it seems like I have to learn a new language so I can have a new job.

When is the right time to consider changing the language I use?

share|improve this question
21  
Learn as many languages as you can. A one trick pony cannot be a good programmer. –  SK-logic Jan 5 '12 at 10:39
3  
Some employers don't particularly care if you have little to no experience with a language, as long as you can prove that you are a smart developer who can design and implement quality software solutions. This is how I had gotten a job in a .NET shop with most of my experience being Java, and they gave me a few months and learning materials to get caught up in C# and Visual Studio. –  maple_shaft Jan 5 '12 at 11:54
    
@maple_shaft - have not found a company as such yet –  Imran Omar Bukhsh Jan 5 '12 at 12:25
1  
@ImranOmarBukhsh Maybe this is much more common in USA. Developers are a lot more expensive in this country because of the cost of living, so many companies here are intently focused on finding smart, creative problem solvers first, then skill sets second. A smart creative developer can be 10 times more efficient than a bad developer, and a resume simply cannot tell you if someone is a bad developer. They could have 10 years of experience in Java and be outperformed by a fresher with 1 year experience in C#. –  maple_shaft Jan 5 '12 at 12:50
3  
Regarding learning languages, I really enjoyed the book 7 languages in 7 weeks which introduces you to multiple languages of multiple paradigms. –  ftr Jan 5 '12 at 12:54

8 Answers 8

up vote 3 down vote accepted

I would advocate learning a new language often, as you will often pick up new concepts and skillsets from it. It goes back to the old adage "When you're a hammer, everything looks like a nail". Sometimes the language you are most proficient in may actually be a poor choice for a part of the job you're trying to accomplish. For example, I write embedded C/C++ most often, but I would choose Python to write build scripts, text processing, or debug scripts.

I think you will find that exploring your languages a little more will help you feel you are a Programmer, not just a Java Programmer. In truth, it is not hard to pick up a new language once you know how to program in one, and it will keep you from 'pigeon-holing' yourself into a single category and missing other opportunities.

Have fun, and good luck!

share|improve this answer
    
hey thanks for the answer. appreciate it :D –  simon Jan 5 '12 at 23:24

You can try C#, which is similar to/inspired by Java.

Stack Overflow Careers has many C# jobs available. It's also the most used tag on Stack Overflow so it is not unpopular.


Though I also recommend @SK-logic's comment. Learn multiple languages. It's never wrong to learn a new language.

share|improve this answer
4  
It is good to note that SO has always been biased towards C#. It is thus not the most used language industrywise, although it is popular indeed. –  Péter Török Jan 5 '12 at 10:54
1  
@PéterTörök what do you mean by SO? –  simon Jan 5 '12 at 11:02
    
SO = Stack Overflow –  rightfold Jan 5 '12 at 11:04
2  
+1 for C#. As a Java developer, I found C# incredibly easy to learn, the framework similarities and similar development issues really put things into perspective as well, making you a better developer in both languages. If you love Java, you will really love C# because it has a lot more really useful features that Java does not. Ultimately I feel it is a superior language, and while you may not have as many framework and libraries to choose from, the ones that exist tend to be high quality. –  maple_shaft Jan 5 '12 at 11:58
    
I don't think C# will be much of a challenge for a Java programmer, I think C++ or even C might be a better choice, it'll introduce many new concepts that are hidden from Java programmers. –  Mahmoud Hossam Jan 5 '12 at 13:35

when is the right time to change programming language?

Now.

I have been seeing a lot of PHP here, but other than that, what other languages do you recommend?

Our recommendations aren't worth much. What job opportunities do you see in the area you want to work? Learn one of them. Now.

share|improve this answer
    
Yes precisely this. It is about your need to solve a problem and what technology is currently available that best suits your problem's solution. –  Chris Jan 5 '12 at 14:58
    
@S.Lott yeah, that is somehow a problem of mine. I sometimes seek approval. thanks for answering anyway –  simon Jan 5 '12 at 23:08

If you asking when is the right time to change programming language, I would say anytime. But I don't understand why you would want to learn new language just because want to got a new job? I thought Java is still widely use and Android itself using Java too...

About what language do you need to learn. I would say then find a language that you are most comfortable. Just as others have suggested C#. Also, as a Java lover, I think you would love a PHP Framework named Yii Framework too...

share|improve this answer
1  
hey man, thanks for answering. it is kinda hard now as a java developer (in my case) because it looks like I am in an area where companies don't like free stuff. But yeah, java seems losing its popularity now as new programming languages arise. –  simon Jan 5 '12 at 23:28

I don't see the whole either/or scenario.

There's nothing to be lost by adding additional skills to your CV anyway.

That being said, the headline of your question and content are different.

When is the best time - any time What should you learn - well what do you want to do? I'm inclined to lean towards the Java and C#s, less towards the scripting languages although I have Python and Perl documentation to hand for purposes of looking around when I have time free.

share|improve this answer
    
yeah thanks for answering, i guess you are pretty well rounded. I guess I should get out from java for a while and try to learn new tricks :D –  simon Jan 5 '12 at 23:17

As others have pointed out, the right time is any time.

C# is a good choice for you because more than half of your proficiency in Java could be thought of as counting as experience towards C#. So, there is a great likelihood that an employer who is looking for a C# programmer will agree to hire someone who has no work experience in C#, but has work experience in Java. (If the employer knows diddly squat about these matters.)

share|improve this answer
    
hey thanks for answering. that path seems logical going towards C#. I will keep your suggestion in mind, nice pic though –  simon Jan 5 '12 at 23:21

For me it would be decided by the following process:

  1. Is it a career move? Pick the language most used in your target career i.e. C#, Python, Ruby
  2. Is it to expand your skill-set? Pick a language that is widely used, but dissimilar from your current language base, i.e. Javascript
  3. Is it to expand your mind? Pick something off the beaten path, i.e. Salmon / Haskell

As to when, that would be when you:

  1. Fancy a change of career
  2. Need A change of perspective
  3. Have become proficient using your weapon of choice
  4. Are using a language that is becoming redundant
share|improve this answer

We all like to play the odds, but you only need to find one job. If java jobs are limited, so may developers with that skill in your area which is why many may not use it. Hard to say.

Decide what types of companies you prefer to work for and what types of development you want to do and work on that language. If all the software companies that build webs sites in your area use PHP, you don't have much choice if that's what you want.

Within reason, you should be able to find jobs in most languages if you are good enough. Otherwise, you may want consider relocating and go where the work is.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.