Are good PHP developers really that hard to find?

From what i've heard from competent PHP coders is that it is very easy to write bad code and get it to work and what you end up with is slow, unsecure code. I also always thought that PHP is based on C++ anyway, so someone who is good at C++ should be able to code PHP well, however if you know C++ well, would you really want to code PHP all day? From what I've seen, good C++ coders earn a fair whack if they are good.

Your right, it is VERY easy to write bad code in php just to get something working because it can be a very lazy language if you dont know the right way of doing things. I picked up php in a few short hours coming from a c# background and found it very easy to bodge stuff together and get a prototype up and running in no time, it's so quick in fact that I never actually bothered learning the proper way to do it :P I always look at my code and know it can be done better, it's just finding the time (i write stuff in my spare time, it's not my job although i wish it was) to write those improvements.
 
BTW, put a job advert up on stackoverflow.com. Pretty cheap and there's a money back guarantee if you're not happy in any way.
 
Your right, it is VERY easy to write bad code in php just to get something working because it can be a very lazy language if you dont know the right way of doing things. I picked up php in a few short hours coming from a c# background and found it very easy to bodge stuff together and get a prototype up and running in no time, it's so quick in fact that I never actually bothered learning the proper way to do it :P I always look at my code and know it can be done better, it's just finding the time (i write stuff in my spare time, it's not my job although i wish it was) to write those improvements.

I am in the same boat :D its such a nice language to hack away at and it never really moans! This is where C# is better than PHP as it forces them to really write OOP code as opposed to messy html and php mixed code with bodged together scripts.
 
Yep, it’s hard. We've recently hired a PHP developer and out of 300 applicants we interviewed three. Two of which were decent.

It is really hard to get somebody that is a: decent with code and b: has the personality and c: management skills to tie it all together. Like you we have some complex systems we need to develop quickly and correctly.

We are looking at hiring co-ops next and hope to mould them into our company over time with the hope we find a good one and offer him / her a job. :)

Good luck with your search. :)
 
Update:

Eventually I've managed to narrow this down to 3 candidates (1 interviewed so far) who actually appear to have some talent, from around 50 Joomla monkies who have applied. I've sent the final 3 a coding challenge. Let me know what you think, bearing in mind I'm not really a developer myself... It's basically a very dumbed down spec for a system which I wrote. If I'm paying £30k+ for a developer, I expect them to do a much better job of it than me :D.

Adam said:
When providing a shared e-mail service using the Exim MTA, spam is a major concern. We are able to limit artificially the number of messages a user can relay over a given time period at the transport level but we required a passive, exim independent, "early warning system" to alert if an IP address had sent more than 500 messages through an SMTP relay service in the past 30 minutes.

My solution to this problem was written in PHP (due to familiarity) but any language is acceptable.

Requirements:

1) The check must use the exim main log so that it can be deployed on an exim instance without modifying the configuration
2) The check must be as close to "real time" as possible
3) The check must have the ability to whitelist IPs without restarting the script
4) The system must notify an e-mail address of a potential spammer, including where possible a sample e-mail
5) The system must notify only once per IP
6) The script must run as a daemon (or pseudo daemon) and prevent itself from starting more than one instance
7) It must handle the log file being truncated by another process


You can assume:

1) That Exim is configured with the default configuration from the RHEL5/CentOS 5 RPM, default logging
2) That fixed_login authenticator is used
3) That the script is run as root
4) That nobody is able to relay without using the fixed_login authenticator

This should take 1-2 hours. Points will be awarded for:

1) The elegancy of the solution - the less code, the better
2) Performance and resource considerations
3) Lack of bugs
 
Hmm, that's a problem i'd solve with a combination of syslog and somthing like Splunk, to me that isn't something a developer should be doing.
 
Hmm, that's a problem i'd solve with a combination of syslog and somthing like Splunk, to me that isn't something a developer should be doing.

I had to come up with something which required some sysadmin knowledge but which wasn't too specialised and which would only take a couple of hours at most. Granted it's not perfect but it should be a pretty good test of the kind of abilities I'm looking for.
 
Often presenting a scenario or problem to a candidate isn't necessarily about the end solution. I'd rather see somebody who breaks down the problem logically and systematically, i.e. a thinker.
 
Often presenting a scenario or problem to a candidate isn't necessarily about the end solution. I'd rather see somebody who breaks down the problem logically and systematically, i.e. a thinker.

Very true - in fact thats what impressed my current boss about me during interview - despite the fact at the time i had no previous programming knowledge!

I was just throwing my 2p - in fact if a candidate comes back and says 'heres how to do it in script, but it would be better using standard monitoring tools...' then i'd be more impressed - it shows knowledge and understanding of other available solutions - either through experience or research.

Is this a programming or engineering role?
 
It's mostly coding but some knowledge of both unix and Windows is essential as most of the code will be automating sysadmin related tasks on both platforms. He/she also needs excellent problem solving ability as part of the role involves debugging customer code, essentially proving to valued customers that their website doesn't work because their developer is an imbecile rather than there being a problem with the hosting!

His/her predecessor had all of the skills required, he was just missing the care and attention to detail aspect which I'm determined to find in the new candidate.

I don't think there are any standard tools which would complete meet the brief I've set out (which is a dumbed down version of the real system which I've already written) but if the candidate wants to suggest something as well as writing the code then fair play :).
 
The test you have given the prospective candidates seems very fair. I would develop a solution to meet all your requirements well within the allocated time. I am a senior web developer and I am responsible for managing and developing bespoke web applications.

The projects i work on are all very large projects designed to do very specific tasks. Some have been in development for years (converting a Windows Desktop application to a entirely web based application).

All code i write is object orientated using the Zend Framework. Old Skool procedural PHP is for the hobbyist and isn't really suited for large enterprise applications. Which brings me on to my next point.

This past week or so i have been doing what you have been doing interviewing candiates for a new position. a lot of them have the knowledge but lack the experience to implement it. a lot of the supposed PHP developers hadn't heard of the Zend Framework any other PHP Framework for that matter some even showed me some sample code that was procedural in form.

I have yet to have one that has met the grade we are looking for so this is proving quite a task to find a competant PHP developer.
 
Hi have been programming with php on and off for a couple of years, it's main problem is that's so loose; I had a play around with C# over Christmas and I really started to realise how sloppy my code was. Now with experience with a forced OOP language my code has really improved. I think because most of my little projects have been small I had stayed coding procedurally.

Now I am using OOP all the time, my code is so clean and lovey, using these newly applied concepts I can create A new page with 5 lines of code, I love it NO SLOP!
 
He/she also needs excellent problem solving ability as part of the role involves debugging customer code, essentially proving to valued customers that their website doesn't work because their developer is an imbecile rather than there being a problem with the hosting!

Ouu I got a mention! :D

Oh :(
 
Badly. Thanks for asking though :).

Most of the applicants admitted the challenge I set was beyond their capabilities. Those who completed it made a poor attempt. If it does the job but is full of obvious logic errors and consumes 100% of a CPU core, it's not a solution... that was from a PhD who was insistent that he was perfect for the role.

The problem is with the salary. I'm going to re-assess how much I'm willing to pay and re-advertise the role.
 
Hi Adz, I'm a seasoned coder (10 years +) and have recently started to use PHP (OO). I do like it a lot but it's no .NET. Coming from a lot of Classic ASP coding though, it's really impressed me. So anyway - I'm curious - what is the challenge??? :)
 
Back
Top Bottom