Java vs. .NET as a career choice

GoatMonkey

Golden Member
Feb 25, 2005
1,253
0
0
I need some opinions. I have worked with both Java and .NET and I'm currently looking for a job. I now have to decide which one to focus on.

I have significantly more experience working with Microsoft technology. I picked up Java about 3 years ago and I've completed 2 large web browser based database applications. I got a Sun certification in Java, but don't have any in Microsoft technology. I can just as easily say that I've got 6 years of experience with .NET.

Almost all of my experience (about 11 years) is in web applications with database back-ends (Oracle and SQL Server).

I need opinions on the long term expectations of Java and .NET.

Do you feel like more of one language's jobs will be sent offshore?

Do you think that one language will allow for a higher salary long term?

Do you think that one language is perceived as being more technical by people who don't really know, and would look better on the resume?

It seems that more large companies use Java, and that more large companies outsource/offshore. Does that make .NET a better choice, or are there enough jobs that need to be localized still to not worry about it?

 

Thyme

Platinum Member
Nov 30, 2000
2,330
0
0
I don't think there are really certain answers to most of your questions. If you like one more than the other, go with that one. Why do you have to make a choice right now?
 

GoatMonkey

Golden Member
Feb 25, 2005
1,253
0
0
I know there aren't any right answers, I just want to hear some opinions. I'm looking for a new job right now. My former employer is closing the office I was working in.
 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
Tough Question. Maybe you should have another option in there: "Both?" LOL.

Most larger companies have/support JAVA because that is what they started off with. .NET is quite young, but there is major commitment from MS on the technology. Almost all the teams within MS target the VS IDE - Web/Windows Services, ASP.NET, Windows Forms, LINQ, Integration, Reporting, and Analysis Services, etc. The CLR is being used extensively for upgrades, inside SQL Server, and newer languages like F#. I have yet to see such level of integration from the JAVA camp.

For JAVA, there is great community support, and tight integration with Oracle. Not to mention, that .NET is lagging when it comes to Linux support (there is MONO, though, if we're talking about the future). Most importantly, there are no licensing fees involved. Nevertheless, I know a couple of contractors who develop and deploy things in Express Editions of VS and SQL Server in a limited manner.

Most JAVA projects have the advantage of bringing on board independent contractors/consultants, just because these individuals can "learn and master" JAVA without paying any royalties. But then these same projects have the disadvantage of getting outsourced quickly, because it is much cheaper to maintain things overseas. Gettting to licensed MS tools for independent individuals overseas is expensive.

I have been involved with a few government-level projects, and they seem to be making room for .NET. When it comes to languages, I believe JAVA and C# are equal in extent. IMO, MS's designer tools and IDE are way ahead of Sun's. As things stand right now, I don't believe you can choose one over the other. Though frequent visits to DICE will tell you that the demand for .NET seems to be growing (this has its own disadvantage - more .NET professionals, mean cheaper jobs... something both you and I don't want!).

My take on the subject is keep yourself indulged in either technology, and ask for a higher salary. You can easily be a technical lead/architect in a firm that hosues both JAVA and .NET developers?
 

GoatMonkey

Golden Member
Feb 25, 2005
1,253
0
0
Added a 'both' option.

I could be a lead developer. I don't really want to be the group lead and have to spend all of my time organizing and documenting. I may have to bite the bullet and do that someday just to advance my career, but I'd prefer to spend more time coding if possible.

I'm hoping that demand for developers in general continues to grow and that college kids continue to be scared of moving into a technology career path. I never thought that dot com crash could help things in the long term like that.

 

SunnyD

Belgian Waffler
Jan 2, 2001
32,675
146
106
www.neftastic.com
Originally posted by: GoatMonkey
I'm hoping that demand for developers in general continues to grow and that college kids continue to be scared of moving into a technology career path. I never thought that dot com crash could help things in the long term like that.

Speak for yourself. I spent the better part of 6 years looking for a dev job after getting laid off. I *finally* just got back in the market.
 

GoatMonkey

Golden Member
Feb 25, 2005
1,253
0
0
Originally posted by: SunnyD
Originally posted by: GoatMonkey
I'm hoping that demand for developers in general continues to grow and that college kids continue to be scared of moving into a technology career path. I never thought that dot com crash could help things in the long term like that.

Speak for yourself. I spent the better part of 6 years looking for a dev job after getting laid off. I *finally* just got back in the market.

It was rough after the dot com crash. I spent about 6 month unemployed until I took a job making much less money just to keep working.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
One advantage of .NET is you have the option of moving into front-end Windows application software development since it is changing (slowly) away from VB & C++/MFC for existing apps to C# & C++ with .NET for new ones. Java isn't used much on the Windows desktop aside from browser plugins.

One advantage of java is you can work for web-based businesses of almost any size while .NET is more for corporate in-house applications than public-accessed web servers.

"Both" is a decent choice, but if you enjoy one much more than the other then becoming expert at it could be a better choice than becoming pretty good at both.
 

SunnyD

Belgian Waffler
Jan 2, 2001
32,675
146
106
www.neftastic.com
Originally posted by: DaveSimmons
One advantage of .NET is you have the option of moving into front-end Windows application software development since it is changing (slowly) away from VB & C++/MFC for existing apps to C# & C++ with .NET for new ones. Java isn't used much on the Windows desktop aside from browser plugins.

One advantage of java is you can work for web-based businesses of almost any size while .NET is more for corporate in-house applications than public-accessed web servers.

"Both" is a decent choice, but if you enjoy one much more than the other then becoming expert at it could be a better choice than becoming pretty good at both.

Really slowly - Microsoft recently released the beta for MFC9, updating a lot of things and finally exposing functionality for the Ribbon UI. I don't think .NET will take over completely.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
.NET is quite young, but there is major commitment from MS on the technology

The technology is a decade old, just entered version 3.5, and is running some of the largest websites on the Internet, as well as providing the foundation for virtuall all new desktop application development. I wouldn't agree that "quite young" is an accurate description of it at all, but that's subjective.

I don't think .NET will take over completely

Oh it definitely will. The advantages of a managed code interface to the operating platform are too great. Complexity has to be reduced and this is one good example of how. But it will take time for all the corners to become involved.

To the OP, I would suggest you decide where your balance of economic vs. professional interests lies, and focus accordingly. I like to have as much exposure as I can, like anyone, but I think the reality is that you will specialize to some extent. Things are just too complex anymore to be a master of all trades. .Net is pretty much the standard for corporate intranet and desktop application development at this point, and is in strong demand. Consumer-facing sites go both ways. Shrink-wrap app development is mostly a combination of .Net and C++. Financial services companies probably use more Linux and Apache, with Java or pHP or Perl, as do government, academic, and research organizations. Small, fast-moving creative startups also lean toward the free side of things, for obvious reasons.

Part of your long-term judgement also has to be deciding whether Linux will continue to grow, and support a growing application market, because if it will then that's a good ground-floor opportunity as opposed to a very mature Windows market.
 

brikis98

Diamond Member
Jul 5, 2005
7,253
8
0
i honestly doubt it matters which you pick - in fact, when picking a job/project, I would consider all other factors (salary, type of project, coworkers, environment, etc) before Java vs. .Net. moreover, anyone who can learn one can easily learn the other, which roughly means that if one doesn't work out, it shouldn't be difficult to do the other in a new job.

both are powerful and roughly equivalent in what they can do. i personally prefer java: completely cross platform, the language is open source, there is HUGE community open source support, working with it is completely free (no royalties, awesome IDE's for free, etc) and it improves every day. however, I have plenty of friends who love .Net as well and you really can't go wrong with either.
 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
The technology is a decade old, just entered version 3.5, and is running some of the largest websites on the Internet, as well as providing the foundation for virtuall all new desktop application development. I wouldn't agree that "quite young" is an accurate description of it at all, but that's subjective.

Put down the bong, Mark :p. .NET 1.0 was released in early 2002. Visual Studio 2003 came out towards the end of 2002. How many people do you think adopted .NET (Windows ME was fresh on people's mind) in its original form? The true switch didn't begin until .NET 2.0. So by any realistic means, you can say the technology is only 3-4 years old compared to JAVA. It is not subjective. I can see that you and I both are obsessed with the tools MS has given us, but that doesn't change the facts.

There are people out there who haven't even been on the design surface of SSIS, SSAS, LINQ, etc. My point being, there is limited training available for these things... so your assumption that it has been around for a decade doesn't sell. Maybe the notion of .NET is a decade old, but definitely not the tools.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
But I like the bong. You're right that it hasn't been in the field for a decade. Whistler was released to beta testers in August of 2000, and was in development for at least two years prior, so a decade isn't far off, depending on how you want to define the birthday. Anyway, it's not immature by anyone's yardstick.