Let me be serious for a change.
I recently had the opportunity to work with a highly talented bunch of individuals from a leading University in Sri Lanka. From what I have seen so far, them lot seem to be die-hard Java fans. Being as old as I am, I was brought up as a C/C++ programmer. But I had the opportunity to work with many other programming languages since then; one of which was Java. I thought it might be useful if I share some of my views in trying to answer the age old question that software engineering students seem to be having when coming out to the industry.
“What language should I specialize in?”
Naturally, we tend to side with the programming language which we are most familiar and good with. At the start of your career this is good as it gives you a jump-start at your job placement. You have enough things to worry about than having to learn a whole new programming language.. right?... well, the answer might not be that simple.
Yes, it is good to do the thing you know. But generally speaking, you will know a particular language well mainly as most of your course work would have been based on that language. Maybe a particular lecturer was better in teaching you one language as opposed to another. Maybe the course syllabus was setup a few years ago and at the time a particular base programming language was selected as the most popular in the industry. Maybe you had friends out there who were experts in one language and your judgment was biased based on that.
Maybe you shouldn’t be worried about a specific programming language after all. Wouldn’t you like to shock the interview panel of your first job by saying “I can program in any object oriented language out there”? Can you really do that? What if I tell you that most software developers with more than 7 years of work experience generally think like that? Given the opportunity they really can. True, they might have to get a quick refresher course on the latest technologies associated with the new language, but the language syntax is fast becoming a non issue. Online and compiler help is so good these days that I was able to learn Java on the job within 2 weeks.
But can you do that as a fresh graduate coming out of the University? Perhaps not on your first job – as most of the time, it is the hardest to secure. But from day one, in my opinion, you should think as a software engineer.
After all, your degree is in software engineering – not in java programming (or in any other language for that matter).