I am really confused right now. I am working for one year as .NET Developer. But due to rapid changes in .NET Technology, I feel that if I continue pursuing a Microsoft Certification track, it will be then useless in a long run. I have to upgrade to a new certification once a new technology is released which cost a lot of money.
I want to shift my career to JAVA. Is this better for long term career, or should I stick to .NET? Can anyone suggest a company where I could go for a new start should I wish to go for JAVA.
Seriously, there is no such thing as a "better for long term career" language. A career in software development thrives in change... unless you want to become a COBOL consultant (which are highly paid individuals, mind you).
A good software developer will make good software in any language or platform regardless of the velocity by which the technology moves.
That being said, between Java and .NET Java seems to be more "stable" and long term. Far as I've heard Lawson as well as Azeus have good Java intensive teams (I've been with Azeus, but was part of forming its first .NET dedicated team for its first .NET project). I have heard of openings in Lawson. My current employer (Cormant) also has Java and .NET teams but we have a slightly larger .NET team. Don't know of any openings in the Java team though.
However this goes, goodluck, but remember, it's NOT about the platform. Nor the technology.
Another thing I want to point out: there is a much, much larger set of technologies you need if you'll going to develop Java web applications:
This article provides a list of web frameworks available for Java:
http://java-source.net/open-source/web-frameworks
Some of the most popular are explained in this article:
http://www.developer.com/design/article.php/3523506
Many of these Java frameworks have eventually been ported to .NET.
One path that you might want to pursue is to specialize in legacy, business intelligence, or ERP applications, e.g.,
Legacy: COBOL has stopped moving forward per se, but because of the number of enterprises that rely on such systems there are still a lot of maintenance requirements for this.
BI: Cognos, by IBM, is a typical Business-Intelligence centric application
Enterprise Resource Planning (ERP): SAP is one of the more expensive (and high paying) ERP systems out there.
Because of the nature of these technologies many of them either have ceased moving forward or move forward at a very slow pace. I can even assure you that COBOL's syntax will not change, anymore (last time it was improved upon was in 1985!).
Thanks sir...
I'm a Java developer so my opinion on who's better is biased. Instead, I'll tell you what I like about the technology I use.
1. The Java language hardly changed since Java 1.4. We're on JDK 6 (aka 1.6) right now and generics is the most prominent change. Yeah, there is the new for loop(and a few others) but nothing would stop you from coding in 1.4 or 1.5 style(you can even do both).
2. You're not locked-in to a particular product or vendor. Most of us are disciplined enough to provide a few layers of abstraction to shield our app from any changes on the third-party tool we're using. The Java language forces you(unconciously) to abide to its disciplines. :)
3. Several ways you could build your webapp. Java and Servlets/JSP, Java and Struts, Java and Struts with EJB, Java with Spring/Hibernate, etc.
4. Java is a very Marketable skill.
But there are also a few things I don't like about Java.
1. We suck in desktop programming. I've seen successful desktop applications(and they rock) but development in desktop application is really the waterloo for most Java developers. If building desktop apps, you have to really carefully plan everything unlike, say, in VB6 or in .Net where you could arbitrarily put some controls on the screen and voil! You have an instant noodle.
2. People start to think you're some kind of nerd (even fellow programmers) because you do AJAX the hard way. You also start coding your Javascript the Java way. There are existing components to use though.
3. You have to start/stop your server most of the time during development(this one is the ultimate SUCKER!!!)
4. There are only a few(or no) free Java web hosting. I'm talking about reliable web hosting so unless you subscribe for a Virtual Private Server or turn on your computer(with DSL Connection) 24/7, there is almost no chance of publishing your own website built on Java over the internet.
Convert limitations to great expectations... You are the creative force of your life...
raseryu: I am really confused right now. I am working for one year as .NET Developer. But due to rapid changes in .NET Technology, I feel that if I continue pursuing a Microsoft Certification track, it will be then useless in a long run. I have to upgrade to a new certification once a new technology is released which cost a lot of money. I want to shift my career to JAVA. Is this better for long term career, or should I stick to .NET? Can anyone suggest a company where I could go for a new start should I wish to go for JAVA.
What industry captures your interest? For example, HR, governemnt, medical, investment banking, gaming, desktop development, web site development, etc.
Personally, I'm learning and keeping track of both (and more). The more experience you have, the better you learn.
Btw, why aim for a long career? My aim is to earn enough money to last me and my kids' lifetimes so that I can have enough time doing my hobby (which also happens to be programming. )
[jop]
the Java language hardly changing after all these releases can be a boon or a bane. and i'm pretty sure it won't stay that way, kailan pa ba idadagdag dyan ang functional programming constructs? remember, functional programming is becoming the rage simply because it'll help enable transparent optimization (by the compiler or by the runtime) for multicore CPUs
cruizer: the Java language hardly changing after all these releases can be a boon or a bane. and i'm pretty sure it won't stay that way, kailan pa ba idadagdag dyan ang functional programming constructs? remember, functional programming is becoming the rage simply because it'll help enable transparent optimization (by the compiler or by the runtime) for multicore CPUs
It can be on the next version or it can be never.
There are other languages running under JVM that can and have implemented those new (or old , depending on whether you know your history) concepts.
Think Scala.
From a user's point of view (Hindi ni minsan nasubukang mag-program gamit ang Java o .NET)... I would choose .NET. Napansin ko lang, pag sa mga desktop apps written in Java, parang ang bagal para sa akin eh... Opinion lang ho. At tsaka sa classified ads dito (Local newspapers), puro karamihang mga hinahanap eh .NET programmers, madalang ako makakita ng naghahanap ng Java programmers. (peace @ lamia)..
personally i think one can't go wrong in choosing either .NET or Java. one thing's for sure, a developer should no longer restrict him/herself to one platform...dapat may alam ka rin (kahit paano) sa iba...lalo na ang pagdagsa ng dynamic languages.
modchip:From a user's point of view (Hindi ni minsan nasubukang mag-program gamit ang Java o .NET)... I would choose .NET. Napansin ko lang, pag sa mga desktop apps written in Java, parang ang bagal para sa akin eh... Opinion lang ho. At tsaka sa classified ads dito (Local newspapers), puro karamihang mga hinahanap eh .NET programmers, madalang ako makakita ng naghahanap ng Java programmers. (peace @ lamia)..
**Lamia bugbogs modchip
dohdoh:agree ako ke sir cruizer.. dami languages na nagsusulputan, kung gusto nyo ng long term career goal, dapat marunong ka maganticipate kung ano yung next Java sa mga nagsusulputan na language..
Hehehe. Precisely.
Kaya uulitin ko, don't want to learn anything new all the time? COBOL FTW!
Another thing to add: .NET has taken a new direction in developing future versions of the framework.
Starting with .NET 2.0, improvements will be incremental. Meaning when .NET 4.0 or .NET 5.0 comes along your .NET 2.0 code will still be valid, unlike with the move to 1.0 -> 1.1 -> 2.0 where they deprecated and changed a lot of things in the System libraries.
So yes, gaya-gaya talaga sa Java ang .NET. But it's all for the good.