Dr. Salary












« Military Pay Rate: Upping The United States Army Active Duty Pay Scale | Main | Jobs for Computer Science Degree Grads Going Up, Up »

Software Developer Salaries: Ruby on Rails vs. Java

"willCode4Beer", a software engineer and blogger in the San Francisco Bay Area, recently posted a comparison of "Ruby on Rails" and Java software developer salaries, using PayScale data.

Noting that the average salary for developers in San Francisco is $17,000 higher for Java than Ruby on Rails, he concluded he should stick with Java, at least until the pay for Ruby on Rails catches up.

However, big grains of salt are required when comparing these charts :-)

In this post, after a brief background on programming languages and their fads, I'll look at why, even in the face of these charts, it is not so clear which language willCode4Beer should use.

Wondering what your skills are worth? Find out with the PayScale salary calculator.

What are Ruby on Rails and Java?

For those who don't know, "Ruby on Rails" is the latest hot programming language and framework. Java and related frameworks was the hot new programming language 10 years ago.

For those less technical, programming languages are how software developers tell a computer what to do. Frameworks are collections of pre-written instructions a developer can use to speed up the application development process.

Computers are notoriously stupid. By analogy, you cannot simply tell a computer to tie its shoes. A developer has to explain every step, from grabbing each lace at the end, to looping the laces over and under, etc. Worse, unlike children, computers don't infer based on past experience; a developer has to explicitly tell all the steps every time s/he writes a new application.

Frameworks (also called libraries) are useful, because different applications often instruct computers to do similar things. For example, having a standard set of instructions (also called a routine or class) in a framework called "tie shoes" would be very useful, if you writing an application that tells a computer how get dressed.

Programming Languages and Fads

Both languages and frameworks are subject to both evolutionary improvement and fads. Sometimes these improvements are real, representing major steps forward in developer productivity, at least for some applications. Sometimes they are not.

Ruby on Rails is the latest silver bullet that promises to make software development simple. Created in 2004, Ruby on Rails promises to simplify greatly the creation of data-intensive websites and applications.

Java was the silver bullet of the late 90's. Ah, I remember the days back in 1997, coding in Java and the Swing framework. They promised to make computer programming simple, and "applications write once, run anywhere." Sun Microsystems was in ascendency, the dot-coms were just starting really to bubble, and the new economy was going to change everything.

Funny how, 10 years later, the Java programmers are now making the big bucks for writing in the "hard to use" old-school language. :-)

I do not know whether Ruby on Rails will replace Java everywhere, simply take over as the dominant language in some application areas (as Java did to C++ and other earlier languages), or be a fad that never catches on outside a core community, but I can say something about pay.

Java vs. Ruby on Rails Developer Salaries

Let's look at slightly different PayScale Research Center charts than willCode4Beer referenced. Instead of salary by city, the charts below are by years of experience.

The titles are a little misleading; the years of experience is in the field of software development, not only with each language. Obviously, no one has 20 years of experience with Java or Ruby on Rails, since neither existed in 1988.

Ruby on Rails as a Skill:

Java as a Skill:

Hum, the difference in salaries is no longer so dramatic.

  • Low experience (<5 years) dev. pros may make more with Ruby on Rails than Java
    • The statistics for <1 is too small to say for sure
    • For 1-4 years, the salary increase is only 3% more for Ruby on Rails
  • For higher experience (5 years and up) dev pros, Java tends to pay a bit more
    • Only the 5-9 range has enough data for Ruby on Rails to really compare the two: salaries are about 10% higher for Java
  • None of the differences are as dramatic as the differences in median pay shown for San Francisco or New York in charts in willCode4Beer's post.

The reason for the differences will become clear when we consider what really affects developer pay.

Experienced Java vs. Ruby on Rails Developers?

The populations of Ruby on Rails and Java developers, in the PayScale research center sample, and in the nation as a whole, are not the same.

The most dramatic difference is in the number of development pros using each skill. For the US, the PayScale research center sample has 27,300 for Java vs. 131 for Ruby on Rails. This is for three reasons:

  1. PayScale has only been collecting data on Ruby on Rails for about 5 months: reduces sample by ~2X
  2. Since Ruby on Rails is not a top 15 most popular skill for developers, it is not a checkbox on our survey. An employee must it in. Hard to say precisely the effect, but likely good for ~5X fewer profiles (devs just don't mention they use Ruby on Rails).
  3. A lot fewer development pros actually use Ruby on Rails than Java on the job: see willCode4Beer's comparisons of job postings, which imply 20X fewer jobs requiring Ruby on Rails.

The other dramatic difference is median years of experience in the field (not just the language).

  • For Java, the median is about 8 years, and there are a significant number with 20 or more.
  • For Ruby on Rails, the median is about 6 years, and there are very few with 20 or more.

Switch from Java to Ruby on Rails?

While I am not a full-time developer now, and never officially was one, I have coded over the years in Fortran-77, C, C++, Java and now C#. This variety of languages over time is common for most of our senior developers here at PayScale.

While my brain has been getting softer in the last few years, developers generally become significantly more productive between college graduation and ~10 years later - assuming they actually learn how to code better during that time :-)

With greater productivity and skill comes greater pay. This is shown in both the charts above, and is a general property for professional jobs like software developer.

Given that the most important factor in pay is experience as a developer, not with a particular language, why does anyone ever switch computing language? Why am I no longer coding in Fortran?

There are several reasons:

  • The potential of a new language to increase productivity for a particular application type exceeds the cost in productivity of learning the new language
  • Companies for which you want to work stop using the language you know for new projects
  • The new language is popular at companies in locations where you want to work.
  • You want to have the latest computer buzz words on your resume :-)

For example, here at PayScale, we have moved from an site written back in 2000 in ASP (basically Visual Basic) to one using the .NET framework and C#. The gain in maintainability and extensibility made it worthwhile.

Why C# instead of Java? Because it is easier to steal C# developers from Microsoft in Seattle than Java. :-)

By the way, if you want to work in Chicago or Philadelphia, COBOL may be the way to go: more jobs and decent pay :-)

How does your salary compare, and which skills should you consider adding? The PayScale Salary Calculator is a quick and easy way to compare positions. When you want powerful salary data and comparisons customized for your exact position, be sure to build a complete profile by taking PayScale's full salary survey. Use the "What If" features to compare what would happen if you added a skill.

Cheers,

Al Lee

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341bf85853ef00e54fc6d4bb8833

Listed below are links to weblogs that reference Software Developer Salaries: Ruby on Rails vs. Java:

Comments

willCode4Beer

Hi Al, your post is definitely MUCH MORE informative than mine. I added an update referring to this one.

Whereas I was making a little satire at the "X reasons why I use Y" posts, you have actually tackled the subject in an informative manner.

Brian LeRoux

Great read! Thank you.

I would add two bullets to, "why does anyone ever switch computing language?". And these do not directly map to the money though they may influence it.

Happiness. Software development should be fun. You should inherently enjoy writing code. The language influences this.

Culture. The philosophies, agendas even, of different languages and platforms are most certainly cultures a developer needs to align with. Be it Microsoft or Sun or.. whomever.

Btw, never trust a guy who says they have ten years experience in Rails. =)

Steve

Er...Does anyone who's name isn't James Gosling have 20 years experience with Java? And how does anyone have 10 years of experience in a framework you note was created in 2004? The language itself was created in 1993, so the 20 years for that is bogus too. Perhaps the chart graphs "% of people who lie about their experience and salary" vs. language choice.

Dr. Al Lee, PhD

Brian -

I avoided giving personal and social reasons, because PayScale.com is all about the money. ;-)

I agree developers should definitely take into account "non-cash" reasons, like the two good ones, Happiness and Culture, you give.

I would not include "Beauty" in the list of reasons. Andrew Koenig long ago convinced me that the ugliness of C++ doesn't matter :-)(http://groups.google.com/group/comp.lang.misc/msg/2ec98e9023c138c5 )

Brian and Steve -

I updated the paragraph just before the charts to clarify them: these do not show pay for years of experience *with the skill* (Ruby on Rails or Java), but the pay for years of experience *in the field* (software development), and currently working in each language.

For example, I have over 20 years of experience in software development, but only 5 years with C#.

The people who say they have 20+ years of experience, and program in Ruby on Rails, are not lying. They just formerly programmed in other languages.

anonymous

Bay Area's RapLeaf RoR devs make ~$140k after working there for three months and being vetted. An insignificant blip on the scale, but something to keep in mind.

Rails rockstars can make just as much if not much more than Java devs.

Of course, if you're a rockstar (in any language) you should be getting a rockstar salary.

Software Company

hey

Really nice tips!

Will try to keep it in my mind

Thanks!

Megan

Can anyone inform me of the consulting rates that are to be expected for a Ruby-o-Rails developer with a Java background?

b.vandgrift

One of the things throwing these charts off: equity. a large portion of the RoR development footprint works on startup projects for equity, rather than big salaries. This means they may make $60K / year, but they also get $60-70k per year in equity in a company that's likely to have a short-term exit strategy, either through acquisition or a VC round. Something to bear in mind.

jack

Thanks for the articles. But one thing bothered me. Frameworks are actually non-trivially different from libraries. Frameworks are a "scaffold" that you build an application on top of. You must subscribe to the rules and regulations of the framework whether you like it or not. Libraries are bits and pieces of components that you pick and choose (like in a supermarket) to build the application you want.

Josh Tam

I always thought Ruby on Rails and Java field are two very high-paying fields to work in. This post confirms my thought. Unfortunately I am not familiar with both :-<

Post a comment

If you have a TypeKey or TypePad account, please Sign In.

Al Lee, "Doctor Salary", is the Director of Quantitative Analysis for PayScale, Inc. He has over 20 years of experience in statistical analysis and holds a PhD in Physics from Yale University. Why a blog about salaries?
follow me on twitter
Find Out Exactly
What YOU Should
Be Paid
Get a more precise salary range for your exact position.
Job Title
Country
City
State
Years Experience



2009 College
Salary Report

Compare the salary of grads from colleges across the US.


Tools & Calculators

new Cost of Living
Calculator
Will moving help or hurt your budget?
Compare the cost
of living >


Meeting Miser
Are your meetings worth every penny?
Meeting cost calculator >

Gig Zig
Where is your career going?
Career path predictions >

PayScale, Inc. is a market leader in global online compensation data.

PayScale for Employers