So I went to a job interview today. Long story short, the interviewers were delighted with my knowledge and experience, they were practically showing me to my new desk. Needless to say, what delighted them was a factual and unexaggerated description of things that I’ve actually worked on. But then suddenly, as I was getting ready to leave, one of the interviewers says to me: “Well, I know that this is probably too easy for someone with your experience, but because of protocol, we need you to complete a simple test”.
No problem I thought… After this I get handed a piece of paper, a pencil (seriously wtf? who uses these primitive devices anymore?) and instructions telling me to code a function returning a Fibonacci number and another doing that with recursion. God I hate math.
I distinctly remember doing this precise exercise on 3rd semester of college. I probably nailed it back then, but not so much today. It took me about 40 minutes and I got close, but the functions didn’t work. Ironically, I knew exactly why they were wrong and what erroneous result was being returned, but I just couldn’t figure out how to fix them. Something about having to scratch graphite marks off a paper, just made me really, really nervous. Or perhaps it’s that I’m self-conscious about having my math skills evaluated. I can’t calculate a tip with a waiter watching because I’m slow with numbers, and it makes me feel embarrassed.
All of this got me thinking about this Coding Horror article. Apparently, 199 out of 200 applicants pretend to know how to code, but actually can’t. I think there’s something else going on here. I mean, none of you are going to hire me, I’ve no reason to lie to you when I tell you that I’ve coded much more complex things. And yet I couldn’t code a simple function, not under those conditions. Has anyone else experienced this?
9
is this the first time in your life to program on paper??
well in my university they force us to program on paper in final exams…
well writing code in paper is the same if you wrote it on IDE. i see it only demonstrates that you can write the code yourself without any help (they say that they want to test if we understand the concept or not) and they probably want to check how many mistakes you are going to do in this code.
2
When faced with the dreaded ‘program on paper’ phase of an interview, I often ask something along the lines of “Can you set me up with an Ubuntu machine running in a VM where I can install {perl, Python, PHP, whatever} and {eacs, vim, yadda, yadda}? You can return to a snapshotted state when I am done.
No one has ever responded with a yes.
1
All the time! I’ve done one test which consisted entirely of math questions – mainly fractions. I know historically, us coders have had a mathematical bent but do I really have to know how to calculate a root function using an exponential?
Another interview was a SQL paper. And when I say paper, I mean paper – it had a series of about 10 questions which had hand-written working and previous candidate’s guesses on it. I could have dealt with the raw questions, but all the other hand written stuff just threw me for some reason.
If an interview result is based on a single question, they’ve failed not only you but themselves. A test should demonstrate what you can do, not what you can’t.
6