My experience in US/Ohio (traditional employment not freelancing) is that good PHP developers with professional qualifications & experience (CS degree, high volume websites, ecommerce, large scale CRM/CMS) are hard to come by. True, the jobs that require this experience aren’t nearly as plentiful as the kind you would find on freelance sites but my last three employers were all having difficulty (even at the top of the salary range for devs in this area) finding qualified PHP programmers to maintain and extend their applications.
I can’t speak to how much freelancers on those sites make but I can’t imagine it’s very much. You’re dealing with the bottom of the barrel as far as customers are concerned and competing against people who are willing to do the work for a few dollars an hour.
What’s more, your potential customers aren’t looking for a “good” PHP programmer they’re looking for a “cheap” PHP programmer as they see programming as a commodity. Because most of them don’t appreciate the difference between poor programming and good programming they’re not willing to pay a premium for it.
So, if you’re good, I would specialize in something that has a higher perceived than general PHP programming where you can differentiate what you offer from everyone else. Things like payment processing, Wordpress/Drupal/SugarCRM CMS development, or Zend/Symfony framework development, etc.
Look to bring good skills and experience to a market that values them and where you can effectively market them instead of trying to convince people with a $100 budget your skills are better than the guy bidding $15 for the job…
Harvest, I am a London based designer but also have strong PHP skills. I earn between £25 and £30 per hour and there is lots of work right now. If I were outside London it would be more like £20 per hour. Most of the client I work with would not consider overseas freelancers.
In regards to the above, it really depends on what their offering and what skill or experience level they have. The average PHP coder who uses a freelance bidding site will ultimately (on average) not make that much money as their usually doing odd jobs and their competing against third world nations where people are willing to do a lot of work for very little money. However if they have their own website and run their own business (or work as a freelancer) they can ultimately make quite a lot of money if they have the experience and business / marketing skill to sell themselves to wherever their skills are needed. There’s no real average income to speak of because each person offers slightly different services from everything like building PayPal scripts or customising CMS’s right up to enterprise level complex solutions or selling products they build in server-side environments. Being a freelancer isn’t easy but if you have the skill you can get yourself (like with all aspects of the industry) a solid client base and make a good amount of money - if you’re (however) after a stable income then you may want to work in an established business.
The choice of programming language is actually the least important factor in success as a programmer. Good software architecture can be applied across all languages and, unfortunately, too few programmers have the initiative to become more than a code monkey in whatever language they arbitrarily decide is “best”.
Concentrate on learning good architecture and applying those principles to whatever language is appropriate for the job at hand…
PHP is a good starter programming language to get your feet with. However if you want to go far in the industry you should plan on taking some classes or teaching yourself more advanced languages (.jps, .net) for example which I see other posters have commented.
You mention you are not very good with php you might want to think about if programming is right for you as a career or maybe just project management is a a career you could look into if programming is not a strong point for you.
If you do want to jump into a career as a programmer your best bet is to specialize in a specific niche such as developing software for a specific industry doing this would make you more marketable within the industry.