share
Stack OverflowWhat programming language offers the best salaries?
[+10] [19] hb
[2009-04-22 19:00:53]
[ java .net j2ee career-development employment ]
[ http://stackoverflow.com/questions/778676] [DELETED]

I keep having discussions about this topic and I want the input of the community.

As far as I've heard, .NET is the current leader in $/hr or $/project ranking. How does .NET rank against Java or J2EE?

(7) I have no idea what the final part means (outside of random anecdote). Are you trying to say that by having everyone at work switch to .NET will suddenly cause their salary to go up? - TheTXI
(3) This questions seems fair enough - needs to be made community wiki however. - Noldorin
(1) Exactly what I was thinking. One of your factors for selecting a technology to use is "which pays the most?"? - Chad Birch
(3) I wonder if companies that use .NET have more money to begin with as they use commercial rather than free tools (e.g., Visual Studio, SQL Server and Windows rather than Java and Linux) - Uri
(1) One of the factors for selecting a technology is in fact which pays the most - but that's upper management; I try to use the best one, given what we need. - hb
Based on the edits, I'm voting to reopen. Perhaps somebody can find some actual research on the issue, and it's a valid concern for programmers. - Randolpho
And, hey, I found some actual research on the issue. Posted! - Randolpho
@Uri, or maybe companies that use .NET (not free) just spend their money less wisely... and thus ultimately earn less revenue! - Alex Baranosky
[+21] [2009-04-22 19:40:16] Randolpho [ACCEPTED]

PayScale.com [1] has some great comparisons for you:

Based on those links (I gave US links, but you can find other countries on that site as well), both Java and C++ pay slightly better than C#.

[1] http://payscale.com
[2] http://www.payscale.com/research/US/Skill=Java/Salary/by%5FYears%5FExperience
[3] http://www.payscale.com/research/US/Skill=C%2523/Salary/by%5FYears%5FExperience
[4] http://www.payscale.com/research/US/Skill=C%2b%2b/Salary/by%5Fyears%5Fexperience

(17) I'd impressed to find folks with 20+ years of Java or C# experience. They deserve $100k. - Darcy Casselman
(3) That's typically 20+ years of experience, period, not 20+ years of Java or C# experience. Neither language has been around that long. - Randolpho
(12) Your sarcasm detector needs fixing. - Min
(1) @Min: Probably. :) - Randolpho
1
[+14] [2009-04-22 19:07:46] Otávio Décio

To be strict, programming languages don't pay salaries, companies using them do. I would say that C/C++ are the languages for which companies are willing to pay top dollar because these are the languages normally used to develop real time/embedded/low level programs. And people able to do such type of development are deservedly getting the top pay.


(1) Actually, most game developers don't make much money compared to other programmers such as defense contractors, who usually use C/C++, Java and Ada. - Dopyiii
2
[+10] [2009-04-26 20:37:42] Portman

The highest paid "programming languages" are the proprietary dialects used by large ERP products [1] like SAP [2], Sage [3], and SAS [4].

Here in Washington DC, SAP Engineers earn as much as $300,000/yr and SAP consultants routinely charge over $275 an hour.

Anecdotally, I've been offered $250/hr to do QlikView [5] development.

[1] http://en.wikipedia.org/wiki/List%5Fof%5FERP%5Fvendors
[2] http://www.sap.com
[3] http://www.sage.com
[4] http://www.sas.com
[5] http://www.qlikview.com

True - as an experienced SAP ABAP developer there are very few programming roles where I can earn a better salary or contract rate. Having said that: I need to learn something else before my brain implodes!!! - Esti
Implementation usually pays better than development, probably due to greater pay off for the customer and lower risk. Having said that even in development specialisation pays better than generic skills. - Totophil
3
[+6] [2009-04-22 20:16:01] Mehrdad Afshari

Certainly... COBOL


4
[+4] [2009-04-22 19:06:39] Brian Agnew

I use JobStats [1] for UK salaries and contract rates. JobStats monitors job and contract listings for technologies and related skills, and the salaries/rates offered.

Now, although it's UK-based, I suspect that the technologies sampled and the relative rates won't differ too much from the US market (I assume you're from the US).

C#/.NET register as £36-40k. Java/J2EE comes in as £40-45k, for what it's worth.

[1] http://jobstats.co.uk/

This sounds about right for the UK, based on my own experiences. - Paul Suart
5
[+3] [2009-04-22 19:09:05] Uri

After reading and rereading, I still don't think I understand the question.

Payment is often an issue of supply and demand and of industry. There are generally fewer .NET developers around since it has been around for a shorter period of time, it requires commercial tools, it locks you to a platform, and few schools teach it.

Some industries also prefer a specific technology. For example, most of the financial industry, where pay is high, uses C++ on Linux. On the other hand, lots of low-paying IT jobs here in Pittsburgh rely on .NET.

However, I fail to see a connection between the cost of a developer and the choice of language here, since the productivity of the developers may depend on the language. .NET also carries the cost of lock-in to MS technologies.


(1) It's not really fair to say .NET carries lock-in cost. It's well-known now that .NET on Linux is a first-class citizen in the community via Mono, and it works just fine with MySQL or Oracle or any other technology you might want. There are plenty of shops doing that very thing. The "lock-in" statement is more appropriate to something like Sharepoint, which does require Windows, SQL Server, .NET, etc. - Rex M
Which school? I am not familiar with any major CS university that teaches .NET as the primary language. Most do Java or C/C++ - Uri
@RexM: I guess I am more familiar with the Pittsburgh market, where .NET jobs usually go hand-in-hand with a specific Win32/Win64 and SQL Server req and other MS techs. - Uri
6
[+2] [2009-04-22 20:17:30] madcolor

In my experience (dare I say),

  • Companies that adopt paid-for solutions tend to pay more.

  • Companies that opt for opensource/free solutions tend to pay less.


That probably has more to do with how much money the company has to spend than what technologies they use. - Zifre
This is a little black & white - how about companies that use open source heavily, but still go with a paid-for solution when it's clearly the best tool for the job - Jonik
7
[+1] [2009-04-26 20:13:10] Alex Martelli

Well, according to http://www.indeed.com/salary?q1=python+programmer&l1=Sunnyvale%2C+CA [1] , a Python programmer in Sunnyvale makes an average of $96,000 -- a Java programmer, $90,000, and a .NET programmer, also $90,000 -- in the same locality. I'm sure other sites, localities, etc, will give different numbers, but this general result matches what Dr. Dobbs' reported years ago on a survey of 3500 professionals -- see http://www.ddj.com/architect/184415424 -- Python programmers had the best salaries then, too.

[1] http://www.indeed.com/salary?q1=python+programmer&l1=Sunnyvale%2C+CA

Regarding Sunnyvale and Python in particular, I wonder how much of that is skewed by Google employees? - Portman
I believe there are no Google offices in Sunnyvale -- most local ones are in Mountain View, plus some each in Palo Alto, San Bruno, San Francisco. Sunnyvale-based firms include NetApp (took first place in the "best place to work" survey this year away from Google), Juniper Networks, Advanced Micro Devices, ... - Alex Martelli
8
[+1] [2009-04-28 15:14:01] T.E.D.

Salary is more or less an issue of supply and demand. This means you can demand the highest salary in places where the supply of coders is smallest. Generally, this will be in niche markets with old/obsolete languages.

The downside to this is that the world isn't exactly overflowing with companies looking for CMS-2 [1] coders. So you are going to have to move where the jobs are after every job is done. That can be a good lucrative gig for someone just out of college, or someone older with no kids at home to worry about and no working spouse. For the rest of us, moving every 0.5 to 2 years really sucks.

[1] http://en.wikipedia.org/wiki/CMS-2%5F%28programming%5Flanguage%29

9
[+1] [2009-04-22 19:10:28] Dan Littlejohn

languages are like tools in a toolbox. You can pigeonhole yourself into one language, but you will be more successful (and make more money) in understanding how languages work and picking the right language (tool) for the project you are working on. I would focus instead on learning as many languages as you can.


(2) Already done that; I know several languages. However, management @ my current job decided upon "using the highest paying technology" - which is, according to them, Java. - hb
(2) Are you saying they chose a technology based upon the most expensive employees they could hire ? - Brian Agnew
10
[+1] [2009-04-22 19:12:15] Bob Cross

Out of context, this question doesn't really have an answer.

In your case, you're trying to use the breadth of the .NET framework as a motivator to utilize it. Maybe you should ask "How can I make a business case for .NET?" with a little more information.

In my specific case, we're a 100% Java shop at the moment. .NET isn't a worthless skill but we don't have any .NET projects. So, the salary range goes like this:

  • Java: a wage defined according to our documented salary schedule.
  • .NET: zero.

That's a bit facetious but still true.


I can relate to that. I keep using the features of .NET 3.5 as a selling point (development speed, IDE improvements, client requirements, etc), but all I get is "Java pays more." - hb
Well, you should also look at it the other way around: the JDK provides many features and frameworks. I.e., it's a better business case in our environment than .NET for multiple reasons. - Bob Cross
11
[+1] [2009-04-22 19:15:30] SQLMenace

Experience and level is what we pay people for not language used

a person with 2 years Java experience will not get paid more than a person with 5 years .NET experience and vice versa It also depends what kind of job you did, did you do basic winform or did you use WCF, winsock programming

It all becomes evident in the interview, then you can really see if the person was a Wizard Driven Programmer or someone who actually understood what he was doing and how to fix it when it would break....


12
[+1] [2009-04-22 20:09:39] Dopyiii

I recommend glassdoor.com [1]. I've used it to compare my salary with others in positions in other companies. It's also helpful to see not just what other companies pay, but at what level they get paid.

[1] http://www.glassdoor.com/index.htm

13
[0] [2009-04-22 19:07:24] John

Your salary doesn't depend on the language you work with,but the way you work with it.

That said,I can ensure you .NET will be the future unless Anders H. decides to leave his workplace again. :P

A C# developer is paid better than a VB.NET developer.

From the other side,C++ developers are paid very well too


14
[0] [2010-02-25 03:23:47] Andy

Certain niche markets make it difficult to find the "best" salaries. For instance, in the defense market Sharepoint and .Net experience is highly sought after. However, I've seen situations where a PHP developer with a Top Secret clearance had a $105k salary. This is a good topic but there are just too many variables.

Certain niche markets make it difficult to find the "best" salaries. For instance, in the defense market Sharepoint and .Net experience is highly sought after. However, I've seen situations where a PHP developer with a Top Secret clearance had a $105k salary.

This is a good topic but there are just too many variables.


15
[0] [2011-06-29 11:53:49] steve

It all depends on your experience and how you nego ur salary with the employer.


16
[0] [2009-04-28 14:59:55] Antoine Claval

seriousely, cobol and fortran have the best paid. Mostly because lack of resource and huge base of running code to maitains in large organisation ( banks.... )

Edit : i spoke for western europe ( france , luxembourg )


17
[0] [2009-04-22 19:03:51] Jin Kim

You should put a focus on leveraging the knowledge and experience of the people you have working for you. Switching technologies incurs a significant cost.

Edit: Unless you are hiring for a brand spanking new project which allows you to hire fresh people with specific skill sets. Now, if you need to integrate this software with existing products, that will open a whole new can of worms.


18
[0] [2009-04-26 19:55:56] community_owned

In my opinion that is a question of; first, Supply and demand of industry; that means the market pays more for those use tools (language, plataforms) suited for that specific market and this is related to industry wages averages payd to IT professionals. Secondly it is a question about profession availability and experience.


19