[Chicago] Sanity Check
pfein at pobox.com
Thu Dec 2 09:12:43 CET 2010
Thanks for all the great responses. Wanted to clarify things a bit:
In all of the cases, this has been after one or more phone interviews,
always at least with a recruiter, and usually one or more developers.
The decent developer interviews have included questions that elicit how
I think/communicate: "how would you architect twitter?" "explain an
algorithm for finding all permutations of a string" and so forth. I like
those questions. My problem is with the take-home tests.
What irks me about the tests is the utter irrelevance to what the job
involves. They've mostly been the "write the most O(..) efficient
algorithm" for jobs that are largely Django & systems integration based.
All programmers are not the same - algorithm guys, refactoring guys,
language geeks, UX, API & idiom designers, detail nuts, testers, guys
who can write a spec from a shoestring, guys who can't write a line of
code without one. Not to mention all of the particular areas we work in:
webheads, distributed systems, scientific, machine learning, embedded,
devops, compilers. I could go on.
To try to determine quality amongst this diverse array by channeling
Dijkstra is inefficient at best, malicious at worst and probably just
plain foolish. Heck, many (most?) applicants are going to code up a
well-known solution to your well-known problem looked up on Google
(took me 2 searches) or from Rivest (right here under the monitor),
which is *exactly what you want* once the person's on the job. But I
can't legitimately do that when applying. Perverse.
As for weeding out early, I think that's exactly the goal - hiring
managers are overwhelmed by resumes. The obstacles they throw up are a
way of narrowing the pile down, but not necessarily in a rational way.
Heck, there's a job on the python.org board right now where you have to
solve some silly little puzzle to find the email address to apply to.
Gee, should I spend my time there or on the *three hundred twenty four*
When I've been on the hiring side, I've asked candidates for a code
sample of *their* choosing (OSS or otherwise), preferably that's run in
production. You can learn an amazing amount about a programmer by what
*they* think is their best work - what they're good at, how they
approach a problem, how well they know a language, how they structure
code, comments, tests, and so on. Y'know, all the things you'd care
about if you were actually working with them, that you'll never discover
in the fake environment of a contrived test.
On 12/01/2010 06:31 PM, Peter Fein wrote:
> Need to sanity check with a broader group... I've had a few phone
> interviews lately, which have been followed by demands for
> programming tests. I am THIS CLOSE: || to telling the next company
> that asks to shove off.
> The actual content of the tests has ranged from the trivially easy
> to straightforward but annoyingly difficult. The former at best
> indicate whether I'm totally lying about knowing the language at all.
> Most of the later have been ripped straight from Code Golf or a
> sophomore algorithms textbook. In no case has the test had anything
> discernible to do with the actual job. Being a person of integrity, I
> don't just go look up the answers.
> I'm particularly ticked off because:
> * I have ample open source code, which I've pointed people to. In
> fact, one company got in touch with me because THEY LIKED MY OSS
> CODE, then demanded I do a coding test anyway. * Some of the
> companies are startups, which have explicitly prided themselves on
> their low-bureaucracy/bullshit factor. Hypocrites.
> I've been coding in Python for eight bloody years already. Marketers
> don't take marketing tests, do they?
> Should I tell them to bugger off? Am I on crack?
> PS - I have a blog post on this and other frustrations titled: "IT
> Hiring: You're Doing it Wrong (or) The Author Sinks His Career
> Prospects for Fun and No Profit"
> _______________________________________________ Chicago mailing list
> Chicago at python.org http://mail.python.org/mailman/listinfo/chicago
More information about the Chicago