I'm hiring new PHP developer but I myself know very little PHP programming. Do you guys know some kind of PHP test I can use to test how good he is Thanks
Take a good few hours to test his first script for bugs. If its OK then he is probably quite good. Any real programmer won't want to take an exam to prove themselves. Its best to give them a script to create and see what they make of it.
Alternatively, give them some script that you already have and ask them to add a specific feature to it... I like the way mad4 is thinking but no matter how you do it, you're not going to be able to tell really how competent they are... unless you're a good tester at least. If you can work out lots of ways that you might be able to break a script, that's a good way to test that they've thought about those different things as they've developed... Also, 'feature' type tests (eg. "write me a bubble sort function here on this piece of paper") suck, if only for the fact that that's not how most people work in real life. In reality, most people have quick access to function lists, debuggers and context-sensitive editors that highlight errors as you go and if those people don't use them, I see that as deficient, to be honest. Your developers are there to create something, though not necessarily 'perfectly' in one go. They use their tools to their advantage. For a really, really poor analogy, think of it this way: would Michelangelo have been frowned upon for using different sized chisels when making David? No! His goal was not to show how well he could use a particular chisel, his goal was the final sculpture and it's a testament to him that he used his tools effectively. That's how I see development: the language itself is almost a tool: you don't need to know it that well to be able to use it, so long as you know what you're looking up when you need a little help
Wow, that analogy was beautiful. At the same time, I think we are only as strong as the tools we are given. As the old saying goes, their is no sense in recreating the wheel!
The problem with programming is that there are often many ways of achieving the same result. However, these various routes often have different costs and advantages.For example, one way may be simpler to write but have more overhead in processing. At the end of the day it is catch 22. The only real way to tell if you're getting decent code is to know PHP yourself....which would mean that you wouldn't have to pay for it in the first place. Since you know very little about PHP, you're going to have to trust that he'll provide code that is up to scratch.Perhaps it might be better to find a coder that has a reputation and comes recommended by somebody you trust instead of trying to verify an unknown quantity, especially if it is a large project with high costs involved. Good luck
Just ask him to create something, with all of his tools available. Ask him to create a login script with database interaction. Etc. If he knows what he is doing, their will be no problem at all! Or maybe a series of various tests, it just depends. Its your business, not ours my friend!
I agree with the practicle test others have suggested but if you want to give them an actual test check out http://www.brainbench.com/
There is also the Zend PHP Certification. Probably not a "tomorrow at the interview" option. I wrote a little about the differences between expert and novice programmers on my blog. The best you can hope for via testing is to weed out the truly clueless and annoy the truly expert.
If you're able to, try and get references from previous projects hes worked on. As mentioned, it's difficult to really give a generic "test" for a programmer since there are quite a few variables involved. Unfortunately, the best way to judge how good a programmer is, is have them program something.
I also prefer testing my PHP guys with Brainbench, also I do not take people in that is not a Zend Certified Engineer. But also depends on what magnitude of dev it is.
Give me code that could be refractor. If he find nothing wrong with the code, it's a bad sign, but if he/she looked at the code and say, this should be refractor and design differently; that is usually a good sign. I once asked a guy before I hire him...what is the three basic foundation of computer science. I think interviewing a programmer is just not enough, you have to test them and time them at the same time. I had hire someone who was fresh out of college before, they do assigned task as they are doing assignments(sorry, no offens to the students)...it worked and produce the answer but it is not optimized what so ever. Another example I could give is when a programmer disagree with you just so they can look good. For example, I mention to the new hire as a humble friendly comment...â€wow this could not be written in less code to do†the response I got was same code with all in one line with ‘;’ and he told me that he did it all in one line. LOL sure enough, that person did not last too long. Be very careful when hiring PHP programmer as many claim that they are so good. IMHO, hire someone who is passionate about computers and programming, those are the one usually the best candidate.
Sad part is, it's a try story. I should post that on thedailywtf.com, they show some funny codes in that place.