Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Measuring LAMP Competency?

kdawson posted about 4 years ago | from the diogenes-as-tech-recruiter dept.

PHP 453

An anonymous reader writes "Our company is getting ready to hire a number of programmers. While the majority of the prospective candidates do have good-looking resumes, we are looking to see if we can get some clear metrics in the assessment process. After a little research we have learned that there is a well-established PHP + MySQL training and certification process, and some of the candidates are already certified. There is also a candidate with a good portfolio, a lot of experience, and no certification. Most of the applicants also have some college/university science-related education. So our goal is to be able to somehow measure LAMP overall competency as well as basic computer science concepts such as BNF, data normalization, OOP, MVC, etc. How do Slashdot readers go about this kind of characterization?"

cancel ×

453 comments

Previous work (1, Insightful)

Anonymous Coward | about 4 years ago | (#32927628)

Look at things they have done! Not just the outside, check the code, look at the database structures etc.

Re:Previous work (3, Insightful)

JWSmythe (446288) | about 4 years ago | (#32928152)

      In the past, I've asked people to send me sample code. Some was protected by various agreements, so they sent me snippets that were enough for me to review their coding style, without giving away the details of their work.

    The clincher is always the interview. I don't just sit down and talk with someone about what they know, and let them brag without anything supporting it. Ask real world questions. Have them write a few lines of code to do something on a piece of paper or whiteboard. It doesn't have to be syntactically perfect, but it has to be close.

    My interviews were more for sysadmin stuff, so having them describe what they'd do for a task can be very revealing. Like a question like this:

    "The COO has come to you, because no one else is available. The CEO is flipping out. There's a server on the network running some common variety of Linux. Transfer rates from it to any other machine are very slow, regardless of the protocol. i.e., http, ftp, rsync, samba are all slow. What do you do?"

    I'll have established what the real fault is in my head, and give them appropriate answers to what they say to do.

    It's a pretty simple one to solve, or at least bring to a point where authorized assistance is needed. I've gotten all kinds of answers to that one. Some answer "call someone else for assistance", which I tell them the someone else is unavailable. Some just reboot it, which isn't a valid answer as a first step. I tell them "No, it's a production machine. You can't." Some actually start pinging, checking ifconfig for errors on the interface, and check the interface duplex. Obviously, the last set of answers is the right one.

    Adding extra stress is always useful, if they don't get it right off. A little yelling and table pounding is enough for that. "The COO is demanding an answer now! [pounding on table] We're losing money! If you don't get this fixed, it's your job on the line!" Some people do fine. Some just stare at you dumbfounded without a clue if they don't have Google in front of them.

    When it's my interview, and my decision (it's not always both), I evaluate how good the answers were, even if they were wrong. Did the guy show a competent level of knowledge, or does he just think he can do the job and has no clue. A few will float to the top, and quite a few get put to the bottom of the list.

ask to see a server they configured (1, Informative)

jacktherobot (1538645) | about 4 years ago | (#32927640)

The answer seems simple. Ask for guest access to a server that they configured. If they don't have something like that you could set up a simple lamp server and have them perform some basic tasks.

Re:ask to see a server they configured (-1, Offtopic)

Anonymous Coward | about 4 years ago | (#32927676)

LAMP reminds me of that time I stuck my dick in a lamp socket where the light-bulb goes.

I'm never going to try THAT again. Definitely not recommended.

Re:ask to see a server they configured (-1, Offtopic)

Anonymous Coward | about 4 years ago | (#32927808)

HA HA HA HA

You tea-smoking cockbagger!

Re:ask to see a server they configured (1)

BigDaveyL (1548821) | about 4 years ago | (#32928146)

I think you have that reversed there buddy...

Re:ask to see a server they configured (4, Insightful)

pak9rabid (1011935) | about 4 years ago | (#32927690)

The answer seems simple. Ask for guest access to a server that they configured. If they don't have something like that you could set up a simple lamp server and have them perform some basic tasks.

This may be good for interviewing people for a sysadmin position, but I fail to see how configuring a server has anything to do with the applicants ability to develop software.

Re:ask to see a server they configured (0)

Anonymous Coward | about 4 years ago | (#32928088)

I concur. An inability to setup a LAMP server does not mean they are a poor developer.

Re:ask to see a server they configured (5, Insightful)

WankersRevenge (452399) | about 4 years ago | (#32927806)

As someone who has run a dedicated server for seven years, I would never grant any unknown third party access to my server. Even as a guest with almost no permissions. That's just inviting trouble into your house. Give them code samples, answer questions, provide references, but keep the digital doors locked unless you don't value the data on the machine.

Re:ask to see a server they configured (0)

Anonymous Coward | about 4 years ago | (#32927874)

Ummm...

It's really not that hard to set up a virtual server. I don't think jacktherobot was suggesting that you do this exercise on a production machine. In fact, "set up a simple..." implies the opposite.

Re:ask to see a server they configured (0)

Anonymous Coward | about 4 years ago | (#32927968)

> The answer seems simple. Ask for guest access to a server that they configured. If they don't have something like that you could set up a simple lamp server

That implies the exact opposite of what you said.

Re:ask to see a server they configured (0)

Anonymous Coward | about 4 years ago | (#32928024)

In fact, "set up a simple..." implies the opposite.

There's also the flip side: "Ask for guest access to a server that they configured." If I had a server set up and a prospective employer wanted guest access as a measure of competency, I'd quickly run away and never look back. I have just as big a responsibility to protect my stuff as a company has to protect theirs.

Re:ask to see a server they configured (1)

weeboo0104 (644849) | about 4 years ago | (#32928094)

Agreed. I had one interviewer last year ask for access to previous customer data. I used to work in the Banking and Energy Generation/Supply industries, so I simply told the interviewer that I value my business relationships too much to turn over confidential information to a stranger. If you want to know if someone knows how to configure Samba, give the applicant the criteria you want fulfilled, have them write a smb.conf file, run testparm against it, and then see if it fulfills your criteria. Every admin has their personal preferences how to code and solve problems. If you find someone who can solve yours, let them do what they do best and hire them.

Re:ask to see a server they configured (1)

justfred (63412) | about 4 years ago | (#32928032)

And vice-versa. If they do give you access to their server - FAIL.

Re:ask to see a server they configured (0)

Anonymous Coward | about 4 years ago | (#32928052)

VMWare instances I think.

Bob

Ignore the certificates (5, Funny)

Anonymous Coward | about 4 years ago | (#32927646)

Get them to write a trivial app.
If it contains 'INSERT INTO table ('. $foo. ');'

Kill them.

Get people to talk about what's on their CV. (3, Insightful)

djKing (1970) | about 4 years ago | (#32927664)

If they can't talk intelligently about what they say they've done... next!

Re:Get people to talk about what's on their CV. (1, Insightful)

Anonymous Coward | about 4 years ago | (#32927698)

This

I take real experience over a piece of paper. Anyone can study for a test.

No faith (4, Insightful)

jvillain (546827) | about 4 years ago | (#32927680)

Personally I have no faith in certifications at all. I know tons of people who are certified out the yazoo and can't do a darn thing. I also knows tons of people with no certifications especially in open source where lots of us were working long before there were certifications, that figure things out on their own and dig for information. The people that are driven to dig are the ones that rock the house. Needing a course to learn is some what of an automatic fail to me. You will learn far more about which type of person they are in the interview than you will from a certification.

Re:No faith (4, Funny)

badboy_tw2002 (524611) | about 4 years ago | (#32927744)

Its the same way with doctors and civil engineers. I'll take my bypass (both heart and highway) from the guy who was to busy getting shit done to get board certified.

Re:No faith (0, Insightful)

Anonymous Coward | about 4 years ago | (#32927784)

Not the same thing, numb nut.

Re:No faith (5, Insightful)

Gulthek (12570) | about 4 years ago | (#32927906)

Unfortunately IT certification has nowhere near the requirements and rigor that doctor and engineer certification requires.

If IT certification were more than "pay $amount -> get cert" then I'd be all for giving them credence. But they aren't. Currently they just highlight the programmer or IT professional who wants to hide their incompetence with paper.

Re:No faith (1)

NetNed (955141) | about 4 years ago | (#32927958)

Its the same way with doctors and civil engineers. I'll take my bypass (both heart and highway) from the guy who was to busy getting shit done to get board certified.

Well as long as he slept at a holiday inn last night of course!

Re:No faith (0)

Anonymous Coward | about 4 years ago | (#32928102)

That's Holiday Inn EXPRESS you insensitive clod!! ... gah, doesn't ANYBODY pay attention to commercials anymore!!!!

Re:No faith (1)

fluidbyte (1663117) | about 4 years ago | (#32927988)

Its the same way with doctors and civil engineers. I'll take my bypass (both heart and highway) from the guy who was to busy getting shit done to get board certified.

Everyone needs some form of training, granted. But I'll take MY bypass from the guy who dealt with the 'special circumstances' and has had to work on their own to figure out a solution rather than the one that rests on his laurels.

Re:No faith (2, Informative)

Anonymous Coward | about 4 years ago | (#32928006)

That is a retarded statement. Certifications for both doctors and civil engineers are completely different than what he is talking about. Both of these professions involve people dying when it is not done properly. For both professions, it is not a matter of just completing your degree and getting licensed. Doctors work as interns for years. In addition, a PE license requires 4-years of qualifying experience after school.

I understand what you are saying here. I am a licensed Civil Engineer and I have worked with many licensed engineers that should probably not be and I have worked with unlicensed people that are exceptional. A certificate on your wall does not suddenly make you a genius, but both a medical license and PE license are non-trivial to obtain.

Re:No faith (1)

Monkeedude1212 (1560403) | about 4 years ago | (#32928150)

Tower, this is Ghost Rider requesting a flyby.

That's a negative, Ghost Rider, the pattern is full.

WHOoooooooooooooooooooooooooooooooooooooosh!

Re:No faith (1)

fluidbyte (1663117) | about 4 years ago | (#32928026)

...plus, who has a body or a large expanse of land and some concrete laying around? Ask that same question about computers and you start to see that your metaphor is full of crap.

Re:No faith (0)

Anonymous Coward | about 4 years ago | (#32928064)

I'll have my bypass done by the doctor that does the most of them, or other cardio thorasic surgery each year.

And I'd prefer by bridges and sewage treatment plants designs from civil engineers that crank out the most of those each year as well.

Re:No faith (0)

Anonymous Coward | about 4 years ago | (#32928084)

That is a retarded comparison - comparing a code-monkey to a medical professional. I've worked with programmers with degrees most of my life, and with the except of exactly ONE such programmer (who was self-taught before he even went to university anyway) they were all completely pathetic at actually working. They could sit and spew off a bunch of happy horse-shit theory all day long, but couldn't implement a damned thing.

Degrees and certifications in IT prove only one thing - you had the money to go. It doesn't prove you have the capabilities to actually do the job. That is why a lot of large companies will administer aptitude tests to ALL prospective employees, regardless of degrees or certifications.

"The proof of the pudding is in the tasting".

Re:No faith (1)

StuartHankins (1020819) | about 4 years ago | (#32928158)

I'm sure you're joking, but a cert has almost zero value. Too many mills and too many cram courses mean the cert holder often can't do the job. It's too bad, really, as that was once a useful filter for candidates. The last candidate we hired had no certs but most of the 12 or so applicants before him did -- and guess what, they couldn't do trivial things, not even explain how they might do it in pseudocode let alone use pencil and paper to write a SQL statement.

Perhaps the half-dozen word problems were the culprit. Too often people are stymied when presented with a written problem. It's a sign of our failed educational system (speaking for the US).

Re:No faith (4, Insightful)

Capt.DrumkenBum (1173011) | about 4 years ago | (#32927770)

I mostly agree with you, but some people go out and get the certification so they can get past the HR droid who only knows "Looks for X certification."
I am a big proponent of hands on testing. Sit them down in front of a machine and give them a task to do. Time them, and then look at history, to see what they did and how they did it. If you see any red flags then don't hire them.

Re:No faith (0)

Anonymous Coward | about 4 years ago | (#32927894)

I'd take the one with good portfolio, a lot of experience, and no certification any day (and 3x on Sunday). A cert proves someone passed a test, no more. A programming test isn't a bad idea.

Re:No faith (4, Insightful)

Lunix Nutcase (1092239) | about 4 years ago | (#32928172)

Nice false dichotomy there. There are plenty of people who actually know things AND have certifications.

Needing a course to learn is some what of an automatic fail to me.

Why? While self-learning is nice there are plenty of self-taught programmers and sysadmins that are complete garbage because they taught themselves to do things the wrong way and since they had no positive or negative feedback from someone like an instructor they have no idea that they are even doing things wrong.

Seriously? (1)

papasui (567265) | about 4 years ago | (#32927688)

How to interview someone is seriously a topic on Slashdot? Must be a pretty slow day waiting for that Apple announcement.. Anyway I do the technical interviews at my large company (Fortune 500)all the time (not programming, so this will be just general advice). If you have someone that actually understands the topics ask the questions then it's easy to gauge someones knowledge. Hiring someone that knows what it is going on is important, but in my experience finding someone that has the right personalility is more so. Have your technical person narrow it down to like 3-4 potential canidates then have the hiring manager pick from those, remember that someone willing to do assigned tasks without arguement might be worth more than someone with a bit more experience but runs to HR 4x a week about minor things.

Re:Seriously? (1)

AssClown2520 (695423) | about 4 years ago | (#32928122)

Very well said. They need to have the basic skills, but personality and overall mesh into the company can't be overvalued.

Re:Seriously? (1)

ghostdoc (1235612) | about 4 years ago | (#32928148)

I'd agree with this completely, except for the fact that hiring managers suck at picking techies. And the 'questions' that get asked, if they're not technical, are pretty much irrelevant.

Technical competency is pretty much inverse to "team fit" as defined by a non-technical hiring manager. Introverted, awkward, geeky, bookish, maladjusted males are your prime territory here. These are not people who will shine at an interview where they have to be social or ask questions of a non-extremely-technical nature.

and someone willing to do assigned tasks without argument is a waste of space when the assigned tasks are incorrect. You *need* geeks who will stand up for themselves in this area.

More than just knowledge (1, Insightful)

fastmonkeywheels (1680638) | about 4 years ago | (#32927692)

While I understand your position, hiring good programmers takes more than just knowledge of their medium. Hire the top 3 as temporary employees to see how they fit with your company then after a few months let 2 of them go and keep the best. A good work ethic and honesty can only be measured by experience with the employee and not from a resume. To gauge their knowledge of the medium, show them what you're working on and see what kinds of questions they ask about it, that's a great way to gauge their experience.

Re:More than just knowledge (0)

Anonymous Coward | about 4 years ago | (#32927752)

Which is great until you factor in the non-trivial cost of hiring someone and paying them for those 2 months while you wait for them to flunk out. I can't think of a single company that's in the business of paying people they DON'T want to hire.

Re:More than just knowledge (2, Insightful)

NormalVisual (565491) | about 4 years ago | (#32927946)

Not to mention it's going to be tough finding someone willing to give up two months of their lives just for a working interview with no guarantee of further employment. Better be ready to pay consultant-level fees to those guys for those two months.

Re:More than just knowledge (1)

Anonymous Coward | about 4 years ago | (#32927892)

Depending on your market you will only guarentee mediocrity with this practice. Many good candidates do not apply for contract-to-hire positions.

Re:More than just knowledge (2, Insightful)

trevorrowe (689310) | about 4 years ago | (#32927916)

While hiring people on a temporary basis sounds like a good idea, it has some serious flaws. Hiring 3 temporary employees with the plan to axe 2 makes for a very stressful/hostile work environment. Only those potential employees with no other job opportunities/offers would even consider it (which is most likely the worst applicants). The list of bad aspects of this idea is longer.

Re:More than just knowledge (5, Insightful)

fmaresca (739871) | about 4 years ago | (#32927938)

A good work ethic and honesty ...

is not hiring two persons to drop them few months later.

Re:More than just knowledge (3, Insightful)

idiot900 (166952) | about 4 years ago | (#32928098)

If they are told up front their position is temporary, what's the problem?

why BNF? (5, Insightful)

Anonymous Coward | about 4 years ago | (#32927720)

Why BNF?

Re:why BNF? (-1, Flamebait)

Anonymous Coward | about 4 years ago | (#32927912)

I agree... Brown Nigger Farts seem to be waaay off topic and a little inappropriate at an interview.

Forget certification, look at some projects (2, Interesting)

petes_PoV (912422) | about 4 years ago | (#32927738)

Explain to the candidates what your requirements are then ask them to describe a piece of work they have completed which was comparable to that. Have them explain the issues involved, how they approached it what difficulties they had to overcome and what they would do differently in the future.

Since you're looking to recruit a number of people, I'd say that their ability to work together - personalities, maturity, compatibility are at least as important as skills and experience. So don't just pick the top X according to how they rank at interview, consider if you think they can work together as a team.

Re:Forget certification, look at some projects (1)

thijsh (910751) | about 4 years ago | (#32927940)

Yes, this is good advice. But the certificates are also an indication, but slightly the other way around. In my experience the *really* good programmers know they have no actual use for certificates and will actually be a little proud they have come so far without... and the ones who boast about all the different certificates they have acquired are not really worth the trouble. I guess people that know they won't be hired by their own merit alone try to compensate for this by getting a whole list of certifications.

Re:Forget certification, look at some projects (1)

qbel (1792064) | about 4 years ago | (#32927962)

Explain to the candidates what your requirements are then ask them to describe a piece of work they have completed which was comparable to that. Have them explain the issues involved, how they approached it what difficulties they had to overcome and what they would do differently in the future.

Since you're looking to recruit a number of people, I'd say that their ability to work together - personalities, maturity, compatibility are at least as important as skills and experience. So don't just pick the top X according to how they rank at interview, consider if you think they can work together as a team.

I like the second paragraph you had, making sure a team works well together is a huge part of it, but asking your candidates about a comparable project? I mean, on the one hand it is an amazing question because it forces the potential employee to relate and think, and their response will give you great insight into their thinking process, programming method, and give you the added bonus of seeing just how intimate they were in their previous projects.
On the otherhand, it smells like pump the potential for all the information you can get out of them before you decide whether you want to pay them -_- Which do you think it is more of, an assessment question or an pre-employee extraction question? And also, do you think that the person hiring will already be aware of the issues and approach-possibilities (thus allowing them to better gauge the person)?

Re:Forget certification, look at some projects (1)

SquareVoid (973740) | about 4 years ago | (#32928092)

Agree. And let me add this bit. Test them yourself! We had a run of really bad programmers until I wrote a test that shouldn't take more than an hour if you actually know what you applied for. Once implemented, I started seeing degree after degree and certification after certification stumble through the test. Some took 6 hours (seriously, after 2 hours, you should have left and saved everyone their time). It got so bad I started doubting my test and was in the process of making an easier version until a couple people actually completed it. We hired those who finished the test correctly and they have essentially ended our dry spell of under qualified candidates. Portfolios, and resumes can be inflated and lied on. And background checks help some, but there was one employee who gave us his friends from their old company who would lie for them. Testing them yourself is the best way to filter the unqualified.

Interview (1)

mandelbr0t (1015855) | about 4 years ago | (#32927742)

Generally I would have an interview with the applicants that seemed most qualified. It's the easiest way to see if someone is padding their resume or generally bullshitting. When the vacant look comes into their eyes as they spew forth buzzwords in answer to your technical questions, you know you've got a loser. If you can't separate the liars from the nerds in an interview, you have a real problem.

Also: do you need this person long-term? If not, I'd advise a contract with the person that uses more Agile methodologies, thus requiring more feedback from the developer, and less time between releases so you can see work being done. If the work starts to suck, at most you're out four weeks work, and you have everything from previous releases to give to a different developer. If you think you might want them long-term, perhaps a 6-12 month contract period as probation might be a good way to safely evaluate their work before committing to an expensive, long-term employment relationship.

Overall, I'd not worry so much about specific technologies. Zero exposure to LAMP would be bad, but a younger person who's willing to learn is cheaper and has something to prove. Just make sure your production environment is well-shielded from mistakes, and try to enforce some discipline on a younger developer. A more experienced developer will be well aware of the dev/test/prod environment, and generally make less mistakes, so the turn-around time will be less. However, experienced developers typically favor one technology over another based on their experience, so it might be harder to teach them new tricks, so to speak.

Portfolio. Previous work. certificates mean zit (4, Insightful)

unity100 (970058) | about 4 years ago | (#32927746)

there is no higher proof of competency and ability than proof of prior work. certificates are like school courses. everybody can take one if one attends the courses, or passes an exam. practicing in the field however, is an entirely different matter.

portfolio shows that you not only know your field, but also you have properly and responsibly participated in projects, collaborated, and actually built stuff with it, and saw them to their completion.

that is the kind of people you want to hire. and nothing than a portfolio shows it better.

Re:Portfolio. Previous work. certificates mean zit (2, Interesting)

Anonymous Coward | about 4 years ago | (#32927910)

How do I show my enterprise app that runs on Solaris and Oracle to another company? If it isn't a webapp, how do you truly show a portfolio?

To hell with papers (3, Insightful)

pak9rabid (1011935) | about 4 years ago | (#32927756)

You need to actually be testing their ability to write software. As a few others have pointed out, having them develop a simple web application as part of the interview process is probably going to be the best way to measure that ability.

Additionally, to test their integration skills, you could also have them attempt to develop a new page to be integrated into your company's product. Not only will this show off their software development skills, but will also give you some insight into their ability to inherit an existing software project and work with it (something that he vast majority of newly-hired developers will have to do).

Re:To hell with papers (0)

Anonymous Coward | about 4 years ago | (#32928170)

Seriously, do not recommend that someone build a 'new page' integrated into your product. It takes time to learn a company's existing design so no one is going to be able to do this in an interview and do it right except by pure chance.

how many NASA people were certified (1, Insightful)

Anonymous Coward | about 4 years ago | (#32927772)

when we went to the moon?

certification is a gigantic scam, so that PHBs can 'outsource' yet another job function while they collect huge paychecks for 'synergizing the optimal opportunity risk costs analysis paradigm and reduce opportunity costs while conforming with best practices metrics'. (ie, commit massive fraud, milk their good old boy network, and buy a golden parachute)

hooray for capitalism.

certs, (1, Insightful)

Anonymous Coward | about 4 years ago | (#32927774)

I take real production class skills or certifications any day. Know how to do something is one thing, actually making it work in the real world is another. I would be interested in what they have done and verify the work with the previous employers.

Forget certificates (2)

stanlyb (1839382) | about 4 years ago | (#32927786)

I was you, i would NEVER hire anyone with a certificate, NEVER. Obtaining a certificate is simply lost money, and lost time. Not mentioning the fact that every monkey with well designed short memory could remember a 2000 pages MS Server certificate Q&A, and become what? Monkey with MS Server certificate? And i am not joking, i really know such a people, who does not ever have a math degree, but who have a lot of "certificates".... Anyway, good look, you will need one.

Re:Forget certificates (1)

shadowrat (1069614) | about 4 years ago | (#32928184)

Wait a minute. You'd throw a candidate away on the basis of them HAVING a certification? Myself and several of my coworkers begrudgingly got MS certifications just so our employer can get cheap software. It was easy, we were paid some extra bonus money for it, and after all was said and done, i actually learned some things.

My certifications are a line item on my resume now. I don't really trumpet them, i like to stand on my actual project accomplishments, but i would like to think they don't bring me down.

If you interviewed me and asked me what my certification gives me, i'd say, "It proves that i am aware of certain obscure method signatures and command line arguments, but my work history proves i know how to use them and many more." I have no idea what you are looking for, but i imagine you would find me a capable developer.

As for having a math degree, well i appreciate you looking for someone with a math degree. I went to school for art, yet i'm awfully good at linear algebra, calc, geometry, and statistics.

This is pretty basic HR stuff (3, Insightful)

malraid (592373) | about 4 years ago | (#32927802)

First you define what you want:
Do you want technical certs? Then look for people with those.
Do you want people with academic background (data normalization, OOP, etc)? Then look for people with CS degree.
Do you want people with experience? Then look for people with relevant experience, and or do a practical test as suggested (which everyone can get their smart friend to do for them I'm sure)

Weight each one of the factors according to what he or she is supposed to be doing.
Systems analyst? Architecture design? Jr. code monkey? Overall hacker (jack of all trades, master of none)?

Then rank them in each factor. Most of those factores are qualitative more than quantitative by the way.

But sometimes, the best programmers are not the ones with the best qualifications, but the ones with the best fit into your business. 8 years php experience vs 4 years php experience IN YOUR INDUSTRY: I'll pick the 4 year experience guy.

Technical Interviews (2, Interesting)

eln (21727) | about 4 years ago | (#32927810)

If they have the right buzzwords on their resume, bring them in and ask them technical questions relevant to your environment. Then, throw in a few questions related to other technologies on their resume that aren't directly relevant to your environment just to see if they're the type of person who likes to puff up their resume by listing stuff they don't really know. You have to have at least a passing knowledge of the stuff you ask about, of course.

After you've established a baseline technical competency, ask them to solve a few simple programming problems to measure their problem solving ability. Doing them in PHP or Perl is obviously a bonus since you're dealing with LAMP, but pseudocode should be fine in a live interview type of situation. Don't judge things like missed semicolons too harshly, they're probably nervous. Concoct some basic scenarios dealing with the L or A part of the LAMP stack to judge their troubleshooting ability. Ask them for some SQL statements to pull certain data from a hypothetical database for the M part.

Interspersed throughout should be questions that judge how well they'll fit into your company culture and how easily they can learn new things or deal with new and unexpected situations. For these, concentrate on asking about past experiences of that type rather than asking canned hypotheticals that everyone has already seen on the Internet and knows how to answer.

A person's technical competence is not a reliable predictor of success. It's part of the equation, but his or her ability to learn and grow with the company, as well as the ability to fit in with your company culture, is much more important unless you're just looking for temporary contract labor.

Also, don't be afraid to ask your friendly neighborhood PHB. If he's taken any sort of business classes at all, and didn't spend the entire time Facebooking instead of paying attention, he should have plenty of insight on effective hiring.

Re:Technical Interviews (1)

bem (1977) | about 4 years ago | (#32927860)

If they have the right buzzwords on their resume...

Ugh, if they have buzzwords on their resume, shoot them.

Using buzzwords is a cover for lack of actual experience.

Re:Technical Interviews (1)

eln (21727) | about 4 years ago | (#32927882)

Sorry, I shouldn't have said buzzwords. I meant the right technical stuff like "Linux", "PHP", stuff like that. If they have stuff like "creating corporate synergies" then they should indeed be shot.

Re:Technical Interviews (2, Insightful)

Panaflex (13191) | about 4 years ago | (#32928128)

They may need those buzzwords or certificates to get past HR... don't be too harsh unless they really believe in those buzzwords!

You can't (2)

Rix (54095) | about 4 years ago | (#32927814)

That's what probation periods are for.

If you try to quantify it, you'll end up hiring people who are good at gaming your system. That's a skillset, I suppose, but probably not the one you're looking for.

Experience-based resumes preferred... (1)

stakovahflow (1660677) | about 4 years ago | (#32927828)

I'd say to either hire a consultant (consulting firm) or possibly look at Brainbench.com for certification & placement examinations. (Any testing is to be done on-site, in an allotted time-frame...) There may even be a service (such as Kelly services that would administer the testing, etc, for you). I'm in agreement with jvillain about the certifications, though. Just because someone is certified doesn't mean they're any good.

Look at the guys with an experience-based resume, not a certification/education-based resume. Some certs are good, but most good techs & programmers did something other than take a lame course, etc, in Visual Basic or "Web" programming. The best coders learned it because they had to.

I'd, personally, rather hire someone with no college/technical training that's been doing the work for the past 5-10 years, because he/she did it the hard way. That person learned it better, more thoroughly, and more completely. The benefit is they are more than likely still able to learn and work harder for you and your mission statement (I've seen this in quite a few cases).

Regardless, good luck!

--Stak

Test for knowledge of two things (1)

DJ Jones (997846) | about 4 years ago | (#32927834)

OOP techniques and security. The biggest benefit of LAMP is it's flexibility. You can literally weave 3 languages together in one page. That is also it's biggest downfall if people don't know how to structure a large application and use proper security techniques to prevent SQL injections and XXS attacks.

How about a small project? (1)

grasshoppa (657393) | about 4 years ago | (#32927840)

Define a small coding project, deliverables and all, and bring in each candidate to complete it as a pre-interview. Then call back those that did the best job.

Problem solved?

Have someone competent interview them. (4, Insightful)

jthill (303417) | about 4 years ago | (#32927848)

Skip the alphabet soup. Do you really have no one on staff capable of recognizing competence?

If you don't, who were you planning to have manage the new hires? Who were you planning to have interpret your metrics?

how you do it (0)

Anonymous Coward | about 4 years ago | (#32927850)

All right, candidate, here is a room with an internet connection, a MacBook, and, uh, a pitcher of water over there. In a couple of hours we'll be sending about 1000 connections per second your way so, uh, why don't you set up a secure registration form for a paywalled media site, really however you want, the content itself is just a dummy, what we want to see is how you keep track of the registration and authentication. Don't use any third-party solutions, do the actual coding. We'll look at security and performance. Good luck.

seriously, just do it this way and you won't be sorry.

Definitely ignore higher education and experience (0)

Anonymous Coward | about 4 years ago | (#32927856)

I have twenty years experience developing client-server applications and a bachelor's degree, yet every position I apply for I am either

  • Overqualified, due to the credentials above, or
  • Not qualified, because the position requires existing experience or certification with a specific tool, process, or product.

So, definitely ignore higher education and experience. Everyone else does!

By testing for it (1)

JamesP (688957) | about 4 years ago | (#32927858)

It's the only way

1 - ok they know PHP?! Ask them to write a simple function (whiteboard will do it), but you also can ask the to do 'homework' or set up a dev env. in a laptop

2 - same for MySQL, do they know how to write a select, do they know how to use PhpMyAdmin at least?

If they refuse to do it then go for difficult questions. If they won't answer, just send them home

Spend time working with them (1)

merlinokos (892352) | about 4 years ago | (#32927872)

Our devs find that the best ways to test skills is to have people sit down with them and work on whatever problem they're currently facing. It allows us to see adaptability, thought processes, keenness and experience.

develop a one hour test (1)

macbeth66 (204889) | about 4 years ago | (#32927876)

that you know demonstrates the ability to use the tools you have. It should be able to pull data from a DB, display it and accept data from the user and post it to the DB. Look for error handling and comments. What kind of naming conventions did he use. How crappy was his OOPs?

And, I would add a problem that could not be easily overcome. Maybe the DB UserID does not have update, just insert. How does he deal with adversity?

Finally, does he ask good quwestions and does he stick to the problem at hand?

Does he mind being referred to as a he when he is a she?

Have him or her set up one instance (0)

Anonymous Coward | about 4 years ago | (#32927888)

If they have any competency, you should easily discover it by having them set one up. Download Virtualbox and set up a few images (Ubuntu, Red Hat, FreeBSD, should only take a few hours while doing other things) and have them set one up. Apt, yum, port; you've basically got them covered, save for Solaris.

Now, if you don't know how it's actually done and you're trying to hire without having the competency yourself, then you've either got to get someone who has the competency to interview, or just guess like everybody else. I wish we all had a silver bullet for this stuff, but certifications in particular are not it, not when the companies providing them are paid to provide them.

Basic CS concepts? (1)

hellop2 (1271166) | about 4 years ago | (#32927898)

Give em a GRE practice test.

Chicken and Egg Problem... (1)

rockmuelle (575982) | about 4 years ago | (#32927922)

First off, throw all the resumes with certifications in the circular file. Seriously: that's the first sign they don't know what they're doing.

After that, you're back to the main problem of interviewing technical candidates. To do this successfully, you need at least one good technical person to participate in the interview. That person should be able to ask questions about experience and pose scenarios that probe the candidate's depth of knowledge. The interviewer also needs to be nimble enough to move between topics to gauge overall competency - the candidate may be weak in one area, but overall strong. If the interviewer only focuses on the weak area, you'll risk losing a good candidate.

For specific skills, it's also good to have a few technical questions with definite right answers. I prefer showing code and having them find bugs or telling me what the output is. I keep the code simple enough that a good person can spot the problem in a few minutes, but tricky enough that they may get it wrong with the first guess. That helps to see how they work through tougher problems. Language agnostic problems are best - e.g., problems that focus on control flow constructs common to most languages work well.

Anyway, good luck interviewing. It's tough to sort through all the noise, but there are good people out there.

-Chris

Re:Chicken and Egg Problem... (1)

JonJ (907502) | about 4 years ago | (#32928080)

First off, throw all the resumes with certifications in the circular file. Seriously: that's the first sign they don't know what they're doing.

This is complete and utter bullshit. My last boss had a boatload of certs and managed offices for ca. four countries almost singlehandedly, he would easily run circles around your sorry administrative ass all day long.

Self-rating, then ask questions (1)

BBTaeKwonDo (1540945) | about 4 years ago | (#32927924)

Here's what I've done:
  1. For each skill you require, have the candidate rank himself or herself on a scale of 1 to 6. Each step must have specific criteria. E.g., step 1 is "never heard of it", step 2 is "heard of it, haven't used it", step 3 is "used but would need a refresher before using again", step 4 is "Used a lot, still have a lot to learn", step 5 is "expert", step 6 is "have published or lectured articles on it". Can use more or fewer steps, but I think you get the idea. To save your time, this should be done before the interview.
  2. You can probably use this to filter out a lot of the candidates. People who lie will get caught in the next round.
  3. During the interview, ask specific technical questions based on the individual's self-ranking for that skill. You can pull the questions from Q&A forums, your own experience, etc. Probably want to ask 2-3 questions per skill, but you might need 10 or so questions with varying skill levels to ask the different candidates.

You should ask questions until you're confident that the person has answered their self-ranking accurately, but if you have to ask about more than 5 skills, you probably don't trust the person and you should end the interview.

I should add that technical skills are quickly obsolete, so unless you're hiring contractors, which you're apparently not, you shouldn't use skill in specific technologies as the primary criterion for hiring decisions. Ability to learn, people skills, and work ethic are much more important and harder to teach. Of course, if they have few technical skills, then their ability to learn may be low, so they're not exactly independent criteria.

Metrics are worthless (1)

qoncept (599709) | about 4 years ago | (#32927926)

I think you're looking in the wrong direction here. You've seen the resumes -- you know who is qualified. Maybe bring up a couple of technical questions to verify their qualificaitons. But the way my company interviews, you're not worried about that. You want to find the best worker. Our interviews are almost 100% "what would you do" or "how did you handle x." In my experience, it makes dealing with the people who do end up getting hired a whole lot easier.

Look for Good Architects (1, Interesting)

Anonymous Coward | about 4 years ago | (#32927936)

Bring them in and put them in front of a whiteboard. Discuss the project you need done and ask how they would approach it. They should be able to explain it and diagram it. This alone will show how far their compentencies go in each part of the lamp stack as well as OO and other key concepts.

buzzword bingo (1)

fwice (841569) | about 4 years ago | (#32927942)

Play buzzword bingo with the CV:

ie, find the 'resume term-of-the-week' and ask them about it: if the candidate can speak about it intelligibly, they know something about it, and increase the difficulty.

in the past, the big buzzword was Java. Now it tends to be Python.

I sit on the interview committee for my group. I look over all resumes of candidates I interview before they step into my office, so I know what's written and what they 'claim to' know. I'll ask questions, and if the candidate has something on there that cannot be explained or defended, that candidate just failed. I don't like people who add crap to resumes for no reason.

as far as the lamp testing goes:

Linux:
- installation [non-package] of the configure, make variety
- configuration files, where they sit, how to edit
- differences between etcpasswd and etcshadow, and why hashes only [not passwords] are stored and what salts are
- chroot jails

Apache:
- modules. explain
- apache conf
- virtual servers

MySQL:
- how to design a database [ie, here's a DB task. how would you solve/implement?]
- how do you [personally] send SQL commands to the server? the mysql command window, perl, php, python, etc. what hooks are you familiar with?
- pivot tables, one to many, many to one, foreign keys

Perl/Python/PHP: [preface: I am not a big user of Python]
- how would you implement [x data type] in Perl?
- External Perl Libraries -- how not to reinvent the wheel
- Why to use PHP? Why fully dynamic pages are not good in a high-traffic environment? Ways to have 'dynamic' pages generated while keeping the actual pages 'static'
- What resources do you consult? And how?

OOP/MVC:
- I ask implementation questions, and get the candidate talking. Someone proficient in OOP/MVC should be able to talk about the concepts easily without much prodding. Why, how, best practices, etc.

LAMP really? (-1)

Anonymous Coward | about 4 years ago | (#32927944)

I would think that anyone who was competent would avoid MySQL and PHP like the plauge.

Certification (1)

mwvdlee (775178) | about 4 years ago | (#32927970)

Speaking as somebody who just got a bunch of certifications in several areas to fill up the time during unemployment; certifications don't mean shit. Yes, they can get you hired more quickly, but they are no measurement of competence.

interview (1)

vbrtrmn (62760) | about 4 years ago | (#32927980)

Are you asking how to quantify someone's LAMP experience or are you asking how to interview someone for a programming position? Seems like the latter to me.

Are you qualified? (2, Interesting)

twistedfuck (166668) | about 4 years ago | (#32927982)

If you have to ask how to interview software engineers for competency, maybe you are not qualified to be interviewing software engineers.

Good experience is far more important than any certification. Wanna see if they can design and build software? Give them a problem that requires they outline a design and then have them code up specific pieces like DB table schema, table queries, classes, templates etc.

Certificates = blame allocation (1)

ghostdoc (1235612) | about 4 years ago | (#32927984)

If you get to the blame allocation phase of your project, and I really hope you don't, then that's when certificates come into their own.

You can come up with the most perfect slashdot-based system of determining LAMP competency, but when push comes to shove, what a manager wants to see is commercial certificates.

I know and you know that they don't mean shit, anyone can pass them. But they're official bits of paper which means they're *quantifiable* and *indisputable* which makes them gold.

So the question you should be asking is not 'how do I tell if they're competent'...but 'do I value competence when I could be fired if they fail the project?'

No-one got fired for buying IBM...plus ca change.

Ask questions... (1)

Panaflex (13191) | about 4 years ago | (#32927990)

I usually like to ask questions like:
How do you start/stop web server?
Where are the standard debug logs for web server, php/perl?
What's the difference between threads and processes?
If the average http connection lasts 1s, what is the maximum number of connections you can serve over 1 hour with a pool of 50 sockets?
Then I have them write a short piece of code in whatever common language they like for sorting.
Then I give them a basic mathematical equation and have them write the code to implement it.
Next I ask some common skill questions, such as what to check when there are no incoming users, debug common trace dumps/stack dumps, how to optimize SQL queries, and how would they mitigate/protect against hackers and other similar security questions.
Lastly I ask about how they feel about build it vs COTS, OSS software, bug fix management, tools they like to use, their favorite/worst projects and then have some open questions.

In other words, ask questions about the job they will do, get to know how they interact a bit, how deep are their skills, and what their hobbies are. If you've got the time, try doing a code review with them... mostly I'm looking at a basic skill comprehension, the ability to interact well with overs, the ability to defend a position or compromise, and how well the existing team feels.

BNF, OOP, etc... weeding people out. (1)

AnonymousClown (1788472) | about 4 years ago | (#32928010)

Why the acronyms? Are you really going to be using those concepts or are you just using them to weed people out?

When UML first came out, it was this HUGE thing with many IT managers. They wanted it in a candidate and they wanted 2+ years experience. As anyone who started out in OOP with designing and implementing without UML, we basically thought in the OOP language of our choice and designed and implemented from there: UML seemed redundant and overly complex - it was easier to design it in C++ or Java and then translate it to UML for the people who gave a shit about it and the designs came out better that way.

My point is that many folks may have years and year of experience and be very good at what they do but are not very familiar with "MVC" or any other models or acronyms or buzzwords that were created (usually by academics after the fact) BUT, they know the concepts intuitively. For example, when C++ first hit the market, we C programmers looked at it and thought, "OK, putting code into a structure with the data. I can see how that can tighten up development but it won't make anything better."

You want to weed people out? Do this. Grab the candidates that you like and then sit them down and ask them how they would implement something.

Anyone can memorize buzzwords and parrot them and sound like they know what they're doing.

Give them a test box (1)

casiowatchchick (1857704) | about 4 years ago | (#32928014)

Give them a test box and ask them to install Linux/BSD from ground up.

Ask them to install LAMP and configure the most efficient way as possible.

Make sure they work *very* hard like this guy [xeof.net] if the job involves round the clock work.

Talk to the people (0)

Anonymous Coward | about 4 years ago | (#32928020)

The desire to abstract metrics from what will ultimately be a person working for you is self-defeating. You will find out more about their capabilities and understanding through a 5 minute conversation than you will from hours of creating and applying metrics. Remember, you are looking to hire a person to be a programmer, not a programmer weighted down by watery flesh.

This isn't rocket science (1)

Animats (122034) | about 4 years ago | (#32928042)

PHP/MySQL web programming is a low-end job. So you want second-rate people who aren't totally incompetent. That stuff isn't rocket science.

You may be better off finding some people who will fit in well with your organization and have some interest in the business, and have done a little web development. They can learn PHP/MySQL in a month or two. They're likely to come up with something that makes business sense.

LAMP competency? Hire the bright ones... (1)

magbottle (929624) | about 4 years ago | (#32928044)

and let chips fall where they may.....

What certifications would those be? (0)

erroneus (253617) | about 4 years ago | (#32928054)

I know, commenters are supposed to answer the questions not pose new ones, but I am curious about what LAMP certifications you identified as established and well recognized?

I have been considering shifting gears lately and I know I can code and I focus on secure and error-free coding. But being able to prove I know what I know is pretty important in cases. I don't want to be someone's employee if I can avoid it and there are loads of opportunities in small to medium businesses who are looking to have their applications written in ways that are cost effective and stable. (seriously, sometimes Linux servers are too damned reliable. I have two deployments at different client sites that I haven't had anything to do with in like two+ years and they are still running strong without my help. I would love for them to run updates and such, but as these are internal servers not exposed to the internet it's not quite so critical anyway. A former employer's site is still running my servers unmodified/updated for about as long as well... oh well! It works well enough that they didn't need me any longer.)

Anyway, certs might be good to have. So which are the best to get?

You can't (1)

xednieht (1117791) | about 4 years ago | (#32928074)

Prior to employment you can only measure Potential. Actual competency can only be measured when they actually perform their jobs. Keep the good ones, cut the bad ones loose.

Ask them to speak about something they have done (1)

kikito (971480) | about 4 years ago | (#32928078)

Ask them to speak about some site they have done, and they are proud of.

See if they are able to a) Tell specifics about the implementation and b) Communicate them adequately.

One question I always ask... (5, Insightful)

tirk (655692) | about 4 years ago | (#32928104)

I've hired a couple programmers in the past and there is always one question I ask that I have found sorts out some of the better candidates. The question - "I've just requested you to do some task and you find you really haven't worked out that type of task in the past and aren't fully sure the best approach. What do you do?" The answer I'm looking for is basically they'll let me know that's a new area for them, but that they'll go out and find examples of that type of task and research it and find out how to make it happen. If they say anything along the lines of having me help them, or ask to go to a class, or anything along that line it will automatically set up red flags. And of course, just answering the question "correctly" doesn't automatically mean they are good at doing that, but you can dig deeper into how they'd research it, etc. I've been a programmer for over 25 years now and while there are certain core things that a computer can do and some it can't, the actual processing of it is what matters and it's nearly impossible for you to remember every little detail of every language and system, the real power is in knowing where to look to quickly get your answer. And as a final important talent, a person needs to be good at understanding and conversing specifications from someone that is not technical. Just my thoughts on what I've looked for....

"as well as basic computer science concepts" (5, Insightful)

FuckingNickName (1362625) | about 4 years ago | (#32928112)

as well as basic computer science concepts such as BNF, data normalization, OOP, MVC, etc.

Put 10 seasoned programmers in a room and, without access to references or preparation, ask them to write the BNF for some subset of a well-known language, normalise a database in stages up to 5th normal form, give a detailed description of OOP implementation in any language (not just "how is inheritance formed?" but "demonstrate polymorphic behaviour - suggest how it might have been implemented - describe its disadvantages" etc.) and ask them to fit some app description into MVC pattern.

You know what? Zero of them will succeed in all of your tasks. And, dear reader, if you claim that you will then you are lying.

You know why? Because testing like this doesn't reveal anything. I passed University with top grades throughout because I knew how to bone up for an exam and cough up the syllabus as requested, as well as having a moderately mathematical head. I can demonstrate prior performance and I can grasp new concepts. I can remind myself quickly of old concepts when given access to a reference.

But I don't have some magical savant-level ability to memorise everything I've ever done (and, experiments on savants suggest, if I did then I'd lack the skills to apply my elephantine knowledge to solving general commercial development problems). It's never hindered me. This sort of ability might be necessary if I were, say, a field intelligence agent(?), and not being able to concoct the right deception within a subsecond time interval might result in my death. Otherwise, it's just a dog and pony show.

How well have you memorized the manual... (0)

Anonymous Coward | about 4 years ago | (#32928160)

The most worthless of technical interviews. Absolutely meaningless because it doesn't address the true core competency necessary of a programmer - problem solving.

I write in a slew of languages, but I do more day-to-day in just one. It doesn't take anyone who has broad experience to jump between languages and platforms so the "manual memorization" interviews are worthless in these cases. A couple of general questions would be appropriate to check for padding, but a question like "name the 4 different values that property X can hold in language Z" is completely worthless (I actually got that question once) because that information is available within any decent IDE so memorization isn't required.

Knowing what you want to do in an application and designing the solution is the important part. I think too many technical interviews turn into massive "gotcha" sessions where the interviewer wants to look like a guru, when they have had plenty of time (and resources) to look up their own answers.

So, when I interview candidates, I ask them questions about solving problems while brushing up against technical details. This allows me to gauge how they think (or do they just type what are told), and if they understand the technology terms.

A good Java programmer who has done some PHP and can solve problems like a champ, for example, will quickly make the language transition, but may not answer correctly all the "gotcha" questions.

Hire a good thinker. The rest will take care of itself.

Conduct a 'presentation' interview. (1)

sherriw (794536) | about 4 years ago | (#32928188)

Ask the candidate to give a short presentation on a software project they worked on in the past. they can describe database design, frameworks used, reasoning behind programming environment choices etc. You'll get a good feel for their technical knowledge, grasp of a project and communication skills. Have someone in the interview who can throw technical Qs at them from time to time.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...