Over Career forums, I was answering a question by .Net Programmer who wanted to switch to Java due to company requirement. I found some answers supporting the move. In my view, it is NOT-A-GOOD-IDEA to switch from .Net to Java. If i were asked on the matter:
My
quick answer would be: Do not switch!
Scenario
You are a .Net Programmer with 5+ years of
experience. You love the platform & enjoy your day-to-day programming
life. One day your boss come & says “Buddy… We have a long term Java
Project in hand, we require you to learn Java & render the project!”
What you will do?
You will feel regretful in leaving .Net! A
series of thoughts & questions will arise in your mind:
1.
I
do not like Java!
2.
Can
i learn Java?
3.
What
about my hard earned .Net skills?
4.
Is
there a risk that I forget .Net?
5.
What
will happen to my career?
6.
After
1 year the Industry perceive me as .Net or Java guy?
You can always find switching-supporting arguments, preferably from your boss or manager. Following
are some of the tactical arguments which i remember:
1.
Great
Programmers never insists on particular language
2.
All
languages are converted to machine language for execution, so doesn't matter
.Net or Java!
3.
You
won't forget .Net after 1 year
4.
Java
is better than .Net
5.
Having
Java in resume will increase your value
Often i see the Information
World is more of false/wrong/contextual information. It takes some real
processing to filter out the weed information. I will answer the above
statements at the end of the article.
How Career
Value is increasing?
Career Growth implies more productivity output for
same time input, more capabilities earned, more quality & more..
We have to see the multiple factors that contribute
towards career growth:
1.
Increase
by year (more projects >> more knowledge >> more value)
2.
Increase
by technology (.net, c#, entity framework, wcf, sql server)
3.
Increase
by business acumen (financial, insurance, power sector)
4.
Increase
by methodology (cmm, scrum, tdd)
5.
Increase
by company (overseas client, mnc exposure)
We are talking about the second point highlighted.
Java
is a different animal!
Adding Java to the .Net pack will require you to go
through the following preliminary aspects of Java:
·
Learn
Java Language
·
Get
familiar with IDE
·
Learn
Collections
·
Learn
GUI aspects
·
Build
& Deploy
·
Troubleshoot
·
Learn
ORM (Hibernate)
·
Learn
J2EE (struts, ejb etc.)
Surely, you end up in a different plane with
Java! You can see that 1 year working on these aspects won't add to your
.Net experience as it would be a parallel track & no-total-value
increase. So you are wasting your energy.
In the .Net track
value increases if over the years you build on top of knowledge like > windows app > phone app > web app
> certifications > .net reflection > componentization > entity
framework > large project implementation > agile > tech lead > team
lead > architect > like that..
Same as the case of Java guy switching to
.Net.
Work
Enjoyment Aspects
Programming is a great Job for the
Programmer-Material people. They enjoy hours spend @ work. But the
enjoyment will be drastically reduced if we are not FAMILIAR with the
technology. Surely a configuration issue can create hectic hours.

Join the conversation! Your thoughts help the community grow.