I've been interviewing programmers, and I thought it would be handy to write down some of the questions that have yielded the most interesting and helpful answers. Here's my Top Five Questions to ask someone who's applying for a PHP programming job:
1. How did you learn PHP?
If the answer is something like, "I took a class at college," we've got a problem. If the answer is, "I took three classes at college," it's even worse. The person who learned it working on a contract project, late at night, reading a hundred different websites and books -- that's the one who's going to be able to learn the next language they'll need. Or learn how to use the crazy API that one of our partners releases. Or learn how that stupid old legacy code works.
What websites did they use? What books? It doesn't even matter what the answers are, really, as long as they have answers.
2. How would you write a web-based tool that would give me all the cities within a specified distance of a certain zip code or city? (Then...) How would you make it better? What would version 2.0 be like?
I want to see what data structures they're thinking about. What technologies are the comfortable with? Do they consider login and user managment? How would this tool use cookies? Can they think of ways to get the source data they'll need? Do they consider that many users may be international?
Just for fun, if anyone mentions XML, I'd ask some very pointed questions about that. It's a buzzword, and people tend to throw it in because they think it sounds good. I want to know what concrete benefits XML (or any other specific technology) would bring to this project.
3. What was your least favorite job?
This is a good one to let people talk on and on about. For some reason, programmers just don't know when to stop. And pretty quick, many people will reveal details that really show what they're like to work with. If a candidate tells me, for instance, that he hated that one company was always sending around memos with ridiculous policies and requiring everyone to read them -- I've got to worry a bit.
4. What's the coolest project you've ever worked on?
They'll try to turn everything into this, so make sure it was genuinely cool. I like to ask technical follow-up questions to this one, to see if they really understand every aspect of it.
5. What other companies are you applying at?
There is a wrong answer to this question. That is any restaurant, retail store, or just 'none.' The answer to this question should be a list of my competitors, or at least some local, related companies. Where I happen to be right now, there are tons of comparable technology companies, and some significantly bigger. If somebody's applying here and not there, I have to wonder why. Have they already been rejected there? Did they just stumble across us because we posted in right place? A serious programmer looking for a job ought to be applying at a host of companies in the area.
I view this question as a good indicator of a candidate's individual drive and work ethic. If they're not working hard now, why would they work hard once they have a secure job and comfortable place?
I'd be interested to know what anyone else thinks of these questions. Comments are open!
Comments (1)
Nice interview questions, Tom. I think it can also be good to ask what blogs they read (hopefully it's not "none") and if they participate in any community groups like the Utah PHP User's group, etc.
Posted by Richard K Miller | February 17, 2006 6:08 PM
Posted on February 17, 2006 18:08