I need to hire some Perl programmers to customize some of my products, and I'd like to use students from the local university. I don't need hot-shots, just sufficiently capable Perl programmers.
In order to determine a programmer's knowledge, without spending a lot of my time looking through their work product, I would like to conjur up a test, or better yet, find an existing test that indicates level of expertise.
Suggestions?
For example, is the test at BrainBench.com any good?
--lnl
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Perl Exam?
by cchampion (Curate) on Oct 20, 2003 at 13:04 UTC | |
This has been asked many times before. Do a Super Search for "interview" and you'll come out with many nodes like the following: | [reply] |
|
Re: Perl Exam?
by ptkdb (Monk) on Oct 20, 2003 at 15:35 UTC | |
Dead End QuestionsIf they can't answer any ONE of these, they're going to be more trouble than they're worth(YMMV).
| [reply] |
by artist (Parson) on Oct 20, 2003 at 16:57 UTC | |
Would you consider it mandatory to have explaination for the items that you use to be a good programmer for 'this' need? For example what if the candidate doesn't know exactly what is the purpose of 'use strict' but always uses it in the program to avoid any messages. Would you hire a programmer 1. having good practices ie.. using knowledge for programming advantage, or 2. expert in theory to which programmer may not be capable of converting it into practice. In my opinion many of the 'know how' is not readily transferable to information. But for human being it can be easily seen by someone having similar or better knowledge.
artist =================================================== Perl is fast.. So I spend more time doing fast things | [reply] |
by Juerd (Abbot) on Oct 21, 2003 at 07:18 UTC | |
How many Perl books do you own? Does this really matter? I own no Perl book, but I'm not Perl-ignorant. There is a lot of free on-line Perl documentation, and it is more than enough to become a good Perl coder. If owning a book means anything, then IMHO, it means that you don't like screen reading. And that's not positive: you better get used to reading the stuff on the screen, because that is where your code is going to be. Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' } | [reply] |
by ptkdb (Monk) on Oct 21, 2003 at 17:47 UTC | |
Does this really matter? I own no Perl book, but I'm not Perl-ignorant. Ignoring the issue of hardcopy versus onscreen(for now), I would ask this question as an indicator of professional commitment. However, in retrospect, I might not ask it on the hypothetical test because it's far too easy to lie about it, and judges historically have turned me down for the search warrant. | [reply] |
by adrianh (Chancellor) on Oct 21, 2003 at 21:45 UTC | |
by lnl (Pilgrim) on Oct 20, 2003 at 16:48 UTC | |
ptkdb- Yes, this is like what I had in mind. But I want to make it a written, multiple choice exam, so I don't have to sit there asking the questions or reading code. I'd rather assess other issues than technical ones when we are face-to-face. --lnl | [reply] |
by ptkdb (Monk) on Oct 20, 2003 at 18:45 UTC | |
If such a thing already exists on line, such as 'brainbench.com' it's probably going to cost some money to take it. Who's going pay? Any of the monks here could probably write a half decent test in probably under an hour, and then spend the next two weeks debating the merits of various questions. | [reply] |
|
Re: Perl Exam?
by jacques (Priest) on Oct 20, 2003 at 13:18 UTC | |
| [reply] |
|
Re: Perl Exam?
by Abigail-II (Bishop) on Oct 20, 2003 at 14:41 UTC | |
I don't need hot-shots, just sufficiently capable Perl programmers.I guess that says it all. What's 'sufficiently' capable is very subjective. For most of the jobs I've had, if I were to hire a sufficiently capable Perl programmer, it would have be fine if (s)he had not even heard of the Web. But I can imagine for many jobs, not knowing Web basics doesn't classify one as "sufficiently capable". Abigail | [reply] |
|
Re: Perl Exam?
by tilly (Archbishop) on Oct 20, 2003 at 18:39 UTC | |
I want to hire cheap talent. I don't want skilled people, just peons who can do as I say and not cost a bundle.That may be unfair, but it is what I heard. And if the shoe doesn't fit, then please rest assured that there are many employers for whom it does. Here is my answer. A classic problem that management has is underestimating how much they are wasting in the long run by making short-term decisions. While a cheap programmer can get the job done, it won't be done as reliably or as fast as a good programmer would do, and having been done shoddily, further modifications will be likely to cost you more down the road. (Although to be fair, it is hard for most employers to tell good programmers from bad ones...) But if you want to take this path, then brainbench probably is what you are looking for. I took their Perl test a few years ago on a lark. Based on that I would say that someone who manages to pass that test without cheating probably does know Perl. However a lot of what is tested is probably going to be irrelevant to you. If you have far more candidates than you need, and are willing to weed them down to technically capable ones on a somewhat arbitrary criteria, that will likely do it. It won't tell you anything about that person's work habits, what they know of good software practice, or how you will get along with them. You know that. My experience is that it doesn't take much looking through code that a person wrote to tell a good programmer pretty quickly that person's general skill level, and also something about what that person knows of good software practice. Of course that requires a good programmer, which is kind of a chicken and egg problem. | [reply] |
by rsmah (Scribe) on Oct 21, 2003 at 07:22 UTC | |
Too often, education and experience show a very small part of the picture. When giving simple tests, I've seen people with impressive resumes fall *way* short. To the point that I am truely frightened. This is not true of just finding developers who know perl, but also Java (perhaps more so), C++, and even sysadmins. The sad fact is that the majority of people currently employed doing technical work simply walk through work in a deep dark haze. They try this, that and the other thing, until it sort of works, not knowing why. They copy and crib (not that that's always bad) without understanding what they're copying (that's bad, IMO). I don't believe this is isolated to technical professions, it is true of here too. You have to realize that most management types simply do not have the skills and knowledge base to make reasonable assessements of a programmers skill level. For those people, tests are the only way they can assess how well a person knows a given skill. Should a perl interview test be hard? Of course not. It should stupid simple. The kind of test where if someone misses a few questions you have to seriouslly consider that they either a) lied or b) have brain damage. The kind of test you could pass by skimming an intro book to perl the day before the exam. Sad fact is that I'll bet more than half of the people you interview won't pass such a stupid simple test. Such is life. | [reply] |
by tilly (Archbishop) on Oct 21, 2003 at 15:13 UTC | |
I'll bet that the failure rate is closer to 2/3 than 1/2. Question 1 at (OT) Interview questions -- your response? is based on a conversation that Ovid and I had where I described an interview question that I actually use. (Ovid translated it into pseudocode, and omitted the statement that each array can be assumed to only have unique elements.) I generally ask that question in Perl, and stand ready to explain any language construct that the other person doesn't understand. I further walk them through a 3-part question, first is to describe what it does, second is to figure out the performance, and then third is to come up with an approach (code not required) to solve the scalability problem. About 2/3 of people I have interviewed (all purportedly experienced programmers, etc, etc) fail that test. No halfway competent programmer of my experience (tested on friends, co-workers, etc) has found it hard. (Several have been puzzled about where the challenge is supposed to be.) Knowledge of Perl does not appear to make much of a difference, even though I give the question in Perl. And here we come to what I consider a critical point. I think that Perl experience only really matters if you want someone to hit the ground running in a very Perl-specific environment. If you use a mix of languages, then while you might like Perl, you don't necessarily want to insist on it. Looking for that is somewhat harder. Incidentally for perspective on why companies find hiring the right person so hard, read Anne Learns To Recruit. :-) | [reply] |
|
Re: Perl Exam?
by scrottie (Scribe) on Oct 21, 2003 at 08:05 UTC | |
If you were hiring a gardener, would you would find someone acceptable who doesn't know the difference between annuals and perenials? If you were hiring a bank security guard, would you waive the drug test so that you could save a dollar an hour off their pay? If you were hiring a grade school teacher, would you neglect a background check for sexual misconduct? If you were hiring an electrician, would you pick up some guy on the street corner who graduated high school changed flourescent bulbs before? No, you wouldn't, not unless you're very short-sighted, negligent, irresponsible, or stupid. Some attitudes towards computer programmers: I've seen it again and again - someone who should know better hires the wrong guy (or even the right guy) because they find some kid who fits their stereotype of the computer genious. Good vibes all around, everyone is excited about the project. After a month or two of no apparent progress or a few prototypes that don't look like what you want, things start to get tense. You start to doubt your guy because you have lingering doubts about your ability to pick someone. You know you could be being taken advantage of, so you strugle every day with the question of whether this kid is taking advantage of you. You turn up the heat on him, demanding more and faster, to keep him from getting away scot free with bilking you. Eventually, he quits for a better job, or you cancel the project or more often, fire him and bring in someone younger, leaner, and cheaper, and repeat the whole progress even more spectacularly. Meanwhile, consultants don't feel like they can tell you how error prone and grueling and exacting the software development process is because they don't want to be labeled a hack and they don't want to ruin the good vibe that each project starts out with. If you're at the doctors with horrible pains, you don't dismiss him for an intern if he says that he will have to do surgery and it will cost a lot and there will be a long recovery. People have serious control issues when it comes to programmers - they don't understand the process, but they don't understand exactly how little they understand the process (see the bullet list of dillusions above), so they tug on the reigns when they should be staying the heck out of it. Yes, I'm getting around to an answer to your question. I just needed to post some background to the problem first, since the scope of the problem seems to have been missed. The solution is (if you haven't guessed) is to: On the first point, someone who is active in the community, has gone through college and studied advanced topics while they were there, has their name spread all over the Internet when you search google for it, and/or was already writing software before going to school is what you're after. This is a better test than some quiz in some ways, but people lie and play the system, so a good minimum compentency test is helpful too. Brainbench is too easy to cheat on. Reading part of perlfaq (perldoc.org) and quizzing them from that verbally should do the trick. After you find this person and put them to work, leave them alone. Get a second opinion from a trusted source if you must - and more people should do this far more often - but don't harrass them out of fear or boredom. Perhaps I'm overly cynical, but I've seen far more mismanagement, aborted efforts, amaturely written code leaving a time bomb that always goes off sooner or later, and time and energy wasted on politics, power plays, and second guessing. I hope this helps. I'm sure there are other good suggestions in other notes in here - this doesn't attempt to second guess them. -scott | [reply] |
| A reply falls below the community's threshold of quality. You may see it by logging in. | |