Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This question already has an answer here:

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?

share|improve this question
    
@MichaelT A whiteboard exercise and pseudo coding a function are two entirely different things... –  Robbie Dee May 3 '13 at 23:29
    
1  
pencil and paper, primitive devices that nobody uses anymore? you seem to have some "interesting" views –  Jubbat May 4 '13 at 1:07
1  
@Jubbat it seems that I suck at comedy as much as I do at answering paper tests. I just realized that this site's theme is a paper with scribbles, so it appears that I am alone in this after all. –  JayPea May 4 '13 at 2:39
2  
Did you tell them how you felt doing the test? That you knew what was wrong, but couldn't think of the fix because the situation they put you in (graphite marks on paper) made you extremely nervous (something which tends to feed on itself). I participate in job interviews as an interviewer and evaluate candidates' test results. When someone bodges a test or does less well than expected, knowing what was going on with that person helps to assess how that would affect performance given that we know a lot more about they day to day goings on. –  Marjan Venema May 4 '13 at 9:58
show 2 more comments

marked as duplicate by MichaelT, gnat, Bart van Ingen Schenau, Jim G., Martijn Pieters May 4 '13 at 23:20

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3 Answers

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.

share|improve this answer
    
I used to program on paper at college, but that was 8 years ago. Since then I've only touched paper for writing down grocery lists. The problem was not the lack of intelli-sense, I didn't have trouble remembering the syntax. I think I would probably have done a lot better had I used a notepad app. It's like trying to play piano when you've only used keyboards, you feel like you should be doing it properly, but it just feels too unfamiliar. –  JayPea May 4 '13 at 2:09
    
so you were just not prepared. happens all the time. so you need to practice. also its good to know they do this in reality –  fido9dido May 4 '13 at 13:10
add comment

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.

share|improve this answer
    
Probably because if you can install what you want, it means you have access to the internet. Which means you can just Google the answer. –  Izkata May 4 '13 at 18:04
add comment

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.

share|improve this answer
5  
Actually an interview should demonstrate both. –  Jimmy Hoffa May 4 '13 at 0:14
    
One by definition defines the other. The point I'm making is that the test should be designed to demonstrate a set of skills - not just one... –  Robbie Dee May 4 '13 at 0:39
1  
@Robbie Dee: I think that writing a solution on paper tests your ability at problem solving and at abstract thinking: you do not need a computer to write down a 5-line solution, and having a computer would not help you write it down if you do not understand what you are writing. Maybe having a compiler available would allow a trial-and-error approach where the candidate gets a working solution without really understanding why it works. –  Giorgio May 4 '13 at 8:33
    
@Giorgio Sorry, I'm missing your point... –  Robbie Dee May 4 '13 at 12:40
    
@Robbie Dee: What I mean is that solving a small programming exercise like the Fibonacci function with pencil and paper can help to see if the candidate really understood the problem (and can use recursion). If the candidate has a computer and a compiler available they can try a few implementations until they get a working one (possibly by chance). So using pencil and paper is a more accurate test of the candidate's real capabilities. On the other hand, I agree with you that there should many different questions and testing a candidate only on a specific task or knowledge is not accurate. –  Giorgio May 4 '13 at 13:31
show 1 more comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.