Re: Test for potential programmer
Carlo Sogono <[email protected]>
| Newsgroups | gmane.org.user-groups.slug.chat |
|---|---|
| Message-ID | <[email protected]> |
Thanks for all your replies. I mentioned earlier that I would like to hire someone with no IT background and measure their aptitude for becoming good programmers. I suppose I need to explain what the role is exactly. I work for Qantas and I'm looking to fill a systems analyst position with an aviation with an edge in law/legal stuff to learn a very high level programming language to work with aviation rules and regulations (both international and local). As you might assume, it is probably easier to hire someone with something like a law degree to learn programming....than train a computer science graduate in law!! So all my candidates will have ZERO programming experience and will not have a clue on who Knuth would be. Piers is correct. Our priority is for the candidate to have the correct attitude towards technology in general. He/she has to be interested in learning more about IT and programming. The second most important would be his aptitude for it. I'm trying to look for a way to measure whether this person has enough aptitude to solve programming problems. Carlo On Dec 3, 12:44 pm, Daniel Pittman <[email protected]> wrote: > Carlo Sogono <[email protected]> writes: > > What kinds of tests should I be giving people to measure their > > aptitude to become good programmers/problem solvers? > > There isn't one. Given many years of experience interviewing and hiring > programmings and systems admin staff, I assure you that there is no single, > widely applicable, useful test that you can use for this. > > What you /can/ do is apply *specific* tests to people: > > Ask them detailed, technical questions appropriate to the level of knowledge > they claim for languages, tools or techniques. This will weed out people who > transform "I saw a C++ book once" and claim to be experts on C++. > > Ask them to write some code in the language they will be working with in front > of you, so they can't cheat. Use a whiteboard, or pen-and-paper, for this. > Make sure that it isn't complete junk. > > This weeds out the people who claim to be programmers, but can't actually > manage correct syntax, or recall anything about the language at all. > > > 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. > > I assume you are speaking form past experience, where you have done both of > these things, and judged the results over *multiple* people in both cases.[1] > > Otherwise, this sounds like a dangerous assumption to me; generally, my > experience is that you are better off hiring the best people regardless of > background, provided they can do the job. > > > Are IQ tests enough? > > Absolutely, under no circumstances, let yourself be fooled into thinking these > show you anything except the most basic anything, and keep in mind that they > are almost all heavily culturally biased. > > Certainly, they are useless for the traits you are looking for. > > > Or should I be looking for something else? > > Yes: look for personal recommendations, and people who maintain a good public > presence on the Internet. Both of those give you insight into the character > and abilities of the people you are looking to hire. > > Review code that people have written previously[2], or other works they have > created. Ensure these show actual skill and talent before you bring them in. > > Look for claims like "I contributed significant code to GNU Grep", which you > can actually check for factual accuracy[3], and then check them. Which is > educational. :) > > Mostly, though, personal recommendation is the way you want to hire. You get > a much, much harder judge between you and the candidate[4], from someone with > extensive personal knowledge of the candidate, and from someone with extensive > knowledge of the business. > > Daniel > > Footnotes: > [1] To reduce the chances that, for example, you just got two dud > programmers, but one or two really sharp non-programmers, for example. > > [2] I doubt that non-programmers can be trained to write code better than > *good* programmers can be trained in a new language / business, although > a good non-programmer is going to be better than a bad programmer. > > [3] ...and, as a hint to those people who have sent me resumés with claims > like this before: yes, I /do/ actually check that. GNU keep good > records, so either your contribution was so insignificant they didn't > need to record it, or predates records kept back to the '80s.[5] > > [4] ...well, unless you have employed someone who is rather an idiot, and is > willing to make themselves look awful by recommending someone who can't > do the job. > > [5] ...and one day I hope to actually get a resumé that claims this, and > where the name of the person /does/ show up in the changelogs. > > -- > ✣ 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 -- SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/ Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html