<b>Or, more on the programmer / recruiter communications gap.<br><br>(Or, the ruminations of a Danish programmer on the status of the programmer in the world).</b><br><br>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.<br>
<br>I am writing this because I am a state of being culturally and existentially perplexed. <br><br>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. <br>
<br>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.<br><b><br></b>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?<br>
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?<br><br>My thoughts on 1):<br>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).<br>
<br>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).<br>
<br>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. <br>
<br>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". <br><br>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!!"<br>
<br>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"?<br>
<br>(If negative, then who the hell are you to ask me for code samples???)<br><br>My thoughts on B):<br>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". <br>
<br>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 <b>leave.<br>
</b><br>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).<br>
<br>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?<br>
<br>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.<br>
<br>Sincerely,<br>Vahagn<br>(a culturally fascinated global village programmer)<br><br>* HEX<br><br> <br><br>