It seems to me that there are more and more (big) websites being run on PHP and in particular PHP/MySQL. ie: Facebook, Flickr, Wikipedia just to name a few.
On top of this, it would be my opinion that there are less trained PHP developers out there than the rest. Most universities seem to teach Java, and there are many .NET courses.
So, it seems a logical conclusion that the demand for PHP developers should be increasing, and relatively, the supply of PHP developers (in particular highly skilled/qualified ones) is fairly low.
Yet, it is still the general consensus that as a PHP developer you are likely to earn in a lower salary bracket than your Java/.NET buddies. Why should this be the case, when the real world seems to suggest that it is possible, and increasingly likely that equal and better apps can be developed in PHP as in any other language?
disclaimer: this is all based on a general impression and no hard facts!
it’s because php is more or less part of the opensource community, in wich most of the people using it, are programming because they like programming and like sharing all of there code with others, in a way to improve and compare there code with others for optimisation.
You can learn php on a free base, no courses to pay for. Whereas .net/java and mostly all others courses are quiet expensive. It’s obvious that people who followed those courses want to be compensated for their (financial) effort.
Nevertheless I agree with you (or is this maybe because I don’t know .net) and like to be payed for my php knowledge too
The barrier to entry for PHP is so incredibly low that the average Java or .NET developer is going to be much more experienced and produce much better code than the average PHP developer.
There’s no shortage creating artificial demand – every 15 year old with a computer thinks he’s a professional PHP developer. A few jobs from freelance sites or forums like this and they’ve got a portfolio. Much less likely to see someone without training or job experience have Java or .NET apps behind them.
This is a great reason by Dan (two thumbs up) and I also believe it’s because of supply and demand to keep things simple. PHP is easily learnt by people at home or school so therefore in theory the supply of PHP Professionals should be a lot higher than .NET Professionals as the entry costs for learning PHP are minimal thanks to it being an OpenSource language and simpler to learn than .NET (according to some).
Hmm, I’d suggest otherwise. The demand for .NET and Java professionals is higher because most of the larger corporations have bought into the language through marketing or existing technology (e.g. Microsoft/Sun shops), whereas the type of applications required by those companies are only recently starting to get built while most PHP applications remain small.
Because of larger companies investing in .NET and Java - the salary is going to be higher because 1) they want it done right 2) they have lots of money etc. Compare this to most of the smaller companies using PHP with, you can see some of the underlying things behind it.
Pretty much everyone here has said the truth. My take on it being someone who has employed developers and knows PHP myself I can state the following with some degree of experience.
PHP is easier to use and does not have the same amount of complexity present in the statically typed technologies of .NET and Java. .NET and Java require a much higher level of knowledge and experience to make the technologies work effectively - this is generally because they are much closer to the way the machine works itself. PHP itself is a very high level language in comparison that relies on people with skills in statically typed languages to expand and enhance it (eg C++ or C++/CLI if using .NET). As such much of the work required to get a job done in PHP is already done for you where-as with .NET and Java you generally have to do the slog work yourself.
One may argu though that ASP.NET is really easy to use - and it is on the surface - until you need to do some real indepth stuff, where-upon that nice hazy vail gets striped away and you need to learn how the .NET framework really works - and the transition is not an easy one at all. The same with Java and JSP.
It has been my experience that people who develop in PHP - even with the nice new OOP features present in PHP5 - have an extremely difficult time adjusting to the statically typed paradygm and low level programming requirements that come as part of the .NET and Java technologies. Where-as people who develop in .NET and Java can easily move to PHP - and generally complain about how constrained they are. It’s a simple fact that if you need anything truely complex in PHP that you need to result to creation expansion libraries in C++ and (invariably then) recompiling them into your own PHP implementation. Where-as this is not required with developing .NET and Java.
This is not to say that PHP isn’t a superb technology, because it is… but this is due to it’s age and active open source community full of people who can program in C++ who are more than happy to increase the abilities of PHP as a whole for those less skilled. It should be noted that many of the sites you mention, whilst programmed in PHP, generally include customised expensions written in other languages that expand their personal PHP implementations. The biggest organisation that does this is Yahoo!, who use PHP throughout their implementations; Although all of their PHP developers are required to have a basic understanding of C++ and/or Java. The simple fact is that Yahoo! still uses C++ and Java developers to expand their personal PHP implementation.
People pay .NET/Java and C++ developers double or more than PHP developers for a very good reason. I hope this post helps to explain some of these reasons adequately.
Java and .NET are programming languages that were/are aggressively marketed by corporations like SUN and Microsoft. They have expensive certification programs and top managements in many companies rely on these brand names. The cost to acquire knowledge is made higher because the community does not share as much as you do in the PHP community.
PHP is a pure programming language grown with it’s community whose primary objective was to write good open source code based on an open source programming language.
If you are a pretty good PHP programmer you can surely make as much money as any other programmer and even get into more interesting corporations.
A good PHP job pays about the same as a .NET or Java job. The trouble is finding a GOOD PHP job, since there are so many crappy ones out there.
To give you some idea, when I applied for a PHP job a few months ago, their salary offer was within 5% of most of the .NET/Java jobs in my area, but the benefits (health insurance, retirement, bonuses) were some of the best I’ve ever seen in a company. I’ll freely admit that these jobs are harder to come across than the jobs you’ll see posted online that basically pay intern rates, but nobody ever said a good job was easy to get in any industry/specialty.
Have you thought that maybe you have a skewed view of those stats? Lots of .NET and Java developers aren’t necessarily web developers, while all PHP developers are basically “web developers”. Someone building a huge distributed enterprise app is going to be paid more than someone knocking out webapps regardless of language.
Regardless as to whether the stats are skewed that is how the industry pitches the cash. Also there is more knowledge required to develop using static typed languages than dynamic typed languages. Having lead teams of developers, recruited developers and knowing PHP, .NET and C++ myself I can honestly say that in my oppinion (rightly or wrongly) the amount of money paid to PHP developers in comparison to .NET/Java/C++ developers is very representitive of this - and this is the oppinion of many of the corporates out there.
Sorry if thats hard to read - thats the simple truth of it.
Also there is a lot more experience and skill needed to build ‘huge distributed enterprise apps’ so yes I agree, people doing those would be paid more. These type of skills are not usually (note the usually) represented in the vast majority of PHP only developers.
Besides: This sort of thread will always be a sensitive subject, especially on a site created in PHP, primarily for PHP and mostly full of PHP users.
This makes sense when I see topics about open source PHP projects. A lot of the posts complain about finding spaghetti code and security holes. And if you’re stuck in the procedural PHP 4.2 days, things like stacks, data structures, design patterns and object usage will go “wooosh” over your head. I at least had the privilege of taking some CS courses so I get to see some things that other starting-out PHP coders may not get.
The first language I learnt was Java, then ASP.NET, then in while in industry, PHP.
I have also coded in Assembly and C++, I enjoy coding in PHP the most. While it’s true that when you look at the jobs offered it may be true that other languages pay more, it doesn’t mean it’s what you will enjoy more.
Many good points made already, this may have already been said but the companies using .NET and Java are typically bigger corporations with a lot of money as compared to the PHP sites. I’m sure a Facebook PHP developer has a comparable salary to Java or .NET jobs. I used to work a support job for J2EE software and I can tell you a vast majority of my former company’s clients were banks and insurance companies who could certainly afford to pay the high rates and get the job done properly… although off the record, some of the customers I’ve dealt with (who were all supposed to be software developers) really didn’t know what they were doing, but that’s another discussion.
I would attribute the disparity to the kind of apps that are normally being written in PHP and kind of customers who get those written.
First, no critical applications are being written in PHP (save for a few instances, may be). Therefore, the clients do not want or probably do not have deep pockets to pay a fat paycheck.
There aren’t just enough good PHP jobs around and no one is going to pay you a lofty salary if he’s just a everyday blogger who wants you to put together a generic CMS or a owner of a mom-and-pop store who wants sell some stuff over internet or just an amateur entrepreneur who dreams to make a killing out of this new supposedly web 2.0 app (probably by putting up adsense ads). They don’t care how secure/sturdy your code is. They just want a job done asap with minimum cost.
I become frustrated when clients do not understand why did i put in so many hours into making a form ultra secure.
I put a lot of blame on the hosting industry for that since they were so reluctant to upgrade to PHP5.
Guess what, even if it paid less I’d take the Facebook job over any boring bank job
I see lots of generalizations in this post and no evidence. I know of at least 4 companies in my local area who use a hell of a lot of PHP to help run their business. And what kind of form are you writing where it takes “hours” to make it secure? PHP doesn’t hold your hand when it comes to security issues but it shouldn’t take that long.