Why do PHP Developers Earn So Little?

I’ve been researching rates on Dice and Monster. It appears PHP developers are being offered roughly 1/2 the hourly and full time rates of Ruby on Rails developers, and roughly 50% less than Java or .Net. PHP developers are even earning less than JavaScript/HTML5 guys these days.

Why is that? I have a few of my own theories but the difference seems to have become a bit extreme in my opinion. Also, if I’m a consulting company and I develop a solution for a business, does this mean my solution should cost 1/2 as much if it is developed in PHP? Or put another way, I can charge 2x if it is developed in RoR?

I have done no research on this, so my answer may be wrong. I think, however, it is due to the fact that a great deal of PHP developers are younger, self taught, work for themselves, have little real world experience, and simply don’t know what the charge, or feel they need to undercut the asp.net firms just to get the deal.

This is, of course, assuming your research is accurate.

For beginner and intermediate PHP developers, the salaries are typically low because the market is saturated and there is a lower bar for entry (meaning, you don’t necessarily need a proper background in software development). You don’t see higher salaries for PHP developers until you get into the more advanced areas of PHP development, which does require quite a bit of education and training.

I would have to ask what the salaries your referring to are and requirements to even comment. A developer of any kind who is just starting off will obviously be paid less than one who has experience. I have never really noticed a significant difference throughout the entire development industry. Than again the last time I searched for a job was about 2 years ago…

I probably should have said that I do believe starting salaries are lower but once you have some professional experience the salaries tend to equalize across the varied technologies. Besides most companies are more concerned that you are capable of moving between different technologies because the software industry is constantly changing. Someone who only knows PHP but does not have a good grasp of programming fundamentals to transition to other languages is just about worthless. Also, only knowing PHP without HTML, CSS and JavaScript or relational databases is equally as useless. Concentrate on becoming a well rounded developer with core fundamentals, expertise in a single language alongside client-sid stuff. That will make you attractive to most companies even lacking knowledge in a certain, server-side language. Most listings I have seen recently state familiarity with one of several languages because they understand the importance of having a well rounded individual and relative ease of moving between different technologies when programming fundamentals are rock solid.

Oddz:

There in there LA area I see 3 listings for RoR developers that will pay up to $160k per year. Of all the listed jobs I see, none are below $100k.

As for PHP, seems like most are hovering around the $60-80k area. There are a LOT so I haven’t gone through them all … but suffice to say NONE are paying $160k per year. I’ve only seen a couple that go up to $100k per year. One of those in particular required advanced level knowledge of Zend Framework, AJAX, and Magento, so its more advanced to your point.

Those are normal engineer roles not management or senior lead?

I don’t want to piss off the RoR gods but I don’t think there are quit as many people who are experts in RoR in comparison to PHP. Therefore, that makes the RoR expert more valuable. I have never been in a RoR house but from what I know a couple of years ago it was a huge thing. The companies offering those positions probably have software from when the RoR boom was and have no body left who understands any of it desperate for someone. Just a guess…

You have to realize that there aren’t many RoR developers around. Which makes them more valuable than PHP developers. It was a huge thing a few years ago but has died down significantly except for those houses trying to hold onto their dying technology with an abundance of dependencies that would take years to rewrite in something more mainstream like .NET or PHP.

Well to be fair - every RoR role I’ve ever seen seems to expect a sr developer with 5 yrs RoR experience, lol. PHP seemed a lot more balanced. I’m sure the “up to $100k” positions were all sr level. The 60-80k were presumably not but I’d have to go back and look again.

None of them were mgmt roles. All developers with varying degrees of seniority.

They are probably senior positions because most the people who really understood the software have left and now they need to hang the responsibility and blame on someone who knows the technology well. In addition, to developing new features. Doesn’t surprise me. I still think PHP or .NET is a better long term career choice. Though like I said before most programmers could probably pick-up ruby and RoR in a couple months and pretty proficient. Everything is based off the same C style syntax. It is learning the libraries that can be difficult.

Force flow is on the money, it’s all about supply and demand. Salaries are set by those hiring and they are willing to pay those rates because there’s a demand for them but not as much supply.

:slight_smile: Careful now, your bias is showing. Rails isn’t a dying technology by any measure. It’s true it had huge exposure when it was released because it was so different(better) than the rest, Rails has been continually growing ever since it was released.

Heck, the topic at hand is clearly showing that there’s demand for Rails devs.

Oh wow, you’re well off the rails now :wink:

I disagree that “legacy Rails apps” (that even feels odd to write because it’s opposite of the lean / agile / tested / refactored apps that Rails encourage ) are what is driving salary change, the real reason is because of the change in the industry as a whole.

That change is moving server-side technologies and processing to the client-side. This is the real reason there’s a strong demand for Javascript / HTML5 front-end developers at the moment and high salaries - Front end tech is massively important, server-side technology will be replaced. HTML / CSS and Javascript will be around for a long, long time.

I believe most developers who study go through the progression of the learning client-side first, server-side second, and staying with a preference for server-side programming because it’s more advanced… or something.
This is the one of the reasons that Node has had such interest and if there’s a technology I’d bet on that would be it. Thin server. Node allows you to run an extremely light, fast server that could just be used as a glorified JSON API.
Similarly, Rails is turning to the client-side with development like Asset pipeline, pjax, support for precompilers and client-side templating.

Another reason is that Rails teams are smaller and you can afford to pay a smaller & more productive team more.

I clearly do have a love affair with Rails, but now I have new reason to promote it, not only will you enjoy your day job more, you’ll be paid better too.
https://github.com/popular/watched/

Vader: If only you knew the power of the Client Side

It’s a supply and demand thing. As any language becomes more popular, more programmers will enter the field and that will push down wages. Meanwhile, pay for scarce skills will rise. If someone needs to hire someone with a skill that is hard to find, compensation will rise.

20 years ago I had a friend whose father was a computer programmer and he specialized in programming industrial robots. He made about $150,000 a year back then, which would probably be close to $250,000 to $300,000 in modern day dollars. He traveled extensively. That skill 20 years ago was paying more than anything I’ve seen mentioned in this thread. Why? It was a skill that very few other people possessed.

CheeseDude - this is only a partial explanation. Supply and demand only fully explains when there are not easy substitutes. PHP and Ruby on Rails …and .Net and Java can all be used to accomplish the same goals. Thus the unexplained portion of the question is: Why would someone choose to pay 2x as much money per hour to someone using tool A versus someone using toolB, if both tools can accomplish the stated goal? Or put more directly - why pay $90 per hour instead of $45 per hour when the option readily exists?

Thus I assert it is NOT purely a supply/demand dynamic. It is more complex than just that alone.

It seems to be reasonable explanations have come up that RoR has a better brand associated with quality. Also because of their complex nature, they’re typically associated with better and more senior programmers. There’s also the dyanmic of startups who consider value of intellectual property and thus need to be developing in the “hot new thing” in order to maximize value of their IP for later acquisition etc.

Yeah, those observations could be right.

Thus the unexplained portion of the question is: Why would someone choose to pay 2x as much money per hour to someone using tool A versus someone using toolB, if both tools can accomplish the stated goal?

From my experience the Rails applications I have worked on have been higher quality, easier to maintain and developed twice as fast.
This of course is mostly about the team, but they are some of the reasons that I would pay Rails devs more to get my application built if I were hiring.

Interesting. Twice as fast compared to PHP?

I would actually be curious to understand that breakdown a bit more. If we assume the possible reasons for 100% greater effeciency are:

a) Rails framework
b) OO/MVC design patterns
c) senior team
d) specific project requirements
e) other

… what do you suppose the breakdown is? For example, 20% due to Rails, 60% senior team, 20% some other factor?

PS - I have a colleague who recently switched to Rails from .Net. He’s not convinced. He says Rails is a better framework, but the Visual Studio IDE is so superior to any of the open source editors that any productivity gains are washed out by not having the same quality tools. I’m not a .Net developer so I have no idea. Curious if anyone has insight on that detail.

I was comparing with ASP and .NET, I haven’t worked with PHP for the last 4 years aside from WP config.
To be fair I haven’t used the Rails-like PHP frameworks out there so am not sure how they stack up.
The PHP apps that I have worked on have been custom built and about half the code just wouldn’t have been necessary with Rails as it’s provided by the framework or gems.

1. Gems and community 40%
Gems are a huge part of the efficiency gain, nearly any pattern on the web that you want to use is neatly packaged in a gem for you to use.
Rails encourages you not to re-invent the wheel but to write as little code as possible to get the job done.
Search for something fairly modular that you’ve written lately and see if there’s a gem that could have saved you that time https://www.ruby-toolbox.com/
2. Rails conventions 30%
All applications are structured the same so if a developer knows Rails they can get started straight away and don’t have to learn all the intricacies of the application. It’s not just file organisation, tools like db migrations and git make working with a team easier, testing tools etc.
3. Team 30%

PS - I have a colleague who recently switched to Rails from .Net. He’s not convinced. He says Rails is a better framework, but the Visual Studio IDE is so superior to any of the open source editors that any productivity gains are washed out by not having the same quality tools. I’m not a .Net developer so I have no idea. Curious if anyone has insight on that detail.

That doesn’t surprise me, Rails is kind of the opposite to .NET :slight_smile:

Your friend is right that Visual studio is arguably the most complete and powerful IDE out there. But, Agile Web Development with Rails puts it best

Where’s My IDE?
If you’re coming to Ruby and Rails from languages such as C# and Java, you may be wondering about IDEs. After all, we all know that it’s impossible to code modern applications without at least 100MB of IDE supporting our every keystroke. For you enlightened ones, here’s the point in the book where we rec- ommend you sit down—ideally propped up on each side by a pile of frame- work references and 1,000-page Made Easy books.

There are no fully-fledged IDEs for Ruby or Rails (although some environments come close). Instead, most Rails developers use plain old editors. And it turns out that this isn’t as much of a problem as you might think. With other, less expressive languages, programmers rely on IDEs to do much of the grunt work for them: IDEs do code generation, assist with navigation, and compile incre- mentally to give early warning of errors.

With Ruby, however, much of this support just isn’t necessary. Editors such as TextMate give you 90 percent of what you’d get from an IDE but are far lighter weight. Just about the only useful IDE facility that’s missing is refactoring sup- port.

The conventions of Rails mean that you know exactly where to find what you’re after.
.NET encourages complexity that makes tools like VS and ReSharper necessary.

I find Textmate works just fine, but your friend might like RubyMine which is pretty comparable.

It isn’t the tool that determines the market wage, it’s how many people there are available out there that have mastery of that tool. Nobody would “choose” to pay twice as much money to someone if they didn’t have to.

Why do some people smoke Marlboro cigarettes and other smoke Camels? Personal preference. If a client wants something done in Ruby on Rails, that is what they are going to get. And if an existing application is written in Ruby, you are going to need someone with that experience to work on the code.

My personal preference is to keep things as simple as possible. That means straight PHP with as many reusable classes as possible. No frameworks like CakePHP, CodeIgniter, no Ruby, nothing to go obsolete in a couple years time. These frameworks are just an extra thing to learn and, quite frankly, I still don’t see the benefit.

I was paying Microsoft a compliment :slight_smile:
That’s not bias, I don’t require an IDE for Rails development, with .NET it was absolutely necessary.

Or are you disagreeing that Visual Studio is a good IDE?

coldfusion programmers get the most of all! why is that!!? b/c coldfusion sucks so bad that nobody wants to do that bs!

there is a “HATE TO DO THAT BS” factor at work when we talk about pay too. .NET developers LOVE their job. when I was doing .NET it was great!

[off topic]but .NET sucks b/c it OVERKILLS itself…they OVERKILL in many areas…and one of those areas are all the constant upgrades and changes to the language. they come out with a lot of stupid **** with every upgrade. its just dumb as ****. so then developers have to follow the fad and learn the dumb ****, when they could just focus on what they have became a pro at already and get even better at it. and coincidentally, these are reasons i have started to deal with php now, but i hate php b/c it doesnt have a solid IDE…but tehre are some good ones. i use netbeans. but thing…NOTHING compares to the M$ VS intellisense. NOTHING. anyway and something else out there is that php has a lot of good open source frameworks, cms, etc. .NET cant compete in this area. think about WORDPRESS. nothing compares to workpress. anyway…

Well you should never stop developing yourself so sticking just to PHP is not a good idea, you should also know HTML, CSS, Javascript, learn new programming languages like .NET as companies often use, this is just what I’m doing right now…