Jump to content

How to test if a PHP coder is good or not?


345dfg

Recommended Posts

Hi guys,

 

Sorry if this isn't the right section of the forum, but I need some help and didn't know where else to post this...  :shrug:

 

I sometimes hire PHP programmers. Most of them look great initially (respond fast, are courteous, say all the right things etc) - only to be disappointed later because their work was sub par (non-scalable or "spaghetti" code).

 

My problem is that I don't know PHP so I can't really test their abilities first hand (while I could understand that a writer isn't a good one if he said "O hai deer sir h0w r u?").

 

Are there any super-quick tests that would allow me to test a PHP programmer's competence over Instant Messenger?

 

Code that would take them less than 1 min to write but would be really "telling" of their abilities.

 

I would really appreciate your help with this.

 

Thanks,

 

George

Link to comment
Share on other sites

If you want to avoid spaghetti code, all you have to do is ask:

 

Which of the Gang of Four patterns do you consider to be most seldom useful and why do you think that is?

 

If they respond coherently and don't pee their pants they probably know at least something about how good code (in one of two possible styles anyway) /should/ work, though it's no guarantee they aren't lazy and won't ignore what they know to finish things quickly. The only way to know that is to ask for references and check their references, check their references, check their references.

 

If they claim to have experience working with large development teams, ask them what their favorite version control system is and why they feel it's superior to the alternatives.

 

There's all kinds of questions that you can't fake the answers to, it's actually a great privilege when it comes to hiring programmers versus people for other positions:

 

What do you think of PHP SPL and what do you feel its advantages or disadvantages are over its non-object oriented counterparts?

 

Although it helps, you don't even necessarily have to know the technical answers to these questions. They'll be afraid to completely BS you because the fact that you're asking will make them assume you /do/ know the answer, and you'll know if it takes them 5 minutes to research the answer on Wikipedia that they didn't know what you were talking about.

 

You can also start by looking for people who are certified in PHP:

http://www.zend.com/en/store/education/certification/yellow-pages.php

 

Additionally, if you feel comfortable really "testing" them, you can barrow sample questions off of the exam that lends that certification, like these:

http://shiflett.org/blog/2005/apr/zend-certification-self-test

 

Link to comment
Share on other sites

Which of the Gang of Four patterns do you consider to be most seldom useful and why do you think that is?

 

If they respond coherently and don't pee their pants they probably know at least something about how good code (in one of two possible styles anyway) /should/ work, though it's no guarantee they aren't lazy and won't ignore what they know to finish things quickly.

I'd never heard of the Gang of Four, as I've never really read programming books (reading my first one at the moment though).

 

Eh, personally, I think it's hard to tell. Unless you can look at some of their projects, including source code so you can quickly browse it and check out how they write (also a lot easier if you can understand the code just a little).

Link to comment
Share on other sites

If you want to avoid spaghetti code, all you have to do is ask:

 

Which of the Gang of Four patterns do you consider to be most seldom useful and why do you think that is?

That's ridiculous. You do not have to know anything about object oriented concepts, design patterns, etc to write clean & efficient code that is scalable. If the person asking the question is not a programmer then the response could be a load of bs that sounds good.

 

My advice is that if you require development work done, i'm guessing that you are a designer, you should team up with a proper company with a portfollio of clients. It is a bad idea to use many developers on the same project as each will take time to work out the others code, each will have their own style of coding, and most likely they will miss things if the code is not well documented and suggest a rebuild because the existing code is a mess.

If you are the website designer then state your requirements to the development company. Use your own hosting so you have FTP access, and specify that you will be modifying templates to change look and feel. A good developer will separate all the logic from the layout so you cannot break the application.

If you stick with the same developers over the life of the project you should not have the issues you have now.

Link to comment
Share on other sites

That's ridiculous. You do not have to know anything about object oriented concepts, design patterns, etc to write clean & efficient code that is scalable. If the person asking the question is not a programmer then the response could be a load of bs that sounds good.

 

The nail right on the head!

Link to comment
Share on other sites

It didn't "hit the nail on the head"

 

I explicitly said:

 

probably know at least something about how good code (in one of two possible styles anyway)

 

If you're not familiar with the Gang of Four patterns you're probably not a highly skilled OO developer. I specifically said the test was for OO skill. I of all people would not argue that OO is the only correct programming paradigm in PHP. But, if the person you're interviewing claims to be an expert OO developer, they should be able to answer that question.

 

I also addressed this at the time of my original explanation:

If the person asking the question is not a programmer then the response could be a load of bs that sounds good.

 

If you're on IM, as he said he was, they will not know whether you're a programmer or not. And that you would be asking that question would give them 0 reason to believe that they have any latitude to BS you.

 

You'd certainly have to be much more of a programmer to deduce their knowledge by looking at their code, versus seeing how competently and quickly they can answer a high knowledge-level question.

 

Completely ignored, I noticed, was my suggestion to also use questions from the Zend Certification practice tests, which tests for ALL PHP paradigms including OO and procedural. The recommendation to start with Zend Certified programmers if they're available is a no-brainer.

Link to comment
Share on other sites

If you're not familiar with the Gang of Four patterns you're probably not a highly skilled OO developer. I specifically said the test was for OO skill. I of all people would not argue that OO is the only correct programming paradigm in PHP. But, if the person you're interviewing claims to be an expert OO developer, they should be able to answer that question.

 

Each to their own I suppose then.

Link to comment
Share on other sites

If you're not familiar with the Gang of Four patterns you're probably not a highly skilled OO developer. I specifically said the test was for OO skill. I of all people would not argue that OO is the only correct programming paradigm in PHP. But, if the person you're interviewing claims to be an expert OO developer, they should be able to answer that question.

 

Each to their own I suppose then.

 

It's pretty difficult to ignore the gang of four when you program in OOP.

Link to comment
Share on other sites

If you admit you don't know anything about programming, why are you the one doing the hiring? There is no magic question or "quiz" or other such crystal ball solution for determining whether you hire a winner or loser.

 

Invest in learning about programming enough to at least spot good code from bad code yourself.  Or hire a headhunter to do your hiring for you.  If neither are an option...  how much do you currently budget for programmer rate-of-pay? Be willing to fork over more $$/hr.

 

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.