5 ms·
A lot of people would disagree with me about this. Take that as you may. To talk about the issue of an interviewee not being able to write out code with pencil
by geuis 18y ago
A lot of people would disagree with me about this. Take that as you may.
To talk about the issue of an interviewee not being able to write out code with pencil and paper: Do you paint with crayons?
If you are an amazing digital artist in Photoshop, say Burt Monroy for example, then you should be able to paint with crayons right? If you work for Lucasfilms as a top-tier 3D artist who works in Maya, shouldn't you be able to chip Michelangelo out of stone then?
What most NON-CODERS, which I am assuming includes you, do not realize is that a programmer's brain is wired to work in a certain environment. We have learned for years how to code in particular ways, whether via a straight text editor(Textpad for me!) or an integrated IDE(Eclipse or Visual Studio for example).
So you take someone who's already stressing about making a good impression during an interview and then ask them to write down code on a piece of paper. That's the absolute worst thing you can do. You're asking the person to use a different part of their brain to tackle a problem that hasn't been trained for that job.
Put the person in front of a computer, such as a laptop in the interview room put there for specifically this purpose, and THEN give them a problem to solve.
If the person still can't pull code out of their ass at this point, then you're right. They're morons. Otherwise, you will be surprised at what some of these people can do that you've looked over.
- rcoder 18y agoI think there are two potential skills being evaluated here. The first is whether someone can think about and write code without being in front of a computer. The second (and more valuable, IMHO) test is whether they can code without resorting to copying-and-pasting from a tutorial or forum thread.
- sosuke 18y agoIn more closed source languages like .NET you won't have the copy-paste problem nearly as much. In my time learning C# I found a great lack of freely available online resources with code snippets that worked in all situations as with PHP. Picking up PHP and making a site work was much much easier with the wealth of reference material that was around without costs associated with them. I would suggest that the copy-paste pitfall you mentioned depends largely on the language or platform that is being interviewed for. Writing code without being in front of a computer is different in that you don't expect your napkin application to run and you won't list include files or even real functions in outlining a potential plan, does this detract from the usefulness of the napkin? No I wouldn't think so as it gives your brain a predetermined map to try and follow when finding the real functions to use or loops to create when solving an outlined problem.
- edw519 18y agoInteresting point. For years I have had candidates code with pencil and paper and never had a single objection. The purpose of the coding exercise was never to see what they would come up with or how well it ran, it was to learn more about them in the discussion afterward. And I have found that this was best accomplished with a big sheet of paper and 2 pens, (one mine, one theirs). I imagine a white board would work as well, but for 2 people it's not necessary. I also found that they were more relaxed working off-line, where nothing could be judged or examined. It was just me and them and something specific to talk about. That's all.
- mechanical_fish 18y agoDo you paint with crayons? You need a better metaphor. I cannot imagine a painter who, when handed a crayon and told to draw something, couldn't at least produce a simple sketch. I just can't think of a single example.
- thorax 18y agoMaybe it's a bit like asking a cook to write down step-by-step, the recipe and directions for a meal they've never cooked before. Without access to their learned abilities to improvise with given ingredients, smelling/tasting the mixture, comparing notes with similar recipes they have, etc.
- rcoder 18y agoNope. Another miss. Good cooks can imagine flavors and guess at timing and ingredients for food they've never tasted (much less prepared) just as good painters can visualize a work in their head before ever putting brush to paper. Programmers should be able to work the same way.
- DougBTX 18y agoPerhaps asking them to create with crayons a picture that looks like it was painted. Asking someone to, say, draw out a quick flow chart on paper would be fine, but to get running code I'd want to be able to run it as I go.
- lr 18y agoIf you ask an F1 engineer to fix a bicycle with a crescent wrench, do you think he is going to be lost without his $250K set of tools? I don't think so. The blogger is not talking about major pieces of code, he's talking about fundamentals. So, yes, the programmer should be able to do it on paper. And I bet if you ask a Lucas Arts 3D artist to draw on paper a basic shape, he/she will blow you away with what they produce.
- Zak 18y agoIn addition to this, I suspect the interviewer would not object to minor errors in syntax, function names and the like if the code was fundamentally sane. The sort of problems he said he asked to have solved were trivial.
- mpk 18y agoYup, here's me disagreeing. I do interviews on occasion and I usually ask for some source on the whiteboard. Generally I only do that with people interviewing for junior positions, though. I usually ask for a quick implementation of the fibonacci algo in their favorite language. I also tell them that sloppy is OK - so brace placements, etc are not relevant. I hardly think it's too much to ask for a candidate to implement a simple, standard algo in their language of choice on paper/whiteboard. PHP programmers tend to do very poorly in this area, unless they are programmers who also do PHP. The problem to me seems to be that the PHP environment doesn't encourage experimentation with algorithms, data structures and low-level optimization. Add to that the more-or-less haphazard manner in which most PHP code is organized and you've got a scripter who'll freeze when asked to do a piece of mathematics on paper in their language. Also, most PHP programmers tend to be framework-users. And while using frameworks is good, using frameworks without automating elements of your problem domain (by creating your own little framework-on-a-framework) is generally bad because you end up repeating yourself a lot. PHP is not a bad language, but it's a very, very bad language to have as your sole programming experience.
- geuis 18y agoI want to respond to my own comment. After reading all of the responses I have to change my mind and agree with the precept of what the writer is saying. Hearing from the perspective of people who do interviews and hiring, they are right. It is a good filter of who is and is not an actual programmer. It makes me also ask the question, are people who use interpreted languages really programmers? The code I write is conceptually programming, but I don't think in terms of how its compiled, but rather how efficiently its interpreted and ran by the web server.
- anamax 18y agoPerhaps you can tell us the basis for your previous position. It sounds like you don't have experience with interviews or hiring, so what made you think that you knew what you were writing about?
- nazgulnarsil 18y agodid you look at the sample question? make a list, store stuff in it, then spit it back out in alphabetical order. a potential hire better be able to show me an approximation with a bowl of cheerios it's such a simple task.