[LRUG] Code samples: To do or not to do

Vahagn Hayrapetyan vahagnh at gmail.com
Mon Apr 6 16:14:48 PDT 2009


*Or, more on the programmer / recruiter communications gap.

(Or, the ruminations of a Danish programmer on the status of the programmer
in the world).*

I'd like to hear peeps' (gotta love that word) opinions about, and position
towards, sending code samples to potential recruiters with one's CV, by own
initiative and by request.

I am writing this because I am a state of being culturally and existentially
perplexed.

See, for the past couple of months I have been trying to get my CV across to
various UK recruiters. One thing those peeps have had in common is that they
almost all without exception would have liked to see some code samples by
yours truly.

This fascinating cross-cultural experience has raised some questions in my
mind; questions related to my very identity as a programmer in the
globalized, hyper-competitive world of 2009.
*
*1) Is it common for programmers / developers in the UK to attach code
samples with their CVs in order to heighten their chances of recruitment?
2) Should it be the norm for programmers / developers (regardless of
geography) to attach code samples with their CVs in order to heighten their
chances of recruitment?

My thoughts on 1):
In Denmark where I happen to be living now, "computer people" are considered
to be engineers. There's a certain amount of respect associated with that.
Engineers know their shit, or at least they should. Therefore, the only time
I was asked to provide code samples was by people who were researchers at
the University and were coding models of protein structures using dynamic
programming techniques to stimulate the behaviour of Markov chains, and
therefore were interested in knowing whether I was up to the task. In other
words, they were academically higher up the ladder than myself. Which is why
if I showed them my code samples, it wouldn't feel like I was trying to
impress the wrong persons (if you know what I mean).

In commercial situations, if a company wants to test you they give a
challenge. A challenge is a coding task that involves a more or less
abstract CompSci topic, and its hands-on implementation in a PL of choice.
(And I am happy to say that both times I had to solve one, I did well. The
first one was about recursive data structures and involved a cascading
top-down parser technique; the second was about using a hash table to go
from a list to a set. But I digress).

In UK on the other hand, it seems (correct me if I am wrong! This is a
culturally sensitive issue here) that the programmer is viewed more like a
clerk, but a special one; sort of a mechanical clerk (weirder and lower down
the food chain than the ordinary, boring clerk (Clericus Stolidus
Mediocris)). His / her job is to sit down at the desk day long and push
funny symbols into The Machine. Hence, every bozo that may not even have
University background has the moral right to request samples of those
"symbols" from the programmer.

One of the times I was asked for code samples it was justified like this: "I
don't need much, literally 2-3 lines of code to see whether it's rough
around the edges you know".

Which left me thinking: "Dude, if you can judge a programmer by a piece of
code that is 2-3 lines long then either A) your previous programmers must
have sucked bad or B) you need to be my University professor!!"

What else can you say to people like that? What about this: "Do you know the
difference between a line invariant and a visual invariant?" Or: "If I give
you a sample of Ruby code, would you be able to tell whether this is A) Ruby
with a Lisp accent or B) Ruby with a touch of C"?

(If negative, then who the hell are you to ask me for code samples???)

My thoughts on B):
Imagine someone walking into a restaurant, having a look at the menu, and
then saying: "I like the menu; now let me have a look around the kitchen to
have some samples of the ingredients you are using".

Now this comparison may seem a little over-stretched, but isn't the
situation similar to ours? We programmers cook up recipes / dishes (in
software) using the tools and ingredients (programming) that we learned.
Somebody, when they come in, have to decide whether or not they like the
menu. If they do, they place an order. If they don't, they *leave.
*
Asking to have a look around the kitchen is assuming that the layperson
knows more about the chef's profession than the chef, which is absurd in and
ot of itself. If someone behaved like this in a restaurant, he / she would
be stared at in much amazement. (And if it was a Gordon Ramsay restaurant,
they would be told to 66 75 63 6B* off).

Shoudn't the same unspoken standard of behaviour apply to programmers?
Shouldn't we be more snobbish about our intellectual production? Should we
by default send code samples with our CVs just in hope of just getting the
job, without knowing if the receiver has the credentials to properly judge
them?

I seldom write to this forum. When I do, I do so on topics that I believe
are important to a wide range of people represented here. If this topic of
this post is not relevant to you, I sincerely hope it has at least provided
some entertainment value.

Sincerely,
Vahagn
(a culturally fascinated global village programmer)

* HEX
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lrug.org/pipermail/chat-lrug.org/attachments/20090407/084a62e4/attachment.html>


More information about the Chat mailing list