Re: Test for potential programmer
Daniel Pittman <[email protected]>
| Newsgroups | gmane.org.user-groups.slug.chat |
|---|---|
| Message-ID | <[email protected]> |
Ken Foskey <[email protected]> writes: > On Wed, 2009-12-02 at 16:52 -0800, Carlo Sogono wrote: >> What kinds of tests should I be giving people to measure their >> aptitude to become good programmers/problem solvers? >> >> I work in a really specialised field and it is actually better to hire >> someone who has experience in this field then train them to do a >> programming than hire a programmer to learn the business. >> >> Are IQ tests enough? Or should I be looking for something else? > > The coffee test: Describe the steps taken to make coffee for the team. > > You are not looking for a correct answer so much as the method that they > use to break down the solution and how they handle the pressure of > thinking on their feet. The question above can be just about anything > that the applicant is not expecting to answer. Unless I was hiring someone to make me coffee, I would prefer a practical example to a frivolous one; "so, the main server just died, what do you do?" or "so, you need to perform efficient matching of IP addresses against CIDR ranges; how do you do it?" Also, keep in mind that a bunch of those practical answers for programmers can quite legitimately be "no idea, read the manual" or "no idea, find the CPAN module that does it efficiently enough to meet the requirements", without being a sign that this is a bad choice. (In most cases; if your job requirement is *specifically* someone who can write clean-room code to perform efficient IP matching against CIDR ranges you probably don't like either of those answers. ;) > I would be looking for: > > a) Solutions outside the box, a good answer from outside the problem > domain means they can think. > > b) Step by step refinement of the problem > > c) How do they handle being pushed. eg there is no water on our floor > except the bathroom and using it is a health hazard. Watch for them > getting flustered and then recovering, how do they react. *nod* Keep in mind that you can give a very bad impression of the company and/or yourself if you push too hard, or are too aggressive here. Nothing annoys like an interviewer who says: ...OK, so a huge drought has removed all water from Australia, and there are no planes left. So, how do you find water now, buddy, huh? (Which, yes, actually has happened to a couple of people I know. :) [...] > Ask them to list some languages, ask them what are their strengths and > weaknesses. Perl great for parsing text, but can easily be write > once. C# C++ done right, tight hooks to Microsoft and .Net. I would be vary wary about this, other than to judge if someone has /thought/ about the issue: judging things based on the answer is risky, because they background may have given them good, supported opinions that are wildly different from your own. Pro tip: asking me "vi or emacs" in an interview makes you look like an ass, and is a very poor way to convince me that you are someone I want to work with. This generalizes reasonable well. :) > Ask them what they do at night. Reading is good they will have to do a > lot, computers web page development. If they mention something eg web > page ask them what html stands for and name some tags and write down how > to use them. Shows a willingness to go deeper than glossy tools. Truth be told, I have worked with enough excellent developers who this really was only a day job for that I would not trust this too far. It might be useful information, but I think it would be unwise to assume that "spends all free time on computers" is good, or "spends no free time on computers" is bad automatically. :) Daniel -- ✣ Daniel Pittman ✉ [email protected] ☎ +61 401 155 707 ♽ made with 100 percent post-consumer electrons -- SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/ Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html